1 | DDGFFM ;SFISC/MKO-FORM ADD, EDIT, SELECT ;11:48 AM 20 Dec 1994
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | ;
|
---|
5 | SEL ;Select another form
|
---|
6 | ADD ;Add a new form
|
---|
7 | N X,DIR0 K DDGFABT
|
---|
8 | S DDGFDY=+$G(DY),DDGFDX=+$G(DX),(DY,DX)=0 X IOXY
|
---|
9 | W $P(DDGLCLR,DDGLDEL,2)
|
---|
10 | X DDGLZOSF("EON"),DDGLZOSF("TRMOFF")
|
---|
11 | ;
|
---|
12 | ;Select file
|
---|
13 | FIL S DDS1="EDIT/CREATE FORM FOR" D W^DICRW K DDS1 G:Y<0 ADDQ
|
---|
14 | G:'$D(@(DIC_"0)")) ADDQ
|
---|
15 | ;
|
---|
16 | ;Select form
|
---|
17 | W !
|
---|
18 | S DIC("S")="I $P(^(0),U,8)=+DDGFFILE"
|
---|
19 | I DUZ(0)'="@" S DIC("S")=DIC("S")_" N DDSI F DDSI=1:1:$L($P(^(0),U,3)) I DUZ(0)[$E($P(^(0),U,3),DDSI) Q"
|
---|
20 | S DDGFFILE=Y,DIC=.403,DIC(0)="QEAL",D="F"_+Y
|
---|
21 | D IX^DIC K DIC,D G:Y<0 ADDQ
|
---|
22 | S DDGFY=Y
|
---|
23 | ;
|
---|
24 | ;Save data for previous form
|
---|
25 | I DDGFCHG,$D(DDGFFM)#2 G:+DDGFFM=+DDGFY ADDQ D G:$G(DDGFABT) ADDQ
|
---|
26 | . N DDGFFNAM
|
---|
27 | . S DIR(0)="Y",DDGFFNAM=$P(DDGFFM,U,2)
|
---|
28 | . S DIR("A")="Save changes to form "_DDGFFNAM
|
---|
29 | . S DIR("B")="YES"
|
---|
30 | . S DIR("?",1)=" Enter 'Y' or press 'Return' to save changes."
|
---|
31 | . S DIR("?",2)=" Enter 'N' to discard changes."
|
---|
32 | . S DIR("?")=" Enter '^' to return to form "_DDGFFNAM
|
---|
33 | . W ! D ^DIR K DIR I $D(DIRUT) K DIRUT,DUOUT,DTOUT S DDGFABT=1 Q
|
---|
34 | . D SAVE^DDGFSV
|
---|
35 | ;
|
---|
36 | I $D(DDGFFM)#2,+DDGFFM'=+DDGFY D RECOMP^DDGF0
|
---|
37 | ;
|
---|
38 | S DDGFFM=$P(DDGFY,U,1,2)
|
---|
39 | ;
|
---|
40 | ;Stuff in values for form
|
---|
41 | K DR S DIE=.403,DA=+DDGFY,DDGFNEW=$P(DDGFY,U,3)
|
---|
42 | S:DDGFNEW DR="3////"_DUZ_";4///NOW"
|
---|
43 | S DR=$S($G(DR)]"":DR_";",1:"")_"5///NOW"
|
---|
44 | S:DDGFNEW DR=DR_";7////"_+DDGFFILE
|
---|
45 | D ^DIE K DIE,DA,DR,D,%DT
|
---|
46 | I DDGFNEW,$G(DUZ(0))]"" D
|
---|
47 | . S $P(^DIST(.403,+DDGFFM,0),U,2,3)=DUZ(0)_U_DUZ(0)
|
---|
48 | ;
|
---|
49 | ;If this is a new form, create Page 1
|
---|
50 | I DDGFNEW D
|
---|
51 | . K DD,DO
|
---|
52 | . S DIC="^DIST(.403,+DDGFFM,40,",DIC("P")=$P(^DD(.403,40,0),U,2)
|
---|
53 | . S DIC(0)="",DA(1)=+DDGFFM,X=1
|
---|
54 | . D FILE^DICN I Y=-1 K DIC,Y Q
|
---|
55 | . S DIE=DIC,DA=+Y,DR="2////1,1;7////Page 1"
|
---|
56 | . D ^DIE K DIC,DIE,DA,DR,D,Y
|
---|
57 | ;
|
---|
58 | ;Clear data for previous form
|
---|
59 | W $P(DDGLCLR,DDGLDEL,2)
|
---|
60 | I $D(@DDGFREF) K @DDGFREF D DESTALL^DDGLIBW
|
---|
61 | ;
|
---|
62 | ;Get first page, load form
|
---|
63 | S DDGFPG=$O(^DIST(.403,+DDGFFM,40,"B",""))
|
---|
64 | I DDGFPG]"" S DDGFPG=$O(^DIST(.403,+DDGFFM,40,"B",DDGFPG,""))
|
---|
65 | D PG^DDGFLOAD(+DDGFFM,DDGFPG),STATUS^DDGF
|
---|
66 | S DDGFDY=$P(DDGFLIM,U),DDGFDX=$P(DDGFLIM,U,2)
|
---|
67 | ;
|
---|
68 | ADDQQ X DDGLZOSF("EOFF"),DDGLZOSF("TRMON")
|
---|
69 | D RC(DDGFDY,DDGFDX)
|
---|
70 | K DDGFABT,DDGFDY,DDGFDX,DDGFNEW,DDGFY
|
---|
71 | Q
|
---|
72 | ;
|
---|
73 | ADDQ I $D(DDGFFM)#2 D REFRESH^DDGF G ADDQQ
|
---|
74 | K DDGFABT,DDGFDY,DDGFDX
|
---|
75 | Q
|
---|
76 | ;
|
---|
77 | EDIT ;Invoke form to edit form
|
---|
78 | S DDGFDY=DY,DDGFDX=DX
|
---|
79 | K DDSFILE S DDSFILE=.403
|
---|
80 | S DA=+DDGFFM,DR="[DDGF FORM EDIT]",DDSPARM="KTW"
|
---|
81 | D ^DDS K DDSFILE,DR,DDSPARM
|
---|
82 | ;
|
---|
83 | S $P(DDGFFM,U,2)=$P(^DIST(.403,+DDGFFM,0),U)
|
---|
84 | D REFRESH^DDGF,RC(DDGFDY,DDGFDX)
|
---|
85 | EDITQ K DDGFDY,DDGFDX
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | RC(DDGFY,DDGFX) ;Update status line, reset DX and DY, move cursor
|
---|
89 | N DDGFS
|
---|
90 | I DDGFR D
|
---|
91 | . S DY=IOSL-6,DX=IOM-9,DDGFS="R"_(DDGFY+1)_",C"_(DDGFX+1)
|
---|
92 | . X IOXY W DDGFS_$J("",7-$L(DDGFS))
|
---|
93 | S DY=DDGFY,DX=DDGFX X IOXY
|
---|
94 | Q
|
---|