Annotation of freem_fileman/DIEF1.m, revision 1.1
1.1 ! snw 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>