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