| 1 | DITMU3(FILE,FIELD,ROOT) ;SFISC/EDE(OHPRD)-GET XREFS FOR ONE FIELD IN ONE FILE/SUBFILE ;
 | 
|---|
| 2 |  ;;22.0;VA FileMan;;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ; Given a file/subfile number, a field number, and a variable
 | 
|---|
| 6 |  ; from which to assign subscripted values, this routine will
 | 
|---|
| 7 |  ; return the xrefs for the specified field.
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  ; The returned xrefs will be subscripted from the ROOT as follows:
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 |  ;  ROOT(FIELD,n)     = file/subfile^xref (e.g. 9000010^AC)
 | 
|---|
| 12 |  ;  ROOT(FIELD,n,"K") = executable kill logic
 | 
|---|
| 13 |  ;  ROOT(FIELD,n,"S") = executable set logic
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 |  ; Formal list:
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 |  ; 1)  FILE   = file or subfile number (call by value)
 | 
|---|
| 18 |  ; 2)  FIELD  = field number (call by value)
 | 
|---|
| 19 |  ; 3)  ROOT   = array root (call by reference)
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 | START ;
 | 
|---|
| 22 |  NEW Y
 | 
|---|
| 23 |  F Y=0:0 S Y=$O(^DD(FILE,FIELD,1,Y)) Q:Y'=+Y  S ROOT(FIELD,Y)=^(Y,0),ROOT(FIELD,Y,"S")=^(1),ROOT(FIELD,Y,"K")=^(2)
 | 
|---|
| 24 |  Q
 | 
|---|