Annotation of freem_fileman/DIEV1.m, revision 1.1
1.1 ! snw 1: DIEV1 ;SFISC/DPC -- VARIABLE POINTER VALIDATION ;5/9/94 09:15
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: VP(DIEVF,DIEVFLD,DIEVFLG,DIEVAL,DIEV0,DIVPOUT) ;
! 5: N DIVPY,DIVPHITF,DIVPZ,DIVPVP,DIVPRNUM,DIVPFILE,DIVPSAVV,DIVPAMB,DIVPFLK
! 6: K DIVPOUT
! 7: S DIVPAMB=0
! 8: I DIEVAL'["."!($P(DIEVAL,".")="") D ALL,DONE Q
! 9: S DIVPSAVV=DIEVAL,DIVPFLK=$P(DIVPSAVV,"."),DIEVAL=$P(DIVPSAVV,".",2,99)
! 10: N DIVPVPS D VPNUMS(DIEVF,DIEVFLD,DIVPFLK,.DIVPVPS)
! 11: I $D(DIVPVPS) D
! 12: . S DIVPVP=""
! 13: . F S DIVPVP=$O(DIVPVPS(DIVPVP)) Q:DIVPVP="" D FINDVP Q:DIVPAMB
! 14: I DIVPAMB S DIVPOUT=U Q
! 15: I $D(DIVPY) D DONE Q
! 16: S DIEVAL=DIVPSAVV
! 17: D ALL,DONE
! 18: Q
! 19: ;
! 20: ALL ;
! 21: N DIVPORD S DIVPORD=0
! 22: F S DIVPORD=$O(^DD(DIEVF,DIEVFLD,"V","O",DIVPORD)) Q:'DIVPORD D Q:DIVPAMB
! 23: . S DIVPVP=$O(^DD(DIEVF,DIEVFLD,"V","O",DIVPORD,""))
! 24: . D FINDVP
! 25: Q
! 26: ;
! 27: VPNUMS(DIEVF,DIEVFLD,DIVPFLK,DIVPVPS) ;
! 28: I $D(^DD(DIEVF,DIEVFLD,"V","P",DIVPFLK)) S DIVPVPS($O(^(DIVPFLK,"")))="" Q
! 29: N DIVPMES S DIVPMES=""
! 30: F S DIVPMES=$O(^DD(DIEVF,DIEVFLD,"V","M",DIVPMES)) Q:DIVPMES="" D
! 31: . I $P(DIVPMES,DIVPFLK)="" S DIVPVPS($O(^DD(DIEVF,DIEVFLD,"V","M",DIVPMES,"")))=""
! 32: S DIVPFILE=0
! 33: F S DIVPFILE=$O(^DD(DIEVF,DIEVFLD,"V","B",DIVPFILE)) Q:DIVPFILE="" D
! 34: . I $P($$GET1^DID(DIVPFILE,"","","NAME"),DIVPFLK)="" S DIVPVPS($O(^DD(DIEVF,DIEVFLD,"V","B",DIVPFILE,"")))=""
! 35: Q
! 36: ;
! 37: FINDVP ;
! 38: S DIVPZ=^DD(DIEVF,DIEVFLD,"V",DIVPVP,0)
! 39: S DIVPFILE=+DIVPZ Q:'DIVPFILE
! 40: N DIVPECNT S DIVPECNT=$G(DIERR)
! 41: I $P(DIVPZ,U,5)="y" N DIC X ^DD(DIEVF,DIEVFLD,"V",DIVPVP,1)
! 42: I DIVPECNT'=$G(DIERR) D HKERR^DILIBF(DIEVF,"",DIEVFLD,"variable pointer screen") Q
! 43: S DIVPRNUM=$$FIND1^DIC(DIVPFILE,"","",DIEVAL,"",$G(DIC("S")))
! 44: I $D(^TMP("DIERR",$J,"E",299)) K DIVPY S DIVPAMB=1
! 45: I 'DIVPRNUM Q
! 46: I DIVPRNUM,'$D(DIVPY) S DIVPY=DIVPRNUM,DIVPHITF=DIVPFILE Q
! 47: I DIVPRNUM,$D(DIVPY) D
! 48: . K DIVPY
! 49: . S DIVPAMB=1
! 50: . N DIVPP S DIVPP(1)=DIEVAL D BLD^DIALOG(299,.DIVPP,.DIVPP)
! 51: Q
! 52: ;
! 53: DONE ;
! 54: I '$G(DIVPY) S DIVPOUT=U Q
! 55: S DIVPOUT=DIVPY_";"_$E($$GET1^DID(DIVPHITF,"","","GLOBAL NAME"),2,99)
! 56: D IT
! 57: I DIVPOUT=U Q
! 58: I DIEVFLG["E" S DIVPOUT(0)=$$EXTERNAL^DILFD(DIEVF,DIEVFLD,"",DIVPOUT)
! 59: Q
! 60: ;
! 61: IT ;
! 62: N X S X=DIVPOUT
! 63: N DIVPECNT S DIVPECNT=$G(DIERR)
! 64: I $G(DIEV0) X $P(DIEV0,U,5,99)
! 65: I '$G(DIEV0) X $P(^DD(DIEVF,DIEVFLD,0),U,5,99)
! 66: I DIVPECNT'=$G(DIERR) S DIVPOUT=U D HKERR^DILIBF(DIEVF,"",DIEVFLD,"input transform") Q
! 67: S DIVPOUT=$G(X,U)
! 68: Q
! 69: ;
! 70: VPFILES(DIEVF,DIEVFLD,DIVPFLK,DIVPANS) ;
! 71: N DIVPVPS,DIEVFILE
! 72: D VPNUMS(DIEVF,DIEVFLD,DIVPFLK,.DIVPVPS)
! 73: I '$D(DIVPVPS) Q
! 74: N DIVPVP S DIVPVP=""
! 75: F S DIVPVP=$O(DIVPVPS(DIVPVP)) Q:DIVPVP="" D
! 76: . S DIVPANS(+^DD(DIEVF,DIEVFLD,"V",DIVPVP,0))=""
! 77: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>