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>