| 1 | DIFGGSB2 ;SFISC/DG,EDE(OHPRD)- ;6/19/92  9:28 AM
 | 
|---|
| 2 |  ;;22.0;VA FileMan;;Mar 30, 1999
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 | SPSPEC ; UNIQUE SPECIFIER
 | 
|---|
| 5 |  F DIFGSB(DILL,"SPSPEC")=0:0 S DIFGSB(DILL,"SPSPEC")=$O(^DD(DIFG(DILL,"FILE"),0,"SP",DIFGSB(DILL,"SPSPEC"))) Q:'DIFGSB(DILL,"SPSPEC")  I +^(DIFGSB(DILL,"SPSPEC")) Q:$P(^(DIFGSB(DILL,"SPSPEC")),U,2)'=""
 | 
|---|
| 6 |  Q:'DIFGSB(DILL,"SPSPEC")
 | 
|---|
| 7 |  I $P(^DD(DIFG(DILL,"FILE"),DIFGSB(DILL,"SPSPEC"),0),U,2)["P" S DIFGSB(DILL,"SPSPEC")=0 Q
 | 
|---|
| 8 |  S $P(DIFGSB(DILL,"SPSPEC"),U,2)=$P(^DD(DIFG(DILL,"FILE"),0,"SP",DIFGSB(DILL,"SPSPEC")),U,2)
 | 
|---|
| 9 |  S DIFGSB(DILL,"FLD")=+DIFGSB(DILL,"SPSPEC")
 | 
|---|
| 10 |  I '$D(DIFG(DILL,"MUL")) S DR=+DIFGSB(DILL,"SPSPEC")
 | 
|---|
| 11 |  E  S DR(DIFG(DILL,"FILE"))=+DIFGSB(DILL,"SPSPEC")
 | 
|---|
| 12 |  S DIFGSB(DILL,"SBT")="KEY:"
 | 
|---|
| 13 |  D FIELDS^DIFGGSB1
 | 
|---|
| 14 |  Q
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 | PTRCHK ; CHECK FOR POINTER FIELD
 | 
|---|
| 17 |  Q:$P(^DD(DIFG(DILL,"FILE"),DIFGSB(DILL,"FLD"),0),U,2)'["P"
 | 
|---|
| 18 |  S DITAB=DITAB+2
 | 
|---|
| 19 |  S DILL=DILL+1
 | 
|---|
| 20 |  D POINTER
 | 
|---|
| 21 |  S DITAB=DITAB-2
 | 
|---|
| 22 |  K DIFG(DILL)
 | 
|---|
| 23 |  S DILL=DILL-1
 | 
|---|
| 24 |  Q
 | 
|---|
| 25 |  ;
 | 
|---|
| 26 | POINTER ; POINTER FIELDS
 | 
|---|
| 27 |  S DIFG(DILL,"FILE")=+$P($P(^DD(DIFG(DILL-1,"FILE"),DIFGSB(DILL-1,"FLD"),0),U,2),"P",2),X=$P(^(0),U,4) S:$P(X,";")'=+X X=""""_$P(X,";")_""";"_$P(X,";",2)
 | 
|---|
| 28 |  I $D(DIFGGU(DIFG(DILL-1,"FILE"),DIFG(DILL-1,"FE"),DIFGSB(DILL-1,"FLD"),"P")) S DIFG(DILL,"FE")=DIFGGU(DIFG(DILL-1,"FILE"),DIFG(DILL-1,"FE"),DIFGSB(DILL-1,"FLD"),"P")
 | 
|---|
| 29 |  E  S DIFG(DILL,"FE")=$P(@(DIFG(DILL-1,"FGBL")_DIFG(DILL-1,"FE")_","_$P(X,";",1)_")"),U,$P(X,";",2))
 | 
|---|
| 30 |  I '$D(^DIC(DIFG(DILL,"FILE"),0)) D KILLLL^DIFGGU Q
 | 
|---|
| 31 |  S DIFG(DILL,"FGBL")=^DIC(DIFG(DILL,"FILE"),0,"GL"),DIFG(DILL,"FNAME")=$P(^DIC(DIFG(DILL,"FILE"),0),U,1)
 | 
|---|
| 32 |  I '$D(@(DIFG(DILL,"FGBL")_DIFG(DILL,"FE")_",0)")) D KILLLL^DIFGGU Q
 | 
|---|
| 33 |  I $D(Y),Y'="" S Z=Y,Y=""
 | 
|---|
| 34 |  I $D(DIFGENV("LAYGO",DIFG(DILL-1,"FILE"),DIFGSB(DILL-1,"FLD")))!($P(^DD(DIFG(DILL-1,"FILE"),DIFGSB(DILL-1,"FLD"),0),U,2)'["'") S DIFG(DILL,"NOKEY")=""
 | 
|---|
| 35 |  D START^DIFGGSB ; RECURSE
 | 
|---|
| 36 |  Q
 | 
|---|