1 | DIFROMSI ;SCISC/DCL-EDE IN ;3:19 PM 16 Nov 2001
|
---|
2 | ;;22.0;VA FileMan;**94**;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | FPRE(DIFRFILE,DIFRFLG,DIFRNAME,DIFRSA) ;
|
---|
5 | G FPRE^DIFROMSC
|
---|
6 | EPRE(DIFRFILE,DIFRIEN,DIFRFLG,DIFRNAME,DIFRSA,DIFROIEN) ;
|
---|
7 | I '$D(DIQUIET) N DIQUIET S DIQUIET=1
|
---|
8 | I '$D(DIFM) N DIFM S DIFM=1
|
---|
9 | I $G(U)'="^"!($G(DT)'>0)!($G(DTIME)'>0)!('$D(DUZ)) D DT^DICRW
|
---|
10 | N DIOVRD S DIOVRD=1
|
---|
11 | N DIFRRDA,DIFRX
|
---|
12 | S DIFRFILE=$G(DIFRFILE) S:DIFRFILE'>0 DIFRFILE=$G(XPDFIL)
|
---|
13 | I DIFRFILE'>0 D BLD^DIALOG(9521) Q
|
---|
14 | S DIFRIEN=$G(DIFRIEN) S:DIFRIEN'>0 DIFRIEN=$G(DA)
|
---|
15 | I DIFRIEN'>0 D BLD^DIALOG(9522) Q
|
---|
16 | S DIFROIEN=$G(DIFROIEN) S:DIFROIEN'>0 DIFROIEN=$G(OLDA)
|
---|
17 | I DIFROIEN'>0 D BLD^DIALOG(9523) Q
|
---|
18 | I $G(DIFRNAME)="" D BLD^DIALOG(9524) Q
|
---|
19 | I $G(DIFRSA)="" S DIFRSA=$NA(^XTMP("XPDI",DIFRNAME,"KRN"))
|
---|
20 | S DIFRRDA=$$CREF^DIQGU($$ROOT^DIQGU(DIFRFILE)_DIFRIEN)
|
---|
21 | S DIFRX=$P(@DIFRRDA@(0),"^")
|
---|
22 | G:DIFRFILE=.84 DIALOG
|
---|
23 | ;
|
---|
24 | ; preserve security codes if template/form is not new
|
---|
25 | I $G(DIFRFLG)'["N",DIFRFILE'=.5 D
|
---|
26 | .N X,Y
|
---|
27 | .S Y=@DIFRRDA@(0)
|
---|
28 | .S X=@DIFRSA@(DIFRFILE,DIFROIEN,0),$P(X,U,3)=$P(Y,U,3),$P(X,U,6)=$P(Y,U,6),^(0)=X
|
---|
29 | .Q
|
---|
30 | ;
|
---|
31 | I DIFRFILE'=.403 K @DIFRRDA
|
---|
32 | E D
|
---|
33 | .Q:$G(DIFRFLG)["N"
|
---|
34 | .N DA,DIC,DIK,DINUM,X,Y,DO
|
---|
35 | .S DIK="^DIST(.403,",DA=DIFRIEN
|
---|
36 | .D ^DIK
|
---|
37 | .S DIC="^DIST(.403,",DIC(0)="LX",X=DIFRX,DINUM=DIFRIEN
|
---|
38 | .D FILE^DICN
|
---|
39 | .Q
|
---|
40 | I DIFRFILE=.403 D
|
---|
41 | .N DIFRA0,DIFRA1,DIFRA2,DIFRJ,DIFRL,DIFRP,DIFRX,DIFRY
|
---|
42 | .S DIFRJ=0
|
---|
43 | .F S DIFRJ=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ)) Q:'DIFRJ I $D(^(DIFRJ,0)) S DIFRP=$P(^(0),"^",2) D
|
---|
44 | ..S:DIFRP]"" DIFRP=$O(^DIST(.404,"B",DIFRP,0))
|
---|
45 | ..S:DIFRP $P(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,0),"^",2)=DIFRP
|
---|
46 | ..S DIFRL=0
|
---|
47 | ..F S DIFRL=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,DIFRL)) Q:'DIFRL S DIFRA0=$G(^(DIFRL,0)),DIFRP=$P(DIFRA0,"^") I DIFRP]"" D
|
---|
48 | ...S DIFRP=$O(^DIST(.404,"B",DIFRP,0)) I DIFRP D
|
---|
49 | ....S $P(DIFRA0,"^")=DIFRP,@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK",DIFRP,0)=DIFRA0
|
---|
50 | ....N DIFRX
|
---|
51 | ....S DIFRX=0
|
---|
52 | ....F S DIFRX=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,DIFRL,DIFRX)) Q:DIFRX="" S @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK",DIFRP,DIFRX)=^(DIFRX)
|
---|
53 | ....Q
|
---|
54 | ...Q
|
---|
55 | ..S DIFRA0=$G(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,0))
|
---|
56 | ..Q:DIFRA0=""
|
---|
57 | ..K @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40)
|
---|
58 | ..S (DIFRA1,DIFRA2)=0
|
---|
59 | ..S DIFRL=0
|
---|
60 | ..F S DIFRL=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK",DIFRL)) Q:'DIFRL S @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,DIFRL,0)=^(DIFRL,0),DIFRA1=DIFRL,DIFRA2=DIFRA2+1 D
|
---|
61 | ...N DIFRX
|
---|
62 | ...S DIFRX=0
|
---|
63 | ...F S DIFRX=$O(@DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK",DIFRL,DIFRX)) Q:DIFRX="" S @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,DIFRL,DIFRX)=^(DIFRX)
|
---|
64 | ...Q
|
---|
65 | ..S $P(DIFRA0,"^",3,4)=DIFRA1_"^"_DIFRA2
|
---|
66 | ..S @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,40,0)=DIFRA0
|
---|
67 | ..K @DIFRSA@(DIFRFILE,DIFROIEN,40,DIFRJ,"BLK")
|
---|
68 | ..Q
|
---|
69 | .Q
|
---|
70 | Q
|
---|
71 | DIALOG N DIFRF,DIFRX
|
---|
72 | S DIFRF=$P(@DIFRSA@(DIFRFILE,DIFROIEN,0),"^",4)
|
---|
73 | I DIFRF]"" D
|
---|
74 | .S DIFRF=$O(^DIC(9.4,"B",DIFRF,0)) I DIFRF,$O(^(DIFRF)) D S DIFRF=""
|
---|
75 | ..N DIFRERR S DIFRERR(1)=DIFRF,DIFRERR(2)=DIFRIEN
|
---|
76 | ..D BLD^DIALOG(9525,.DIFRERR)
|
---|
77 | ..Q
|
---|
78 | .S $P(@DIFRSA@(DIFRFILE,DIFROIEN,0),"^",4)=DIFRF
|
---|
79 | F DIFRX=1,2,3,5,6 K @DIFRRDA@(DIFRX)
|
---|
80 | Q
|
---|
81 | EPOST(DIFRFILE,DIFRIEN,DIFRFLG,DIFRNAME,DIFRSA) ;
|
---|
82 | I '$D(DIQUIET) N DIQUIET S DIQUIET=1
|
---|
83 | I '$D(DIFM) N DIFM S DIFM=1
|
---|
84 | I $G(U)'="^"!($G(DT)'>0)!($G(DTIME)'>0)!('$D(DUZ)) D DT^DICRW
|
---|
85 | N DIOVRD S DIOVRD=1
|
---|
86 | I '$G(DIFRFILE)!('$G(DIFRIEN)) Q
|
---|
87 | I $G(DIFRNAME)="" Q
|
---|
88 | S:$G(DIFRSA)']"" DIFRSA=$NA(^XTMP("XPDI",DIFRNAME))
|
---|
89 | N DA,DIFR,DIFR3,DIFROU,DIK,DMAX,DNM,X,Y,Z,DIFRTN
|
---|
90 | S DIK=$$ROOT^DILFD(DIFRFILE),DA=DIFRIEN
|
---|
91 | D IX1^DIK
|
---|
92 | I DIFRFILE=.403,DIFRIEN D ENGRP^DDSZ(DIFRIEN) Q
|
---|
93 | S DIFR=$S(DIFRFILE=.4:"DIPT",DIFRFILE=.402:"DIE",1:"")
|
---|
94 | Q:DIFR=""
|
---|
95 | I ^DD("VERSION")>17.4,'$D(DISYS) D OS^DII
|
---|
96 | E S DISYS=^DD("OS")
|
---|
97 | I '$D(^DD("OS",DISYS,"ZS")) D BLD^DIALOG(9526) Q
|
---|
98 | S Y=DIFRIEN
|
---|
99 | I $D(@("^"_DIFR_"(Y,""ROU"")")) K ^("ROU") I $D(^("ROUOLD")) S (DIFROU,X)=^("ROUOLD"),DIFRTN=$P(^(0),"^") D:X]""
|
---|
100 | .N %X,DIR,DMAX,X,Y,DIFRZTA
|
---|
101 | .S DIFR3="DI"_$E(DIFR,3)_"Z"
|
---|
102 | .I $$VAL^DIFROMSS(DIFRFILE,DIFRIEN) D Q
|
---|
103 | ..D @("EN2^"_DIFR3_"(DIFRIEN,"""",DIFROU,"""",""DIFRZTA"")")
|
---|
104 | ..I $D(DIFRZTA) M @DIFRSA@(DIFR3,DIFRIEN)=DIFRZTA
|
---|
105 | ..S @DIFRSA@(DIFR3,DIFRIEN)=DIFROU
|
---|
106 | ..Q
|
---|
107 | .N DIFRTT,DIFRERR S DIFRTT=$S(DIFRFILE=.4:"PRINT",1:"INPUT")
|
---|
108 | .S DIFRERR(1)=DIFRTT,DIFRERR(2)=DIFRTN
|
---|
109 | .D BLD^DIALOG(9528,.DIFRERR)
|
---|
110 | .Q
|
---|
111 | Q
|
---|
112 | FPOST ;
|
---|
113 | G FPOST^DIFROMSC
|
---|
114 | EXIT I $G(DIFRMSGR)]"" D CALLOUT^DIEFU(DIFRMSGR)
|
---|
115 | Q
|
---|