Annotation of freem_fileman/DITMGM2B.m, revision 1.1
1.1 ! snw 1: DITMGM2B ;SFISC/EDE(OHPRD),TKW-CONTINUATION OF DITMGM2 ;4/7/94 10:09
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: ;
! 5: ;
! 6: SEARCH ; $O THRU DATA GBL
! 7: Q:'$O(@(DITMGMG_"0)"))
! 8: W:'$D(DITMGM2("NOTALK")) !,"No REGULAR xref on ",DITMGMFL,",",DITMGMFD,". ",+$P(^(0),U,4)," entries. Searching data global."
! 9: F DITMGMN=0:0 S DITMGMN=$O(@(DITMGMG_DITMGMN_")")) Q:DITMGMN'=+DITMGMN D
! 10: . I DITMGMMU D SEARCHM Q
! 11: . I $D(^(DITMGMN,DITMGMNO)),$P(^(DITMGMNO),U,DITMGMPC)=DITMGMF D ENTRY
! 12: . Q
! 13: Q
! 14: ;
! 15: SEARCHM ; $O THRU DATA GBL FOR MULTIPLES (TOP)
! 16: S DITMGMDN=+$P(DITMGMGM,"DA(",2)
! 17: S DA(DITMGMDN)=DITMGMN,DITMGDA(DITMGMDN)=DITMGMN
! 18: S DITMGMGG=$P(DITMGMGM,"DA(",1)_"DA("_DITMGMDN_"),"
! 19: S DITMGMDN=DITMGMDN-1
! 20: NEW DITMGMN
! 21: D SEARCHM2
! 22: K DA,DITMGDA,DITMGMGG
! 23: Q
! 24: ;
! 25: SEARCHM2 ; MIDDLE (CALLED RECURSIVELY)
! 26: I '$F(DITMGMGM,"DA("_DITMGMDN_"),") D SEARCHM3 Q
! 27: S DITMGMGG=$P(DITMGMGM,",DA("_DITMGMDN_"),",1)_","
! 28: F DITMGDA(DITMGMDN)=0:0 S DITMGDA(DITMGMDN)=$O(@(DITMGMGG_DITMGDA(DITMGMDN)_")")) Q:DITMGDA(DITMGMDN)'=+DITMGDA(DITMGMDN) S DA(DITMGMDN)=DITMGDA(DITMGMDN) D SEARCHM4
! 29: Q
! 30: ;
! 31: SEARCHM3 ; BOTTOM
! 32: D SETDA
! 33: F DITMGMN=0:0 S DITMGMN=$O(@(DITMGMGM_DITMGMN_")")) Q:DITMGMN'=+DITMGMN I $D(^(DITMGMN,DITMGMNO)),$P(^(DITMGMNO),U,DITMGMPC)=DITMGMF D ENTRY,SETDA
! 34: Q
! 35: ;
! 36: SETDA ; SET DA ARRAY
! 37: K DA
! 38: F I=1:1 Q:'$D(DITMGDA(I)) S DA(I)=DITMGDA(I)
! 39: Q
! 40: ;
! 41: SEARCHM4 ; RECURSE
! 42: S DITMGMDN=DITMGMDN-1
! 43: D SEARCHM2
! 44: S DITMGMDN=DITMGMDN+1
! 45: Q
! 46: ;
! 47: ENTRY ; PROCESS ONE FILE/SUBFILE ENTRY
! 48: D ENTRY^DITMGM2C
! 49: Q
! 50: ;
! 51: INIT ;
! 52: K DITMGMQF
! 53: K DITMGMRG("ERROR") S DITMGMEC=0
! 54: S:$D(ZTQUEUED) DITMGM2("NOTALK")=1
! 55: S:$D(ZTSK) DITMGM2("NOTALK")=1 ; old Kernel
! 56: I '$D(DITMGMFL) S DITMGMQF=20 Q
! 57: I 'DITMGMFL S DITMGMQF=20 Q
! 58: I '$D(^DIC(DITMGMFL,0,"GL")) S DITMGMQF=20 Q
! 59: S DITMGMFG=^("GL")
! 60: I '$D(DITMGMF)!('$D(DITMGMT)) S DITMGMQF=21 Q
! 61: I 'DITMGMF!('DITMGMT)!(DITMGMF=DITMGMT) S DITMGMQF=22 Q
! 62: I '$D(@(DITMGMFG_DITMGMF_",0)")) S DITMGMQF=23 Q
! 63: I '$D(@(DITMGMFG_DITMGMT_",0)")) S DITMGMQF=24 Q
! 64: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>