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>