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>