| 1 | DITMGM2B ;SFISC/EDE(OHPRD),TKW-CONTINUATION OF DITMGM2 ;4/7/94  10:09
 | 
|---|
| 2 |  ;;22.0;VA FileMan;;Mar 30, 1999
 | 
|---|
| 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
 | 
|---|