DIEF1 ;SFISC/DPC-FILER UTILITIES ;12/21/94 08:50
;;21.0;VA FileMan;;Dec 28, 1994
;Per VHA Directive 10-93-142, this routine should not be modified.
LOAD(DIEFF,DIEFDAS,DIEFFLD,DIEFFLG,DIEFVAL,DIEFAR,DIEFOUT) ;
LOADX ;
N DIEFIEN
I '$D(DIQUIET) N DIQUIET S DIQUIET=1
I '$D(DIFM) N DIFM S DIFM=1 D INIZE^DIEFU
I $G(DIEFDAS)']"" D BLD^DIALOG(202,"IENS","IENS") G OUT
I $E(DIEFDAS,$L(DIEFDAS))="," S DIEFIEN=DIEFDAS
E S DIEFIEN=$$IEN^DIEFU(.DIEFDAS)
I '$$VROOT^DIEFU(DIEFAR) G OUT
I '$$VFILE^DIEFU(DIEFF,"D") G OUT
S DIEFFLD=$$CHKFLD^DIEFU(DIEFF,DIEFFLD) G:'DIEFFLD OUT
I $G(DIEFFLG)["R",'$$VENTRY^DIEFU(DIEFF,DIEFIEN,"D") G OUT
S @DIEFAR@(DIEFF,DIEFIEN,DIEFFLD)=DIEFVAL
OUT I $G(DIEFOUT)]"" D CALLOUT^DIEFU(DIEFOUT)
Q
;
FLDNUM(DIEFF,DIEFFDNM) ;
FLDNUMX ;
I '$D(DIQUIET) N DIQUIET S DIQUIET=1
I '$D(DIFM) N DIFM S DIFM=1 D INIZE^DIEFU
I '$$VFILE^DIEFU(DIEFF,"D") Q 0
N DIEFFNUM
I $D(^DD(DIEFF,"B",DIEFFDNM)) D Q DIEFFNUM
. S DIEFFNUM=$O(^DD(DIEFF,"B",DIEFFDNM,""))
. I $O(^DD(DIEFF,"B",DIEFFDNM,DIEFFNUM)) N P S P(1)=DIEFFDNM,P("FILE")=DIEFF D BLD^DIALOG(505,.P,.P) S DIEFFNUM=0
N P S P("FILE")=DIEFF,P(1)=DIEFFDNM D BLD^DIALOG(501,.P,.P)
Q 0
;
ADDCONV(DIEFIEN,DIEFADAR) ;
N I,DIEFNIEN,P
F I=1:1:$L(DIEFIEN,",")-1 D
. S P=$P(DIEFIEN,",",I)
. I P,$E(P)'="+" Q
. S DIEFNIEN=@DIEFADAR@($TR(P,"+?"))
. S $P(DIEFIEN,",",I)=DIEFNIEN
Q DIEFIEN
;
PUTDATA ;CODE TO ACTUALLY PUT THE DATA INTO THE NODE BEING EDITED. ALSO SAVES ORIGINAL VALUES. CALLED FROM DIEF.
I +DIEFSPOT D
. I DIEFNVAL[U D Q
. . S DIEFNG=1
. . N INT,EXT
. . S INT(1)=$$FLDNM^DIEFU(DIEFF,DIEFFLD),INT(2)=$$FILENM^DIEFU(DIEFF),EXT("FILE")=DIEFF,EXT("FIELD")=DIEFFLD
. . D BLD^DIALOG(714,.INT,.EXT)
. S DIEFOVAL=$P(DIEFFVAL,"^",DIEFSPOT)
. S $P(DIEFFVAL,"^",DIEFSPOT)=DIEFNVAL,DOREPL=1
E I $E(DIEFSPOT)="E" D
. N FR,TO,OLEN,NLEN
. S FR=$P($P(DIEFSPOT,"E",2),",",1),TO=$P(DIEFSPOT,",",2)
. S NLEN=$L(DIEFNVAL)
. I NLEN-1>(TO-FR) D Q
. . S DIEFNG=1
. . N INT,EXT
. . S INT(1)=$$FLDNM^DIEFU(DIEFF,DIEFFLD),INT(2)=$$FILENM^DIEFU(DIEFF),EXT("FILE")=DIEFF,EXT("FIELD")=DIEFFLD
. . D BLD^DIALOG(716,.INT,.EXT)
. S DIEFOVAL=$E(DIEFFVAL,FR,TO),OLEN=$L(DIEFOVAL)
. I $E(DIEFFVAL,TO+1,999)="" S $E(DIEFFVAL,FR,TO)=DIEFNVAL
. E S $E(DIEFFVAL,FR,TO)=DIEFNVAL_$J("",$S(OLEN>NLEN:OLEN-NLEN,1:0))
. S DOREPL=1
E I DIEFSPOT=0 D
. I $P($G(^DD(+$P(^DD(DIEFF,DIEFFLD,0),U,2),.01,0)),U,2)["W" D
. . I '$$VROOT^DIEFU(DIEFNVAL) Q
. . D PUTWP^DIEFW(DIEFFLAG,DIEFNVAL,DIEFNODE)
. E D
. . N INT,EXT
. . S (INT(1),EXT(1))="MULTIPLE",EXT("FILE")=DIEFF,EXT("FIELD")=DIEFFLD
. . D BLD^DIALOG(520,.INT,.EXT)
. . S DIEFNG=1
E I DIEFSPOT=" " D
. N INT,EXT
. S (INT(1),EXT(1))="COMPUTED",EXT("FILE")=DIEFF,EXT("FIELD")=DIEFFLD
. D BLD^DIALOG(520,.INT,.EXT)
. S DIEFNG=1
Q
;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>