Annotation of freem_fileman/DDSU.m, revision 1.1.1.1
1.1 snw 1: DDSU ;SFISC/MLH-PROCESS HELP ;02:11 PM 26 Oct 1994
2: ;;21.0;VA FileMan;;Dec 28, 1994
3: ;Per VHA Directive 10-93-142, this routine should not be modified.
4: LIST ;
5: D FM:'$D(DDS),SC:$D(DDS)
6: Q
7: ;
8: SC ;Screen Help
9: N A0,A1,A2,A3,A4,A5,A6,DDSB1,X,Y
10: K DTOUT,DUOUT
11: ;
12: W $P(DDGLVID,DDGLDEL,9) S X=$G(IOM,80)-1 X ^%ZOSF("RM")
13: I $D(DDQ)#2,DDQ>DDSHBX!$D(DDSID) S DY=$P(DDQ,U),DX=$P(DDQ,U,2)
14: E D CLRMSG^DDS S DY=DDSHBX
15: X DDXY
16: ;
17: S:$G(DDD,5)=5 DDD=1
18: S:$D(DDO) DDSB1=DDO
19: S DDM=1,DDO=.5
20: S (A0,DIY,X)="",A1=0,A5=$S(DDD=2:$O(DS(0)),1:$O(DDH(A0)))
21: K A2,DDSQ
22: ;
23: F D SC1 Q:DDO'<1!(X=U)!'A0!DIY!$D(DTOUT)!$D(DUOUT)
24: ;
25: I $D(DDSB1) S:DDO<1 DDO=DDSB1
26: E K DDO
27: ;
28: S %=0
29: S DDQ=$S(DY>(IOSL-1):IOSL-1,1:DY)_U_DX
30: S:DDQ>DDSHBX DDM=1
31: I $D(A2) K DDD,DDH,DDQ S %=A2 S:%'=1 DDSQ=1 D CLRMSG^DDS G QQ
32: I $D(DDC),DDC'<0 D SV
33: E K DDD,DDH S DDSQ=1
34: ;
35: QQ S X=0 X ^%ZOSF("RM") W $P(DDGLVID,DDGLDEL,8)
36: Q
37: ;
38: SC1 S A6=A0,A0=$O(DDH(A0)) S:A6="" A6=A0-1
39: I 'A0,DDD Q:DDD=1 Q:DD<DS
40: ;
41: S A4=$O(DDH(+A0,""))
42: I A4'="X"!(DY'>DDSHBX) S DY=DY+1 X DDXY
43: I A4="E" D SC2 Q
44: ;
45: I $Y'<(IOSL-1)!'A0 D SC2 Q:DDO'<1!(X=U)!'A0!DIY!$D(DTOUT)!$D(DUOUT) S DY=DDSHBX+1,DX=0 X DDXY
46: Q:A4=""
47: ;
48: D WR
49: ;
50: I $Y'<(IOSL-1),'$D(DTOUT),'$D(DUOUT) D Q
51: . W ! D SC2
52: . W $P(DDGLVID,DDGLDEL,8) S X=0 X ^%ZOSF("RM") D REFRESH^DDSUTL
53: . W $P(DDGLVID,DDGLDEL,9) S X=$G(IOM,80)-1 X ^%ZOSF("RM")
54: . S DX=0,DY=DDSHBX X DDXY
55: ;
56: S DY=$Y,DX=0
57: Q
58: ;
59: SC2 S DX=0,DY=IOSL-1 X DDXY
60: W $S(DDD=1:$$EZBLD^DIALOG(8053),1:$$EZBLD^DIALOG(8081,A5_"-"_A6))_$P(DDGLCLR,DDGLDEL)
61: ;
62: R X:DTIME E S DTOUT=1 K DDC G Q2
63: I X?1."^" S DUOUT=1,X=U K DDC G Q2
64: ;
65: I X]"",X<A5!(X>A6) W $C(7) G SC2
66: E I X S:DDD["J" DDO=$O(DDH(X,"")) K DDC
67: D CLRMSG^DDS
68: S DDM=1
69: ;
70: Q2 S DIY=X,DY=DDSHBX
71: Q
72: ;
73: ASK W $P(A4,U,2)_$S(%'>2:"? ",1:"")_$S(%>0&(%<3):$P($$EZBLD^DIALOG(7001),U,%)_"// ",1:"")_$P(DDGLCLR,DDGLDEL)
74: S A2=0
75: R X:$G(DTIME,300) E S DTOUT=1,A2=-1 Q
76: ;
77: I %>2 S A2=X Q
78: ;
79: N %1 S %1=$$PRS^DIALOGU(7001,X) S:%1>0 X=$E($P(%1,U,2))
80: K %1
81: ;
82: I "YyNn^"'[X W $C(7) X DDXY G ASK
83: I X]"","^Nn"[X S A2=2 K DDC Q
84: S:"Yy"[X A2=1
85: S:X=""&(%]"") A2=+%
86: S DDD=1
87: Q
88: ;
89: SV ;Kill DDH array, but save the "ID" nodes and DDH itself
90: K A1,A2
91: S:$D(DDH("ID")) A1=DDH("ID")
92: S:$D(DDH("ID",1)) A2=DDH("ID",1)
93: K DDH S DDH=0
94: S:$D(A1) DDH("ID")=A1
95: S:$D(A2) DDH("ID",1)=A2
96: Q
97: ;
98: FM ;FileMan help - Non screen
99: N A0,A1,A2,A3,A4,DDSDIW,DDSDIY,Y
100: S A0=""
101: F S A0=$O(DDH(A0)) Q:'A0 S DDSDIW=$X,DDSDIY=$Y D W I $G(DDD)>2,DDSDIW-$X!(DDSDIY-$Y) D STP Q:$D(DTOUT)
102: ;
103: Q I '$D(DTOUT) D SV S DDH=0
104: E K DDH K:'DTOUT DTOUT
105: Q
106: ;
107: STP I DD+DIY'>79 W ?DD S DD=DD+DIY Q
108: ;
109: T W !?3 S DD=DIY+3
110: I $Y>DIZ!'$Y D
111: . R "'^' TO STOP: ",%Y:$G(DTIME,300)
112: . E S DTOUT=1 K DDD
113: . W *13,$J("",15),*13 Q:$D(DTOUT)
114: . I %Y[U S DTOUT=0 K DDD
115: . D Y W ?3
116: Q
117: ;
118: W S A4=$O(DDH(A0,"")) Q:A4="" Q:DDH(A0,A4)=""
119: W:'$D(DDD) !
120: I $G(DDD)=3,A4["T" K DDD
121: ;
122: WR I A4["X" D Q
123: . N DDD,DIY,DDSXEC
124: . S DDSXEC=DDH(A0,A4)
125: . N DDH
126: . I $D(DDS) N DDSID S DDSID=1
127: . X DDSXEC
128: ;
129: I A4["Q" D Q
130: . S A4=DDH(A0,A4),%=$P(A4,U,1)
131: . I $D(DDS) D ASK Q
132: . W $P(A4,U,2)
133: . D YN^DICN
134: ;
135: I A4["T" D Q
136: . I DDH(A0,A4)[$C(0) D
137: .. S DX=$L(DDH(A0,A4),$C(0))-1
138: .. X DDXY
139: .. S DDH(A0,A4)=$TR(DDH(A0,A4),$C(0),"")
140: . W DDH(A0,A4)
141: ;
142: I '$D(DDS),DDD'["J",A4'=+A4 Q
143: I $D(DDS),DDD=2!(DDD["J") W A0,?7
144: ;
145: W DDH(A0,A4)
146: D:$D(DDH("ID"))
147: . N DDD,DIY,DDSID
148: . S DDSID=DDH("ID")
149: . S:$D(DDH("ID",1))#2 DDSID(1)=DDH("ID",1)
150: . N DDH
151: . S:$D(DDSID(1))#2 DDH("ID",1)=DDSID(1) K DDSID(1)
152: . S Y=A4
153: . X DDSID
154: Q
155: ;
156: Y D:'$D(DISYS) OS^DII
157: S $X=0,$Y=0
158: S DIZ=$S($D(DILN)&'$D(DIR0):DILN,1:21)
159: Q
160: ;
161: Z D Y,T
162: Q
163: ;
164: H S:'$D(A1) A1="T"
165: S DDH=$G(DDH)+1,DDH(DDH,A1)=DST
166: K A1,DST
167: D SC
168: Q
169: ;#8053 Press 'RETURN' to continue...
170: ;#8081 Choose |from-to| or '^'...
171: ;#7001 Yes^No
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>