Annotation of freem_fileman/DIEFU.m, revision 1.1

1.1     ! snw         1: DIEFU  ;SF/DPC-FILER UTILITIES ;11/25/94  11:24
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4: INIZE  ;
        !             5:        N %,X,%H,DIE,DICS,DIC,%DT,DIK,%Y,%X,%D,%M,%I
        !             6:        D DT^DICRW
        !             7:        D CLEAN
        !             8:        Q
        !             9: CLEAN  ;
        !            10:        K DIRUT,DIROUT,DUOUT,DTOUT
        !            11:        K ^TMP("DIERR",$J),^TMP("DIMSG",$J),^TMP("DIHELP",$J)
        !            12:        K DIERR,DIHELP,DIMSG
        !            13:        Q
        !            14:        ;
        !            15: CALLOUT(DIOUTAR)       ;
        !            16:        I '$$VROOT(DIOUTAR) Q
        !            17:        I $D(DIERR) D
        !            18:        . S @DIOUTAR@("DIERR")=DIERR
        !            19:        . M @DIOUTAR@("DIERR")=^TMP("DIERR",$J)
        !            20:        . K ^TMP("DIERR",$J)
        !            21:        . Q
        !            22:        I $D(DIHELP) D
        !            23:        . S @DIOUTAR@("DIHELP")=DIHELP
        !            24:        . M @DIOUTAR@("DIHELP")=^TMP("DIHELP",$J)
        !            25:        . K ^TMP("DIHELP",$J)
        !            26:        . Q
        !            27:        I $D(DIMSG) D
        !            28:        . S @DIOUTAR@("DIMSG")=DIMSG
        !            29:        . M @DIOUTAR@("DIMSG")=^TMP("DIMSG",$J)
        !            30:        . K ^TMP("DIMSG",$J)
        !            31:        . Q
        !            32:        Q
        !            33:        ;
        !            34: IEN(DIEFDA)    ;
        !            35: IENX   ;
        !            36:        I '$D(DIEFDA) Q 0
        !            37:        N I,DIEFIEN S (I,DIEFIEN)="",DIEFDA(0)=$G(DIEFDA)
        !            38:        F  S I=$O(DIEFDA(I)) Q:I=""  S DIEFIEN=DIEFIEN_DIEFDA(I)_","
        !            39:        K DIEFDA(0)
        !            40:        Q DIEFIEN
        !            41:        ;
        !            42: DA(DAIEN,DATARG)       ;
        !            43: DAX    ;
        !            44:        K DATARG N I
        !            45:        F I=1:1:$L(DAIEN,",")-1 S DATARG(I-1)=$P(DAIEN,",",I)
        !            46:        I $D(DATARG(0)) S DATARG=DATARG(0) K DATARG(0)
        !            47:        Q
        !            48:        ;
        !            49: VROOT(DIEFAR)  ;
        !            50:        I DIEFAR'["(" Q 1
        !            51:        I $E(DIEFAR,$L(DIEFAR))=")",$F(DIEFAR,")")>($F(DIEFAR,"(")+1) Q 1
        !            52:        D BLD^DIALOG(202,"array root")
        !            53:        Q 0
        !            54:        ;
        !            55: VFILE(F,FLAG)  ;
        !            56: VFILEX ;
        !            57:        I $P($G(^DD(F,.01,0)),U,2)]"",$P(^(0),U,2)'["W" Q 1
        !            58:        I $G(FLAG)["D" N P S P("FILE")=F D BLD^DIALOG(401,.P,.P)
        !            59:        Q 0
        !            60:        ;
        !            61: VENTRY(DIEFF,DIEFIEN,DIEFFLG)  ;
        !            62:        N DIEFROOT,DIEFDA
        !            63:        S DIEFFLG=$G(DIEFFLG),DIEFDA=$P(DIEFIEN,",")
        !            64:        S DIEFROOT=$$ROOT^DIQGU(DIEFF,DIEFIEN,1,$S(DIEFFLG["D":1,1:0)) Q:DIEFROOT="" 0
        !            65:        I $P($G(@DIEFROOT@(DIEFDA,0)),"^",1)="" D  Q 0
        !            66:        . I DIEFFLG["D" N DIEFP S DIEFP("FILE")=DIEFF,DIEFP("IENS")=DIEFIEN D BLD^DIALOG(601,"",.DIEFP)
        !            67:        I DIEFFLG["9" Q:'$$VMINUS9(DIEFF,DIEFIEN,DIEFFLG) 0
        !            68:        Q 1
        !            69:        ;
        !            70: VMINUS9(DIEFF,DIEFIEN,DIEFFLG) ;
        !            71:        N DIEFTOP,DIEFROOT S DIEFFLG=$G(DIEFFLG)
        !            72:        S DIEFTOP=$P(DIEFIEN,",",$L(DIEFIEN,",")-1),DIEFROOT=$$ROOT^DIQGU($$FNO^DILIBF(DIEFF),.DIEFTOP,1,$S(DIEFFLG["D":1,1:0))
        !            73:        Q:DIEFROOT="" 0
        !            74:        I $D(@DIEFROOT@(DIEFTOP,-9)) D  Q 0
        !            75:        . I DIEFFLG["D" N DIEFP S DIEFP("FILE")=DIEFF,DIEFP("IENS")=DIEFIEN D BLD^DIALOG(602,"",.DIEFP)
        !            76:        Q 1
        !            77:        ;
        !            78: CHKFLD(DIEFF,DIEFFLD)  ;
        !            79:        I DIEFFLD'=+DIEFFLD S DIEFFLD=$$FLDNUM^DIEF1(DIEFF,DIEFFLD) Q:'DIEFFLD 0
        !            80:        I '$$VFIELD(DIEFF,DIEFFLD,"D") Q 0
        !            81:        Q DIEFFLD
        !            82:        ;
        !            83: VFIELD(F,FLD,FLAG)     ;
        !            84: VFIELDX        ;
        !            85:        I $D(^DD(F,FLD)) Q 1
        !            86:        I $G(FLAG)["D" N P S (P(1),P("FIELD"))=FLD,P("FILE")=F D BLD^DIALOG(501,.P,.P)
        !            87:        Q 0
        !            88:        ;
        !            89: DT(DIEFDT,DIEFX,DIEFY,DIEFDT0,DIOUTAR) ;
        !            90: DTX    ;
        !            91:        I '$D(DIQUIET) N DIQUIET S DIQUIET=1
        !            92:        I '$D(DIFM) N DIFM S DIFM=1 D INIZE
        !            93:        N %DT,X,Y
        !            94:        S DIEFDT=$G(DIEFDT)
        !            95:        I $G(DIEFX)="" D BLD^DIALOG(202,"date being converted") G DTOUT
        !            96:        I '$$VERFLG^DIEFU(DIEFDT,"FNPRSTXEe") G DTOUT
        !            97:        I DIEFX?."?" D DT^DIEH1(DIEFDT) S DIEFY=-1 G DTOUT
        !            98:        S %DT=DIEFDT,X=DIEFX S:$G(DIEFDT0)]"" %DT(0)=DIEFDT0 D ^%DT S DIEFY=Y
        !            99:        I DIEFY=-1 D:DIEFDT'["e"  G DTOUT
        !           100:        . N DIEFP
        !           101:        . S DIEFP(1)=DIEFX,DIEFP(2)="date/time"
        !           102:        . D BLD^DIALOG(330,.DIEFP,.DIEFP)
        !           103:        I DIEFDT["E" D DD^%DT S DIEFY(0)=Y
        !           104: DTOUT  I $G(DIOUTAR)]"" D CALLOUT^DIEFU(DIOUTAR)
        !           105:        Q
        !           106:        ;
        !           107: VERFLG(FLG,GDFLGS)     ;
        !           108:        N EI
        !           109:        S EI=$TR(FLG,GDFLGS,"")
        !           110:        I EI="" Q 1
        !           111:        D BLD^DIALOG(301,EI,EI)
        !           112:        Q 0
        !           113:        ;
        !           114: XA(DIEFF,DIEFIEN,DIEFFLD,DIEFNVAL,DIEFOVAL)    ;
        !           115:        N DA
        !           116:        S DIEFNVAL=$G(DIEFNVAL),DIEFOVAL=$G(DIEFOVAL)
        !           117:        Q:DIEFNVAL=DIEFOVAL
        !           118:        D DA(DIEFIEN,.DA)
        !           119:        D XRFAUD^DIEF
        !           120:        Q
        !           121:        ;
        !           122: FILENM(F)      ;
        !           123:        N NM
        !           124:        S NM=$P($G(^DIC($$FNO^DILIBF(F),0)),U)
        !           125:        ;I NM="" <DO ERROR>
        !           126:        Q NM
        !           127:        ;
        !           128: FLDNM(F,FLD)   ;
        !           129:        N NM,UP
        !           130:        S NM=$P($G(^DD(F,FLD,0)),U,1)
        !           131:        F  S UP=$G(^DD(F,0,"UP")) Q:'UP  D
        !           132:        . S NM=NM_" in "_$P($G(^DD(F,0)),U,1)
        !           133:        . S F=UP
        !           134:        . Q
        !           135:        ;I NM="" <DO ERROR>
        !           136:        Q NM

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>