[613] | 1 | DG1010P0 ;ALB/REW - VA FORM 10-10 UTILITIES ;29 MAY 92
|
---|
| 2 | ;;5.3;Registration;;Aug 13, 1993
|
---|
| 3 | UNK(X,NA,BL) ;Returns a value depending on the FIRST true condition:
|
---|
| 4 | ; NA = 1 : 'NOT APPLICABLE'
|
---|
| 5 | ; X NOT NULL: X
|
---|
| 6 | ; BL = 1 : NULL VALUE
|
---|
| 7 | ; ELSE : 'UNANSWERED'
|
---|
| 8 | ; INPUT -- X Any value
|
---|
| 9 | ; NA,BL (Optional) [See above]
|
---|
| 10 | ; OUTPUT -- [Returned]
|
---|
| 11 | ; OUTPUT[Set] -- DGUNK =1 if NA=1 or X=""
|
---|
| 12 | S DGUNK=$S($G(NA):1,(X]""):0,1:1)
|
---|
| 13 | Q $S(($G(NA)):"NOT APPLICABLE",(X]""):X,($G(BL)):"",1:"UNANSWERED")
|
---|
| 14 | DISP(N,P,NA,BL) ;
|
---|
| 15 | ; Returns the Pth '^' piece of 'N'
|
---|
| 16 | ; Output is modified by NA & BL as per $$UNK[see above]
|
---|
| 17 | ; INPUT: N -- Contents of a node
|
---|
| 18 | ; P -- the Pth '^' piece
|
---|
| 19 | ; NA,BL -- Optional output modifiers
|
---|
| 20 | ; OUTPUT[Returned] -- X
|
---|
| 21 | ; OUTPUT[Set] -- DGUNK =1 if NA=1 or X=""
|
---|
| 22 | NEW X
|
---|
| 23 | S X=$P($G(N),"^",P)
|
---|
| 24 | S DGUNK=$S($G(NA):1,(X]""):0,1:1)
|
---|
| 25 | Q $S(($G(NA)):"NOT APPLICABLE",(X]""):X,($G(BL)):"",1:"UNANSWERED")
|
---|
| 26 | POINT(N,P,ROOT,P2,NA,BL) ;
|
---|
| 27 | ; Returns the external value of a pointer.
|
---|
| 28 | ; Output is modified by NA & BL as per $$UNK[see above]
|
---|
| 29 | ; INPUT:
|
---|
| 30 | ; N -- Contents of a node
|
---|
| 31 | ; P -- the Pth '^' piece that holds the pointer
|
---|
| 32 | ; ROOT -- The global root or filenumber if root is ^DIC(ROOT,
|
---|
| 33 | ; P2 -- The piece of the pointed-to file [Default=1]
|
---|
| 34 | ; NA,BL-- Optional output modifiers
|
---|
| 35 | ; OUTPUT[Returned] -- X
|
---|
| 36 | ; OUTPUT[Set] -- DGUNK =1 if NA=1 or (X or N)=""
|
---|
| 37 | NEW X,F
|
---|
| 38 | ; F -- VALUE OF FIELD
|
---|
| 39 | S:('$G(P2)) P2=1
|
---|
| 40 | S F=$P(N,"^",P)
|
---|
| 41 | S:+ROOT X=$P($G(^DIC(ROOT,+F,0)),U,P2)
|
---|
| 42 | S:(+ROOT=0) X=$P($G(@(ROOT_+F_",0)")),U,P2)
|
---|
| 43 | S DGUNK=$S($G(NA):1,(X]""):0,1:1)
|
---|
| 44 | Q $S(($G(NA)):"NOT APPLICABLE",(X]""):X,(F]""):"INVALID",($G(BL)):"",1:"UNANSWERED")
|
---|
| 45 | DATENP(N,P,NA,BL) ;
|
---|
| 46 | ; Returns External Value of Date in the Pth '^' piece of 'N'
|
---|
| 47 | ; Output is modified by NA & BL as per $$UNK[see above]
|
---|
| 48 | ; INPUT:
|
---|
| 49 | ; N -- Contents of a node
|
---|
| 50 | ; P -- the Pth '^' piece
|
---|
| 51 | ; NA,BL -- Optional output modifiers
|
---|
| 52 | ; OUTPUT[Returned] -- X
|
---|
| 53 | ; OUTPUT[Set] -- DGUNK =1 if NA=1 or X=""
|
---|
| 54 | N Y
|
---|
| 55 | S Y=$$DISP(N,P,+$G(NA),$G(BL))
|
---|
| 56 | I DGUNK G QDNP
|
---|
| 57 | X ^DD("DD")
|
---|
| 58 | QDNP ;
|
---|
| 59 | Q Y
|
---|
| 60 | YN2(N,P) ;
|
---|
| 61 | ; Ext Val of YES/NO given node & piece.
|
---|
| 62 | ;IN: N -- Val of Node
|
---|
| 63 | ; P -- Piece
|
---|
| 64 | ;OUT:[RETURN] -- Ext Val
|
---|
| 65 | S X=$P(N,"^",P)
|
---|
| 66 | Q $S((X="Y"):"YES",(X="N"):"NO",(X="U"):"UNKNOWN",(X=""):"UNANSWERED",("0"[X):"NO",("12"[X):"YES",("3"[X):"UNKNOWN",1:"INVALID")
|
---|