Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DITMGM2B

DITMGM2B.m

Go to the documentation of this file.
  1. DITMGM2B ;SFISC/EDE(OHPRD),TKW-CONTINUATION OF DITMGM2 ;4/7/94 10:09
  1. ;;22.0;VA FileMan;;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. ;
  1. ;
  1. Q:'$O(@(DITMGMG_"0)"))
  1. W:'$D(DITMGM2("NOTALK")) !,"No REGULAR xref on ",DITMGMFL,",",DITMGMFD,". ",+$P(^(0),U,4)," entries. Searching data global."
  1. F DITMGMN=0:0 S DITMGMN=$O(@(DITMGMG_DITMGMN_")")) Q:DITMGMN'=+DITMGMN D
  1. . I DITMGMMU D SEARCHM Q
  1. . I $D(^(DITMGMN,DITMGMNO)),$P(^(DITMGMNO),U,DITMGMPC)=DITMGMF D ENTRY
  1. . Q
  1. Q
  1. ;
  1. SEARCHM ; $O THRU DATA GBL FOR MULTIPLES (TOP)
  1. S DITMGMDN=+$P(DITMGMGM,"DA(",2)
  1. S DA(DITMGMDN)=DITMGMN,DITMGDA(DITMGMDN)=DITMGMN
  1. S DITMGMGG=$P(DITMGMGM,"DA(",1)_"DA("_DITMGMDN_"),"
  1. S DITMGMDN=DITMGMDN-1
  1. NEW DITMGMN
  1. D SEARCHM2
  1. K DA,DITMGDA,DITMGMGG
  1. Q
  1. ;
  1. SEARCHM2 ; MIDDLE (CALLED RECURSIVELY)
  1. I '$F(DITMGMGM,"DA("_DITMGMDN_"),") D SEARCHM3 Q
  1. S DITMGMGG=$P(DITMGMGM,",DA("_DITMGMDN_"),",1)_","
  1. F DITMGDA(DITMGMDN)=0:0 S DITMGDA(DITMGMDN)=$O(@(DITMGMGG_DITMGDA(DITMGMDN)_")")) Q:DITMGDA(DITMGMDN)'=+DITMGDA(DITMGMDN) S DA(DITMGMDN)=DITMGDA(DITMGMDN) D SEARCHM4
  1. Q
  1. ;
  1. SEARCHM3 ; BOTTOM
  1. D SETDA
  1. F DITMGMN=0:0 S DITMGMN=$O(@(DITMGMGM_DITMGMN_")")) Q:DITMGMN'=+DITMGMN I $D(^(DITMGMN,DITMGMNO)),$P(^(DITMGMNO),U,DITMGMPC)=DITMGMF D ENTRY,SETDA
  1. Q
  1. ;
  1. SETDA ; SET DA ARRAY
  1. K DA
  1. F I=1:1 Q:'$D(DITMGDA(I)) S DA(I)=DITMGDA(I)
  1. Q
  1. ;
  1. SEARCHM4 ; RECURSE
  1. S DITMGMDN=DITMGMDN-1
  1. D SEARCHM2
  1. S DITMGMDN=DITMGMDN+1
  1. Q
  1. ;
  1. ENTRY ; PROCESS ONE FILE/SUBFILE ENTRY
  1. D ENTRY^DITMGM2C
  1. Q
  1. ;
  1. INIT ;
  1. K DITMGMQF
  1. K DITMGMRG("ERROR") S DITMGMEC=0
  1. S:$D(ZTQUEUED) DITMGM2("NOTALK")=1
  1. S:$D(ZTSK) DITMGM2("NOTALK")=1 ; old Kernel
  1. I '$D(DITMGMFL) S DITMGMQF=20 Q
  1. I 'DITMGMFL S DITMGMQF=20 Q
  1. I '$D(^DIC(DITMGMFL,0,"GL")) S DITMGMQF=20 Q
  1. S DITMGMFG=^("GL")
  1. I '$D(DITMGMF)!('$D(DITMGMT)) S DITMGMQF=21 Q
  1. I 'DITMGMF!('DITMGMT)!(DITMGMF=DITMGMT) S DITMGMQF=22 Q
  1. I '$D(@(DITMGMFG_DITMGMF_",0)")) S DITMGMQF=23 Q
  1. I '$D(@(DITMGMFG_DITMGMT_",0)")) S DITMGMQF=24 Q
  1. Q