1 | DIEFU ;SF/DPC-FILER UTILITIES ;1:56 PM 25 May 2001
|
---|
2 | ;;22.0;VA FileMan;**85**;Mar 30, 1999
|
---|
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 DTNOLF^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,"FMNPRSTXEeI") 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,DIEFCNOD,DOREPL
|
---|
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
|
---|