Annotation of freem_fileman/DDS4.m, revision 1.1
1.1 ! snw 1: DDS4 ;SFISC/MKO-FILE AND RELOAD ;08:31 AM 24 Oct 1994
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: D ^DDS41 Q:Y'=1
! 5: N DA,DDO,DIE,DDP,DDSDA
! 6: ;
! 7: S DX=0,DY=IOSL-1 X IOXY W "Filing form"_$P(DDGLCLR,DDGLDEL)
! 8: ;
! 9: ;File data
! 10: S DDS4FI="F"
! 11: F S DDS4FI=$O(@DDSREFT@(DDS4FI)) Q:DDS4FI'?1"F".E D
! 12: . S DDP=$E(DDS4FI,2,999)
! 13: . S DDS4DA=" "
! 14: . F S DDS4DA=$O(@DDSREFT@(DDS4FI,DDS4DA)) Q:DDS4DA="" D REC
! 15: ;
! 16: ;Reload all pages on form
! 17: S DDS4P=0
! 18: F S DDS4P=$O(@DDSREFT@(DDS4P)) Q:'DDS4P D
! 19: . S DDS4B=0
! 20: . F S DDS4B=$O(@DDSREFT@(DDS4P,DDS4B)) Q:'DDS4B D
! 21: .. S DDP=$P(@DDSREFS@(DDS4P,DDS4B),U,3),DDSDA=" "
! 22: .. F S DDSDA=$O(@DDSREFT@(DDS4P,DDS4B,DDSDA)) Q:'DDSDA D
! 23: ... S $P(@DDSREFT@(DDS4P,DDS4B,DDSDA),U)=1,DIE=^(DDSDA,"GL")
! 24: ... Q:$P(@DDSREFT@(DDS4P,DDS4B,DDSDA),U,6)>1
! 25: ... D GDA(DDSDA)
! 26: ... D ^DDS11(DDS4B,1)
! 27: ;
! 28: X:$G(^DIST(.403,+DDS,14))'?."^" ^(14)
! 29: I '$G(DDSSAVE),$G(DDSPARM)["S" S DDSSAVE=1
! 30: S (Y,DDSH)=1,(DDSCHG,DX)=0,DY=IOSL-1 X IOXY W $P(DDGLCLR,DDGLDEL)
! 31: K @DDSREFT@("ADD")
! 32: K DIC,DDS1B,DDS1DA,DDS4B,DDS4DA,DDS4FI,DDS4FLD,DDS4FO,DDS4P
! 33: K DDSEXT,DDSI,DDSINT,DDSLC,DDSLN,DDSND,DDSOND,DDSOLD,DDSP,DDSPC
! 34: K DDSW,DDSX,DV
! 35: Q
! 36: REC ;
! 37: G:DDS4FI="F0" FORMONLY
! 38: ;
! 39: S DIE=@DDSREFT@(DDS4FI,DDS4DA,"GL")
! 40: D GDA(DDS4DA)
! 41: S DDSOND=-1 K DDSLN
! 42: S DDS4FLD=""
! 43: F S DDS4FLD=$O(@DDSREFT@(DDS4FI,DDS4DA,DDS4FLD)) Q:DDS4FLD="" D FLD
! 44: S:$D(DDSLN)#2 @(DIE_"DA,DDSND)")=DDSLN
! 45: Q
! 46: FLD ;
! 47: Q:'$G(@DDSREFT@(DDS4FI,DDS4DA,DDS4FLD,"F")) S ^("F")=""
! 48: I '$G(DDSCHANG),$G(DDSPARM)["C" S DDSCHANG=1
! 49: S DDSINT=$G(@DDSREFT@(DDS4FI,DDS4DA,DDS4FLD,"D"))
! 50: ;
! 51: ;Word processing fields (quit if multiple)
! 52: I $D(@DDSREFT@(DDS4FI,DDS4DA,DDS4FLD,"M"))#2 D:'$P(^("M"),U) Q
! 53: . N FR,TO
! 54: . S FR=$NA(@DDSREFT@(DDS4FI,DDS4DA,DDS4FLD,"D"))
! 55: . S TO=U_$$CREF^DILF($P(@DDSREFT@(DDS4FI,DDS4DA,DDS4FLD,"M"),U,2))
! 56: . K @TO
! 57: . M @TO=@FR
! 58: . K @FR,@DDSREFT@(DDS4FI,DDS4DA,DDS4FLD,"F")
! 59: ;
! 60: Q:$G(^DD(DDP,DDS4FLD,0))?."^" S DDSND=$P(^(0),U,4)
! 61: S DDSPC=$P(DDSND,";",2) Q:"0 "[DDSPC
! 62: S DDSND=$P(DDSND,";")
! 63: ;
! 64: I DDSOND'=DDSND D
! 65: . S:$D(DDSLN)#2 @(DIE_"DA,DDSOND)")=DDSLN
! 66: . S DDSLN=$G(@(DIE_"DA,DDSND)"))
! 67: . S DDSOND=DDSND
! 68: ;
! 69: I DDSPC D
! 70: . S DDSOLD=$P(DDSLN,U,DDSPC)
! 71: . S $P(DDSLN,U,DDSPC)=DDSINT
! 72: E D
! 73: . S DDSW=$E(DDSPC,2,999),DDSP=$P(DDSW,",",2)+1
! 74: . S DDSOLD=$E(DDSLN,+DDSW,DDSP-1)
! 75: . S DDSX=$E(DDSLN,DDSP,999)
! 76: . S DDSLN=$E(DDSLN,1,DDSW-1)_$J("",DDSW-1-$L(DDSLN))_DDSINT
! 77: . S:DDSX'?." " DDSLN=DDSLN_$J("",DDSP-DDSW-$L(DDSINT))_DDSX
! 78: ;
! 79: I $D(^DD(DDP,DDS4FLD,1))!($P(^(0),U,2)["a") D XR
! 80: ;
! 81: Q
! 82: XR ;
! 83: N DG,DP,DDS4AUD1,DDS4AUD2,DIIX
! 84: S DP=DDP,DDSOND=-1
! 85: I $D(DDSLN)#2 S @(DIE_"DA,DDSND)")=DDSLN K DDSLN
! 86: ;
! 87: I $P(^DD(DDP,DDS4FLD,0),U,2)["a" D
! 88: . S (DDS4AUD1,DDS4AUD2)=1
! 89: . I $G(^DD(DDP,DDS4FLD,"AUDIT"))["e",DDSOLD="" S DDS4AUD1=0
! 90: ;
! 91: I DDSOLD]"" D
! 92: . S DG=0 F S DG=$O(^DD(DDP,DDS4FLD,1,DG)) Q:DG<1 D
! 93: .. S DIC=DIE,X=DDSOLD
! 94: .. X:$D(^DD(DDP,DDS4FLD,1,DG,2))#2 ^(2)
! 95: . I $G(DDS4AUD2) S DG=1,X=DDSOLD,DIIX="2^"_DDS4FLD D AUDIT^DIET
! 96: ;
! 97: I DDSINT]"" D
! 98: . S DG=0 F S DG=$O(^DD(DDP,DDS4FLD,1,DG)) Q:DG<1 D
! 99: .. S DIC=DIE,X=DDSINT
! 100: .. X:$D(^DD(DDP,DDS4FLD,1,DG,1))#2 ^(1)
! 101: . I $G(DDS4AUD1) S DG=1,X=DDSINT,DIIX="3^"_DDS4FLD D AUDIT^DIET
! 102: Q
! 103: GDA(DDSDA) ;
! 104: N I
! 105: K DA S DA=$P(DDSDA,",")
! 106: F I=2:1:$L(DDSDA,",")-1 S DA(I-1)=$P(DDSDA,",",I)
! 107: Q
! 108: ;
! 109: FORMONLY ;
! 110: N X
! 111: D GDA(DDS4DA)
! 112: S DDS4FLD=""
! 113: F S DDS4FLD=$O(@DDSREFT@("F0",DDS4DA,DDS4FLD)) Q:DDS4FLD="" D
! 114: . Q:'$G(@DDSREFT@("F0",DDS4DA,DDS4FLD,"F"))
! 115: . S DDS4FO=$P(DDS4FLD,","),DDS4B=$P(DDS4FLD,",",2)
! 116: . S DDSOLD=$G(@DDSREFT@("F0",DDS4DA,DDS4FLD,"O")),X=$G(^("D")),DDSEXT=$G(^("X"),X)
! 117: . X:$G(^DIST(.404,DDS4B,40,DDS4FO,23))'?."^" ^(23)
! 118: . S ^("O")=@DDSREFT@("F0",DDS4DA,DDS4FLD,"D"),^("F")=""
! 119: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>