1 | DIFROMSU ;SCISC/DCL-DIFROM SERVER BUILD "FIA" SUBSCRIPTS IN TRANSPORT ARRAY ;6/2/96 18:48
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | FIA(DIFRFILE,DIFRFLG,DIFRPFL,DIFRTAR,DIFR222,DIFR223,DIFRDSCR,DIFRVER,DIFRMSGR) ;
|
---|
5 | ;FILE,FLAGS,PARTIAL_FILE_LIST,TARGET_ARRAY_ROOT,ANSWERS,DD_SCREEN,DATA_SCREEN,VERSION,MSG_ARRAY
|
---|
6 | I '$D(DIQUIET) N DIQUIET S DIQUIET=1
|
---|
7 | I '$D(DIFM) N DIFM S DIFM=1
|
---|
8 | I $G(U)'="^"!($G(DT)'>0)!($G(DTIME)'>0)!('$D(DUZ)) D DT^DICRW
|
---|
9 | N DIFRFD,DIFRFE,DIFRX,FIELD,FIELDNR,DIFRTA,DIFRP,DIFR00
|
---|
10 | S DIFRTA=$NA(@DIFRTAR@("FIA"))
|
---|
11 | I $G(DIFRFILE)'>0 D BLD^DIALOG(9542) Q
|
---|
12 | I '$D(^DIC(DIFRFILE)) D BLD^DIALOG(9539,DIFRFILE) Q
|
---|
13 | I $P($G(DIFR222),"^",3)'="p" G F
|
---|
14 | I $G(DIFRPFL)']"" G F
|
---|
15 | I $D(@DIFRPFL)'>9 G F
|
---|
16 | G F:$O(@DIFRPFL@(0))'>0
|
---|
17 | N DIFRDDC,DIFRFLDC,DIFRTMP
|
---|
18 | K ^TMP("FIA",$J)
|
---|
19 | S DIFRDDC=0,DIFRTMP=$NA(^TMP("FIA",$J))
|
---|
20 | M @DIFRTMP=@DIFRPFL
|
---|
21 | F S DIFRDDC=$O(@DIFRTMP@(DIFRFILE,DIFRDDC)) Q:DIFRDDC'>0 D
|
---|
22 | .I '$D(^DD(DIFRDDC)) K @DIFRTMP@(DIFRFILE,DIFRDDC) D BLD^DIALOG(9540,DIFRDDC) Q
|
---|
23 | .I '$O(@DIFRTMP@(DIFRFILE,DIFRDDC,0)) D Q
|
---|
24 | ..Q:@DIFRTMP@(DIFRFILE,DIFRDDC)="SUB"
|
---|
25 | ..D SB^DIFROMSS(DIFRDDC,"W",$NA(@DIFRTMP@(DIFRFILE)),"SUB")
|
---|
26 | ..Q
|
---|
27 | .S DIFRFLDC=0
|
---|
28 | .F S DIFRFLDC=$O(@DIFRTMP@(DIFRFILE,DIFRDDC,DIFRFLDC)) Q:DIFRFLDC'>0 D
|
---|
29 | ..I '$D(^DD(DIFRDDC,DIFRFLDC,0)) K @DIFRTMP@(DIFRFILE,DIFRDDC,DIFRFLDC) D Q
|
---|
30 | ...N DIFRX S DIFRX(1)=DIFRFLDC,DIFRX(2)=DIFRDDC
|
---|
31 | ...D BLD^DIALOG(9541,.DIFRX)
|
---|
32 | ...Q
|
---|
33 | ..I $P(^DD(DIFRDDC,DIFRFLDC,0),"^",2) S DIFRX=$P(^DD(+$P(^(0),"^",2),.01,0),"^",2) D
|
---|
34 | ...I DIFRX["W" S @DIFRTMP@(DIFRFILE,+$P(^DD(DIFRDDC,DIFRFLDC,0),"^",2))=0 Q
|
---|
35 | ...K @DIFRTMP@(DIFRFILE,DIFRDDC,DIFRFLDC)
|
---|
36 | ...Q
|
---|
37 | ..Q
|
---|
38 | .Q
|
---|
39 | ;
|
---|
40 | M @DIFRTA@(DIFRFILE)=@DIFRTMP@(DIFRFILE)
|
---|
41 | K @DIFRTMP
|
---|
42 | ;
|
---|
43 | I $D(@DIFRTA@(DIFRFILE,DIFRFILE))=1 G F
|
---|
44 | S @DIFRTA@(DIFRFILE,DIFRFILE)=1,DIFRFE=DIFRFILE
|
---|
45 | ;F S DIFRFE=$O(@DIFRTA@(DIFRFILE,DIFRFE)) Q:DIFRFE'>0 S:$P(^DD(DIFRFE,.01,0),"^",2)'["W" @DIFRTA@(DIFRFILE,DIFRFE,.01)=0
|
---|
46 | F S DIFRFE=$O(@DIFRTA@(DIFRFILE,DIFRFE)) Q:DIFRFE'>0 D
|
---|
47 | .S @DIFRTA@(DIFRFILE,DIFRFE)=$D(@DIFRTA@(DIFRFILE,DIFRFE))>9
|
---|
48 | .N DIFRX,DIFRY
|
---|
49 | .S DIFRY=$$UP^DIQGU(DIFRFE,.DIFRX)
|
---|
50 | .Q:'$D(DIFRX)
|
---|
51 | .;K DIFRX($O(DIFRX(""))) <<REMOVED IN PATCH 10>>
|
---|
52 | .M @DIFRTAR@("UP",DIFRFILE,DIFRFE)=DIFRX
|
---|
53 | .Q
|
---|
54 | S DIFRFE=DIFRFILE
|
---|
55 | F S DIFRFE=$O(@DIFRTA@(DIFRFILE,DIFRFE)) Q:DIFRFE'>0 D:'^(DIFRFE)!($D(@DIFRTA@(DIFRFILE,DIFRFE,.01)))
|
---|
56 | .Q:'$D(^DD(DIFRFE,0,"UP"))
|
---|
57 | .N DIFRUP,DIFRFLD
|
---|
58 | .S DIFRUP=^DD(DIFRFE,0,"UP"),DIFRFLD=$O(^DD(DIFRUP,"SB",DIFRFE,0))
|
---|
59 | .Q:$G(@DIFRTA@(DIFRFILE,DIFRUP))=0!($D(@DIFRTA@(DIFRFILE,DIFRUP,DIFRFLD)))
|
---|
60 | .S @DIFRTA@(DIFRFILE,DIFRUP,DIFRFLD)=""
|
---|
61 | .Q:$D(@DIFRTA@(DIFRFILE,DIFRUP))#2
|
---|
62 | .S @DIFRTA@(DIFRFILE,DIFRUP)=1
|
---|
63 | .Q
|
---|
64 | ;
|
---|
65 | G G
|
---|
66 | F S @DIFRTA@(DIFRFILE,DIFRFILE)=0,DIFRFE=0
|
---|
67 | S:$P(DIFR222,"^",3)'="f" $P(DIFR222,"^",3)="f"
|
---|
68 | E F S DIFRFE=$O(@DIFRTA@(DIFRFILE,DIFRFE)) Q:DIFRFE'>0 D
|
---|
69 | .S DIFRFD=0
|
---|
70 | .F S DIFRFD=$O(^DD(DIFRFE,"SB",DIFRFD)) Q:DIFRFD'>0 S @DIFRTA@(DIFRFILE,DIFRFD)=0
|
---|
71 | .Q
|
---|
72 | G S @DIFRTA@(DIFRFILE)=$P(^DIC(DIFRFILE,0),"^")
|
---|
73 | S (DIFR00,@DIFRTA@(DIFRFILE,0))=^DIC(DIFRFILE,0,"GL")
|
---|
74 | S @DIFRTA@(DIFRFILE,0,0)=$P(@(DIFR00_"0)"),"^",2)
|
---|
75 | S @DIFRTA@(DIFRFILE,0,1)=$G(DIFR222)
|
---|
76 | S @DIFRTA@(DIFRFILE,0,10)=$G(DIFR223)
|
---|
77 | S @DIFRTA@(DIFRFILE,0,11)=$G(DIFRDSCR)
|
---|
78 | S @DIFRTA@(DIFRFILE,0,"RLRO")=$$ROOT($P(DIFR222,"^",6))
|
---|
79 | I $G(DIFRVER)]"" S @DIFRTA@(DIFRFILE,0,"VR")=DIFRVER
|
---|
80 | FE I $G(DIFRMSGR)]"" D CALLOUT^DIEFU(DIFRMSGR)
|
---|
81 | Q
|
---|
82 | ;
|
---|
83 | ERR501(DIFRFILE,DIFRFLD) ; 501 Errors
|
---|
84 | N DIFRERRX
|
---|
85 | S DIFRERRX("FILE")=DIFRFILE,DIFRERRX(1)=DIFRFLD
|
---|
86 | D BLD^DIALOG(501,.DIFRERRX)
|
---|
87 | Q
|
---|
88 | ROOT(IEN) ;Create root from DIBT(ien
|
---|
89 | ;
|
---|
90 | I $G(IEN)>0,$D(^DIBT(IEN,1))>9 Q "^DIBT("_IEN_",1)"
|
---|
91 | I $G(IEN)]"" S IEN=$O(^DIBT("F"_DIFRFILE,IEN,"")) Q:IEN>0 $$ROOT(IEN)
|
---|
92 | Q ""
|
---|