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>