Annotation of freem_fileman/DIEFW.m, revision 1.1.1.1
1.1 snw 1: DIEFW ;SFISC/DPC-FILER WP ;7/29/94 15:37
2: ;;21.0;VA FileMan;;Dec 28, 1994
3: ;Per VHA Directive 10-93-142, this routine should not be modified.
4: WP(DIEFF,DIEFIEN,DIEFFLD,DIEFWPFL,DIEFTSRC,DIEFOUT) ;
5: WPX ;
6: S DIEFWPFL=$G(DIEFWPFL)
7: I '$D(DIQUIET) N DIQUIET S DIQUIET=1
8: I '$D(DIFM) N DIFM S DIFM=1 D INIZE^DIEFU
9: I DIEFIEN']"" D BLD^DIALOG(202,"IENS","IENS") G OUT
10: I '$$VERFLG^DIEFU(DIEFWPFL,"AZK") G OUT
11: I "@"'[DIEFTSRC I '$$VROOT^DIEFU(DIEFTSRC) G OUT
12: I '$$VFILE^DIEFU(DIEFF,"D") G OUT
13: I '$$VFIELD^DIEFU(DIEFF,DIEFFLD,"D") G OUT
14: I $P($G(^DD(+$P(^DD(DIEFF,DIEFFLD,0),U,2),.01,0)),U,2)'["W" N EI S EI("FILE")=DIEFF,EI("FIELD")=DIEFFLD D BLD^DIALOG(726,.EI,.EI) G OUT
15: I '$$VENTRY^DIEFU(DIEFF,DIEFIEN,"D") G OUT
16: N DIEFNODE,DIEFSPOT S DIEFSPOT=" " D GLRF^DIOU(DIEFF,DIEFFLD,.DIEFNODE,.DIEFSPOT)
17: N DEPTH,I,D
18: S DEPTH=$L(DIEFIEN,",")-1
19: F I=DEPTH:-1:1 S D="D"_(DEPTH-I) N @D S @D=$P(DIEFIEN,",",I)
20: K DEPTH,D,I
21: I DIEFWPFL["K" N DIEFLOCK D G:'$D(DIEFLOCK) OUT
22: . S DIEFLOCK=DIEFNODE
23: . L +@DIEFLOCK:1 E D
24: . . K DIEFLOCK
25: . . N EXT S EXT("FILE")=DIEFF,EXT("IENS")=DIEFIEN D BLD^DIALOG(110,"",.EXT)
26: D PUTWP(DIEFWPFL,DIEFTSRC,DIEFNODE)
27: I $D(DIEFLOCK) L -@DIEFLOCK
28: OUT I $G(DIEFOUT)]"" D CALLOUT^DIEFU(DIEFOUT)
29: Q
30: ;
31: PUTWP(DIEFWPFL,DIEFTSRC,DIEFNODE) ;
32: N BEGIN
33: I "@"[DIEFTSRC K @DIEFNODE Q
34: I '($D(@DIEFTSRC)\10) D BLD^DIALOG(305,DIEFTSRC,DIEFTSRC) Q
35: I $G(DIEFWPFL)'["A" S BEGIN=1 K @DIEFNODE
36: E S BEGIN=$$NUMLNS(DIEFNODE)+1 K:BEGIN=1 @DIEFNODE
37: I $D(@DIEFTSRC@($O(@DIEFTSRC@(0)),0))#2 S DIEFWPFL=$G(DIEFWPFL)_"Z"
38: N LINECNT,INLINE S INLINE=0
39: F LINECNT=BEGIN:1 S INLINE=$O(@DIEFTSRC@(INLINE)) Q:INLINE="" D
40: . I $G(DIEFWPFL)'["Z" S @DIEFNODE@(LINECNT,0)=@DIEFTSRC@(INLINE)
41: . E S @DIEFNODE@(LINECNT,0)=$G(@DIEFTSRC@(INLINE,0))
42: S LINECNT=LINECNT-1
43: S @DIEFNODE@(0)=U_U_LINECNT_U_LINECNT_U_DT
44: Q
45: ;
46: NUMLNS(DIWPROOT) ;
47: N DIWPLN
48: S DIWPLN=$P($G(@DIWPROOT@(0)),U,3)
49: Q:DIWPLN DIWPLN
50: S DIWPLN=$O(@DIWPROOT@(""),-1)
51: Q +DIWPLN
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>