File:  [Coherent Logic Development] / freem_fileman / USER / DIEF1.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:20 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    1: DIEF1	;SFISC/DPC-FILER UTILITIES ;12/21/94  08:50
    2: 	;;21.0;VA FileMan;;Dec 28, 1994
    3: 	;Per VHA Directive 10-93-142, this routine should not be modified.
    4: LOAD(DIEFF,DIEFDAS,DIEFFLD,DIEFFLG,DIEFVAL,DIEFAR,DIEFOUT)	;
    5: LOADX	;
    6: 	N DIEFIEN
    7: 	I '$D(DIQUIET) N DIQUIET S DIQUIET=1
    8: 	I '$D(DIFM) N DIFM S DIFM=1 D INIZE^DIEFU
    9: 	I $G(DIEFDAS)']"" D BLD^DIALOG(202,"IENS","IENS") G OUT
   10: 	I $E(DIEFDAS,$L(DIEFDAS))="," S DIEFIEN=DIEFDAS
   11: 	E  S DIEFIEN=$$IEN^DIEFU(.DIEFDAS)
   12: 	I '$$VROOT^DIEFU(DIEFAR) G OUT
   13: 	I '$$VFILE^DIEFU(DIEFF,"D") G OUT
   14: 	S DIEFFLD=$$CHKFLD^DIEFU(DIEFF,DIEFFLD) G:'DIEFFLD OUT
   15: 	I $G(DIEFFLG)["R",'$$VENTRY^DIEFU(DIEFF,DIEFIEN,"D") G OUT
   16: 	S @DIEFAR@(DIEFF,DIEFIEN,DIEFFLD)=DIEFVAL
   17: OUT	I $G(DIEFOUT)]"" D CALLOUT^DIEFU(DIEFOUT)
   18: 	Q
   19: 	;
   20: FLDNUM(DIEFF,DIEFFDNM)	;
   21: FLDNUMX	;
   22: 	I '$D(DIQUIET) N DIQUIET S DIQUIET=1
   23: 	I '$D(DIFM) N DIFM S DIFM=1 D INIZE^DIEFU
   24: 	I '$$VFILE^DIEFU(DIEFF,"D") Q 0
   25: 	N DIEFFNUM
   26: 	I $D(^DD(DIEFF,"B",DIEFFDNM)) D  Q DIEFFNUM
   27: 	. S DIEFFNUM=$O(^DD(DIEFF,"B",DIEFFDNM,""))
   28: 	. 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
   29: 	N P S P("FILE")=DIEFF,P(1)=DIEFFDNM D BLD^DIALOG(501,.P,.P)
   30: 	Q 0
   31: 	;
   32: ADDCONV(DIEFIEN,DIEFADAR)	;
   33: 	N I,DIEFNIEN,P
   34: 	F I=1:1:$L(DIEFIEN,",")-1 D
   35: 	. S P=$P(DIEFIEN,",",I)
   36: 	. I P,$E(P)'="+" Q
   37: 	. S DIEFNIEN=@DIEFADAR@($TR(P,"+?"))
   38: 	. S $P(DIEFIEN,",",I)=DIEFNIEN
   39: 	Q DIEFIEN
   40: 	;
   41: PUTDATA	;CODE TO ACTUALLY PUT THE DATA INTO THE NODE BEING EDITED. ALSO SAVES ORIGINAL VALUES. CALLED FROM DIEF.
   42: 	I +DIEFSPOT D
   43: 	. I DIEFNVAL[U D  Q
   44: 	. . S DIEFNG=1
   45: 	. . N INT,EXT
   46: 	. . S INT(1)=$$FLDNM^DIEFU(DIEFF,DIEFFLD),INT(2)=$$FILENM^DIEFU(DIEFF),EXT("FILE")=DIEFF,EXT("FIELD")=DIEFFLD
   47: 	. . D BLD^DIALOG(714,.INT,.EXT)
   48: 	. S DIEFOVAL=$P(DIEFFVAL,"^",DIEFSPOT)
   49: 	. S $P(DIEFFVAL,"^",DIEFSPOT)=DIEFNVAL,DOREPL=1
   50: 	E  I $E(DIEFSPOT)="E" D
   51: 	. N FR,TO,OLEN,NLEN
   52: 	. S FR=$P($P(DIEFSPOT,"E",2),",",1),TO=$P(DIEFSPOT,",",2)
   53: 	. S NLEN=$L(DIEFNVAL)
   54: 	. I NLEN-1>(TO-FR) D  Q
   55: 	. . S DIEFNG=1
   56: 	. . N INT,EXT
   57: 	. . S INT(1)=$$FLDNM^DIEFU(DIEFF,DIEFFLD),INT(2)=$$FILENM^DIEFU(DIEFF),EXT("FILE")=DIEFF,EXT("FIELD")=DIEFFLD
   58: 	. . D BLD^DIALOG(716,.INT,.EXT)
   59: 	. S DIEFOVAL=$E(DIEFFVAL,FR,TO),OLEN=$L(DIEFOVAL)
   60: 	. I $E(DIEFFVAL,TO+1,999)="" S $E(DIEFFVAL,FR,TO)=DIEFNVAL
   61: 	. E  S $E(DIEFFVAL,FR,TO)=DIEFNVAL_$J("",$S(OLEN>NLEN:OLEN-NLEN,1:0))
   62: 	. S DOREPL=1
   63: 	E  I DIEFSPOT=0 D
   64: 	. I $P($G(^DD(+$P(^DD(DIEFF,DIEFFLD,0),U,2),.01,0)),U,2)["W" D
   65: 	. . I '$$VROOT^DIEFU(DIEFNVAL) Q
   66: 	. . D PUTWP^DIEFW(DIEFFLAG,DIEFNVAL,DIEFNODE)
   67: 	. E  D
   68: 	. . N INT,EXT
   69: 	. . S (INT(1),EXT(1))="MULTIPLE",EXT("FILE")=DIEFF,EXT("FIELD")=DIEFFLD
   70: 	. . D BLD^DIALOG(520,.INT,.EXT)
   71: 	. . S DIEFNG=1
   72: 	E  I DIEFSPOT=" " D
   73: 	. N INT,EXT
   74: 	. S (INT(1),EXT(1))="COMPUTED",EXT("FILE")=DIEFF,EXT("FIELD")=DIEFFLD
   75: 	. D BLD^DIALOG(520,.INT,.EXT)
   76: 	. S DIEFNG=1
   77: 	Q
   78: 	;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>