[613] | 1 | ENLIB4 ;(WASH IRMFO)/DH-Package Utilities (Facility Equip) ;9.29.98
|
---|
| 2 | ;;7.0;ENGINEERING;**55**;Aug 17,1993
|
---|
| 3 | ;
|
---|
| 4 | ADDUS ; Maintain the utility system field down the parent/child hierarchy
|
---|
| 5 | ; Called at set of field #82 in file #6914
|
---|
| 6 | ; Uses recursion to climb up and down the "AE" x-ref
|
---|
| 7 | ; Will not maintain local x-refs on field #82
|
---|
| 8 | N COUNT,PARNT,PRECRSR
|
---|
| 9 | S COUNT=0,PRECRSR="" I $O(^ENG(6914,"AE",DA,0)) D ADRCRSN(DA,PRECRSR)
|
---|
| 10 | I COUNT D EN^DDIOL(COUNT_" subsidiary records were set.") I $D(DJJ(21)) H 5 ; causes the old eng dj screen handler to pause
|
---|
| 11 | Q
|
---|
| 12 | ;
|
---|
| 13 | ADRCRSN(PARNT,PRECRSR) ; navigate the "AE" x-ref
|
---|
| 14 | N CHILD
|
---|
| 15 | S CHILD=0 F S CHILD=$O(^ENG(6914,"AE",PARNT,CHILD)) Q:'CHILD D
|
---|
| 16 | . Q:","_PRECRSR_PARNT_","[(","_CHILD_",") ; avoid the endless loop
|
---|
| 17 | . S $P(^ENG(6914,CHILD,9),U,12)=X,COUNT=COUNT+1
|
---|
| 18 | . ; if child has children then keep digging
|
---|
| 19 | . I $O(^ENG(6914,"AE",CHILD,0)) D ADRCRSN(CHILD,PRECRSR_PARNT_",")
|
---|
| 20 | Q
|
---|
| 21 | ;
|
---|
| 22 | KILLUS ; Maintain the utility system field down the parent/child hierarchy
|
---|
| 23 | ; Called at kill
|
---|
| 24 | N PARNT,PRECRSR
|
---|
| 25 | S PRECRSR="" I $O(^ENG(6914,"AE",DA,0)) D KLRCRSN(DA,PRECRSR)
|
---|
| 26 | Q
|
---|
| 27 | ;
|
---|
| 28 | KLRCRSN(PARNT,PRECRSR) ; navigate the "AE" x-ref, deleting utility systems field of all the children
|
---|
| 29 | N CHILD
|
---|
| 30 | S CHILD=0 F S CHILD=$O(^ENG(6914,"AE",PARNT,CHILD)) Q:'CHILD D
|
---|
| 31 | . Q:","_PRECRSR_PARNT_","[(","_CHILD_",") ; avoid the endless loop
|
---|
| 32 | . S $P(^ENG(6914,CHILD,9),U,12)=""
|
---|
| 33 | . ; if child has children then keep digging
|
---|
| 34 | . I $O(^ENG(6914,"AE",CHILD,0)) D KLRCRSN(CHILD,PRECRSR_PARNT_",")
|
---|
| 35 | Q
|
---|
| 36 | ;
|
---|
| 37 | EDITY2 ; called upon edit of Y2K category, restricts screen edits
|
---|
| 38 | Q:$P($G(DJJ(25)),U,3)'=71 ; quit if not screen edit
|
---|
| 39 | I $G(V(25))="","FC^NA"[X Q ; for screen edit to work, existing entry must be null and selected entry must be NA or FC
|
---|
| 40 | D EN^DDIOL("You must use the Y2K module for this edit.")
|
---|
| 41 | S X=$$GET1^DIQ(6914,DA,71,"I") H 5
|
---|
| 42 | Q
|
---|
| 43 | ;ENLIB4
|
---|