Annotation of freem_fileman/USER/DDSM1.m, revision 1.1

1.1     ! snw         1: DDSM1  ;SFISC/MKO-MULTILINE, LOAD AND DELETE ;09:39 AM  15 Jul 1994
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4:        ;
        !             5: LOAD(DDSIEN)   ;Load subentries
        !             6: MLOAD  N DDSI,DDSOSN,DDSPDA,DDSRN,DDSSN,DDSSTL
        !             7:        Q:$D(@DDSIEN)<9
        !             8:        S DDSPDA=$P(DDSREP,U),DDSSTL=$P(DDSREP,U,2)
        !             9:        S (DDSOSN,DDSSN)=$O(@DDSREFT@(DDSPG,DDSBK,DDSPDA," "),-1)
        !            10:        ;
        !            11:        S DDSI="" F  S DDSI=$O(@DDSIEN@(DDSI)) Q:DDSI=""  D
        !            12:        . S DDSRN=@DDSIEN@(DDSI) Q:'DDSRN
        !            13:        . S DA=+DDSRN,$P(DDSDA,",")=DA
        !            14:        . I $D(@DDSREFT@(DDSPG,DDSBK,DDSPDA,"B",DDSDA))[0 D
        !            15:        .. S DDSSN=DDSSN+1
        !            16:        .. D ADD^DDSM(DDSDA,DDSPDA,DDSSN)
        !            17:        . E  D ^DDS11(DDSBK) S DDSCHG=1
        !            18:        ;
        !            19:        S DDSSN=DDSSN+1
        !            20:        D POSSN^DDSM(DDSSN)
        !            21:        D DMULTN^DDSR(DDSPG,DDSBK,DDSPDA,$P(DDSREP,U,5),1)
        !            22:        S DIR0=$P(@DDSREFS@(DDSPG,DDSBK,DDO,"D"),U,1,3)
        !            23:        S:$P($G(DDSREP),U,3)>1 $P(DIR0,U)=$P(DIR0,U)+$P(DDSREP,U,3)-1
        !            24:        Q
        !            25:        ;
        !            26: DEL(DDSIEN)    ;Delete subentry
        !            27: MDEL   N C,P,R,S
        !            28:        Q:'$G(DDSIEN)
        !            29:        S P=$P(DDSREP,U)
        !            30:        S C=$G(@DDSREFT@(DDSPG,DDSBK,P,$P(DDSREP,U,4)))
        !            31:        S S=$S(DDSIEN=C:$P(DDSREP,U,4),1:$G(@DDSREFT@(DDSPG,DDSBK,P,"B",DDSIEN)))
        !            32:        Q:'S
        !            33:        ;
        !            34:        K @DDSREFT@(DDSPG,DDSBK,P,"B",DDSIEN)
        !            35:        F S=S:1 Q:$D(@DDSREFT@(DDSPG,DDSBK,P,S+1))[0  D
        !            36:        . S R=@DDSREFT@(DDSPG,DDSBK,P,S+1)
        !            37:        . S @DDSREFT@(DDSPG,DDSBK,P,S)=R
        !            38:        . S @DDSREFT@(DDSPG,DDSBK,P,"B",R)=S
        !            39:        K @DDSREFT@(DDSPG,DDSBK,P,S)
        !            40:        K @DDSREFT@("F"_DDP,DDSIEN)
        !            41:        ;
        !            42:        S DA=+$G(@DDSREFT@(DDSPG,DDSBK,P,$P(DDSREP,U,4)))
        !            43:        S $P(DDSDA,",")=+DA
        !            44:        I C=DDSIEN D
        !            45:        . D DMULTN^DDSR(DDSPG,DDSBK,P,$P(DDSREP,U,5),$P(DDSREP,U,3))
        !            46:        E  D
        !            47:        . D DMULTN^DDSR(DDSPG,DDSBK,P,$P(DDSREP,U,5),1)
        !            48:        . D:'DA POSSN^DDSM(999999999999)
        !            49:        S DIR0=$P(@DDSREFS@(DDSPG,DDSBK,DDO,"D"),U,1,3)
        !            50:        S:$P($G(DDSREP),U,3)>1 $P(DIR0,U)=$P(DIR0,U)+$P(DDSREP,U,3)-1
        !            51:        Q

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