Annotation of freem_fileman/DIEFU.m, revision 1.1.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>