1 | DDGFSV ;SFISC/MKO- SAVE DATA ;12:41 PM 29 Mar 1995
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | SAVE ;Save in form/block files data in DDGFREF
|
---|
5 | N P,B,F,P1,B1,F1,N
|
---|
6 | ;
|
---|
7 | I '$G(DDGFCHG) D MSG^DDGF("Nothing to save.") H 1 D MSG^DDGF() Q
|
---|
8 | D MSG^DDGF("Saving data ...")
|
---|
9 | ;
|
---|
10 | ;Loop through all pages in DDGFREF
|
---|
11 | S P="" F S P=$O(@DDGFREF@("F",P)) Q:P="" D PG
|
---|
12 | ;
|
---|
13 | D MSG^DDGF("Data saved.") H 1 D MSG^DDGF()
|
---|
14 | S DDGFCHG=0
|
---|
15 | Q
|
---|
16 | ;
|
---|
17 | PG ;Save page data
|
---|
18 | S P1=@DDGFREF@("F",P)
|
---|
19 | I $P(P1,U,7),$D(^DIST(.403,+DDGFFM,40,P,0))#2 D
|
---|
20 | . S N=^DIST(.403,+DDGFFM,40,P,0)
|
---|
21 | . S $P(N,U,3)=$P(P1,U)+1_","_($P(P1,U,2)+1)
|
---|
22 | . S $P(N,U,6,7)=$S($P(P1,U,3)="":U,1:1_U_($P(P1,U,3)+1)_","_($P(P1,U,4)+1))
|
---|
23 | . S ^DIST(.403,+DDGFFM,40,P,0)=$$STPU(N)
|
---|
24 | . ;
|
---|
25 | . S N=$G(^DIST(.403,+DDGFFM,40,P,1))
|
---|
26 | . I $P(N,U)'=$P(P1,U,5) D
|
---|
27 | .. S DIE="^DIST(.403,"_+DDGFFM_",40,"
|
---|
28 | .. S DR="7////"_$P(P1,U,5),DA(1)=+DDGFFM,DA=P
|
---|
29 | .. N P D ^DIE K DIE,DR,DA
|
---|
30 | ;
|
---|
31 | ;Loop through all blocks
|
---|
32 | S B="" F S B=$O(@DDGFREF@("F",P,B)) Q:B="" D BK
|
---|
33 | Q
|
---|
34 | ;
|
---|
35 | BK ;Save block data
|
---|
36 | S B1=@DDGFREF@("F",P,B)
|
---|
37 | I $P(B1,U,5),$D(^DIST(.403,+DDGFFM,40,P,40,B,0))#2 D
|
---|
38 | . S $P(^DIST(.403,+DDGFFM,40,P,40,B,0),U,3)=$P(B1,U)-$P(P1,U)+1_","_($P(B1,U,2)-$P(P1,U,2)+1)
|
---|
39 | . I $P(^DIST(.404,B,0),U)'=$P(B1,U,4) D
|
---|
40 | .. S DIE="^DIST(.404,",DR=".01////"_$P(B1,U,4),DA=B
|
---|
41 | .. N B,P D ^DIE K DIE,DR,DA
|
---|
42 | ;
|
---|
43 | ;Loop through all fields
|
---|
44 | S F="" F S F=$O(@DDGFREF@("F",P,B,F)) Q:F="" D FD
|
---|
45 | Q
|
---|
46 | ;
|
---|
47 | FD ;Save field data
|
---|
48 | S F1=@DDGFREF@("F",P,B,F)
|
---|
49 | I $P(F1,U,9),$D(^DIST(.404,B,40,F,0))#2 D
|
---|
50 | . S N=""
|
---|
51 | . S $P(N,U,1,2)=$S($P(F1,U,8):$S($P(F1,U,5)]""&($P(F1,U,6)]""):$P(F1,U,5)-$P(B1,U)+1_","_($P(F1,U,6)-$P(B1,U,2)+1),1:"")_U_$P(F1,U,8),1:U)
|
---|
52 | . S $P(N,U,3,4)=$S($L($P(F1,U,4)):$S($P(F1,U)]""&($P(F1,U,2)]""):$P(F1,U)-$P(B1,U)+1_","_($P(F1,U,2)-$P(B1,U,2)+1),1:"")_U_$S($P(F1,U,4)?.E1":":"",1:1),1:U)
|
---|
53 | . S:$P(^DIST(.404,B,40,F,0),U,3)=1 $P(N,U,4)=""
|
---|
54 | . S ^DIST(.404,B,40,F,2)=$$STPU(N)
|
---|
55 | . ;
|
---|
56 | . ;Use DIE to stuff in new caption
|
---|
57 | . I $P(^DIST(.404,B,40,F,0),U,2)'=$P(F1,U,4) D
|
---|
58 | .. S DIE="^DIST(.404,"_B_",40,"
|
---|
59 | .. S DR="1////"_$S($P(F1,U,4)?.1":":"@",$P(F1,U,4)?1.E1":":$E($P(F1,U,4),1,$L($P(F1,U,4))-1),1:$P(F1,U,4))
|
---|
60 | .. S DA(1)=B,DA=F
|
---|
61 | .. N P,B,F D ^DIE K DIE,DR,DA
|
---|
62 | Q
|
---|
63 | ;
|
---|
64 | STPU(X) ;Strip trailing up-arrows from X
|
---|
65 | N I
|
---|
66 | F I=$L(X):-1:0 Q:$E(X,I)'="^"
|
---|
67 | Q $E(X,1,I)
|
---|