| 1 | DIEFW ;SFISC/DPC-FILER WP ;22MAR2006
 | 
|---|
| 2 |  ;;22.0;VA FileMan;**1,8,147**;Mar 30, 1999
 | 
|---|
| 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 |  N DIEFLOCK I DIEFWPFL["K" D  G:'$D(DIEFLOCK) OUT
 | 
|---|
| 22 |  . S DIEFLOCK=DIEFNODE
 | 
|---|
| 23 |  . D LOCK^DILF(DIEFLOCK) E  D  ;**147
 | 
|---|
| 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'=+$P(INLINE,"E")  D
 | 
|---|
| 40 |  . I $G(DIEFWPFL)'["Z" S @DIEFNODE@(LINECNT,0)=$G(@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
 | 
|---|