Annotation of freem_fileman/DIEFW.m, revision 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>