| 1 | ENFARC3 ;WIRMFO/SAB-FIXED ASSET RPT, TRANSACTION REGISTER (CONT); 12/16/1998
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**39,60**;Aug 17, 1993
 | 
|---|
| 3 |  Q
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 | FCPVAL(ENFILE,ENIEN,ENFAIEN) ; Determine prior values at time of FC
 | 
|---|
| 6 |  ; Input Variables
 | 
|---|
| 7 |  ;   ENFILE  - FAP document file for the input document
 | 
|---|
| 8 |  ;   ENIEN   - IEN of the input document in ENFILE
 | 
|---|
| 9 |  ;   ENFAIEN - IEN of the assoicated FA document
 | 
|---|
| 10 |  ; Returns
 | 
|---|
| 11 |  ;   EN(30)  - previous DESCRIPTION
 | 
|---|
| 12 |  ;   EN(34)  - previous ACQ METHOD CODE
 | 
|---|
| 13 |  ;   EN(105) - previous ACQ DATE (FileMan format)
 | 
|---|
| 14 |  ;   also when betterment = 00
 | 
|---|
| 15 |  ;   EN(29)  - previous LOCATION (NATIONAL EIL)
 | 
|---|
| 16 |  ;   EN(37)  - previous USEFUL LIFE
 | 
|---|
| 17 |  ;   EN(106) - previous REPL DATE (FileMan format)
 | 
|---|
| 18 |  Q:ENFILE'=6915.4  ; must be FC Document
 | 
|---|
| 19 |  N ENDA,ENDOC,ENDTC,ENFC,ENY
 | 
|---|
| 20 |  ; get initial values (from FA or FB)
 | 
|---|
| 21 |  S (EN(30),EN(34),EN(105),EN(29),EN(37),EN(106))=""
 | 
|---|
| 22 |  S ENFC("BETR")=$P($G(^ENG(ENFILE,ENIEN,3)),U,8)
 | 
|---|
| 23 |  I ENFC("BETR")="00" D
 | 
|---|
| 24 |  . S ENDTC("I")=$P($G(^ENG(6915.2,ENFAIEN,0)),U,2) ; date/time of FA
 | 
|---|
| 25 |  . S ENY(3)=$G(^ENG(6915.2,ENFAIEN,3))
 | 
|---|
| 26 |  . S EN(30)=$P(ENY(3),U,15)
 | 
|---|
| 27 |  . S EN(34)=$P(ENY(3),U,19)
 | 
|---|
| 28 |  . I $P(ENY(3),U,16)]"" D
 | 
|---|
| 29 |  . . S EN(105)=$P(ENY(3),U,16)-1700
 | 
|---|
| 30 |  . . S EN(105)=EN(105)_$E("00",1,2-$L($P(ENY(3),U,17)))_$P(ENY(3),U,17)
 | 
|---|
| 31 |  . . S EN(105)=EN(105)_$E("00",1,2-$L($P(ENY(3),U,18)))_$P(ENY(3),U,18)
 | 
|---|
| 32 |  . S EN(29)=$P(ENY(3),U,8)
 | 
|---|
| 33 |  . S EN(37)=$P(ENY(3),U,24)
 | 
|---|
| 34 |  . I $P(ENY(3),U,21)]"" D
 | 
|---|
| 35 |  . . S EN(106)=$P(ENY(3),U,21)-1700
 | 
|---|
| 36 |  . . S EN(106)=EN(106)_$E("00",1,2-$L($P(ENY(3),U,22)))_$P(ENY(3),U,22)
 | 
|---|
| 37 |  . . S EN(106)=EN(106)_$E("00",1,2-$L($P(ENY(3),U,23)))_$P(ENY(3),U,23)
 | 
|---|
| 38 |  I ENFC("BETR")'="00" D
 | 
|---|
| 39 |  . S ENFC("FB")=$P($G(^ENG(6915.4,ENIEN,100)),U,5) ; betterment pointer
 | 
|---|
| 40 |  . S ENDTC("I")=$P($G(^ENG(6915.3,ENFC("FB"),0)),U,2) ; date/time of FB
 | 
|---|
| 41 |  . S ENY(3)=$S(ENFC("FB"):$G(^ENG(6915.3,ENFC("FB"),3)),1:"")
 | 
|---|
| 42 |  . S EN(30)=$P(ENY(3),U,8)
 | 
|---|
| 43 |  . S EN(34)=$P(ENY(3),U,12)
 | 
|---|
| 44 |  . I $P(ENY(3),U,9)]"" D
 | 
|---|
| 45 |  . . S EN(105)=$P(ENY(3),U,9)-1700
 | 
|---|
| 46 |  . . S EN(105)=EN(105)_$E("00",1,2-$L($P(ENY(3),U,10)))_$P(ENY(3),U,10)
 | 
|---|
| 47 |  . . S EN(105)=EN(105)_$E("00",1,2-$L($P(ENY(3),U,11)))_$P(ENY(3),U,11)
 | 
|---|
| 48 |  ; Construct chrono list of FC and FR in time frame for Equipment
 | 
|---|
| 49 |  S ENY(0)=$G(^ENG(ENFILE,ENIEN,0))
 | 
|---|
| 50 |  S ENDA("EQ")=$P(ENY(0),U) ; equip id
 | 
|---|
| 51 |  S ENDTC("F?")=$P(ENY(0),U,2) ; date/time of input doc
 | 
|---|
| 52 |  ;   add FC documents to list
 | 
|---|
| 53 |  S ENDA("FC")=0
 | 
|---|
| 54 |  F  S ENDA("FC")=$O(^ENG(6915.4,"B",ENDA("EQ"),ENDA("FC"))) Q:'ENDA("FC")  D
 | 
|---|
| 55 |  . S ENDTC("FC")=$P($G(^ENG(6915.4,ENDA("FC"),0)),U,2)
 | 
|---|
| 56 |  . I ENDTC("FC")>ENDTC("I"),ENDTC("FC")<ENDTC("F?") D
 | 
|---|
| 57 |  . . Q:ENFC("BETR")'=$P($G(^ENG(ENFILE,ENDA("FC"),3)),U,8)  ; diff betr
 | 
|---|
| 58 |  . . S ENDOC(ENDTC("FC"),"6915.4;"_ENDA("FC"))=""
 | 
|---|
| 59 |  ;   add FR documents to list
 | 
|---|
| 60 |  S ENDA("FR")=0
 | 
|---|
| 61 |  F  S ENDA("FR")=$O(^ENG(6915.6,"B",ENDA("EQ"),ENDA("FR"))) Q:'ENDA("FR")  D
 | 
|---|
| 62 |  . S ENDTC("FR")=$P($G(^ENG(6915.6,ENDA("FR"),0)),U,2)
 | 
|---|
| 63 |  . I ENDTC("FR")>ENDTC("I"),ENDTC("FR")<ENDTC("F?") D
 | 
|---|
| 64 |  . . S ENDOC(ENDTC("FR"),"6915.6;"_ENDA("FR"))=""
 | 
|---|
| 65 |  ; Loop thru chrono list and update initial values as appropriate
 | 
|---|
| 66 |  S ENDTC="" F  S ENDTC=$O(ENDOC(ENDTC)) Q:ENDTC=""  D
 | 
|---|
| 67 |  . S ENY="" F  S ENY=$O(ENDOC(ENDTC,ENY)) Q:ENY=""  D
 | 
|---|
| 68 |  . . S ENFILE=$P(ENY,";"),ENDA=$P(ENY,";",2)
 | 
|---|
| 69 |  . . I ENFILE=6915.4 D  ; FC Document
 | 
|---|
| 70 |  . . . S ENY(3)=$G(^ENG(6915.4,ENDA,3))
 | 
|---|
| 71 |  . . . S ENY(4)=$G(^ENG(6915.4,ENDA,4))
 | 
|---|
| 72 |  . . . S ENY(100)=$G(^ENG(6915.4,ENDA,100))
 | 
|---|
| 73 |  . . . S:$P(ENY(3),U,11)]"" EN(30)=$P(ENY(3),U,11)
 | 
|---|
| 74 |  . . . S:$P(ENY(3),U,15)]"" EN(34)=$P(ENY(3),U,15)
 | 
|---|
| 75 |  . . . S:$P(ENY(100),U,6)]"" EN(105)=$P(ENY(100),U,6)
 | 
|---|
| 76 |  . . . S:$P(ENY(3),U,10)]"" EN(29)=$P(ENY(3),U,10)
 | 
|---|
| 77 |  . . . S:$P(ENY(4),U,3)]"" EN(37)=$P(ENY(4),U,3)
 | 
|---|
| 78 |  . . . S:$P(ENY(100),U,7)]"" EN(106)=$P(ENY(100),U,Y)
 | 
|---|
| 79 |  . . I ENFILE=6915.6 D  ; FR Document
 | 
|---|
| 80 |  . . . S ENY(3)=$G(^ENG(6915.6,ENDA,3))
 | 
|---|
| 81 |  . . . S:$P(ENY(3),U,14)]"" EN(29)=$P(ENY(3),U,14)
 | 
|---|
| 82 |  Q
 | 
|---|
| 83 | FRPVAL(ENFILE,ENIEN,ENFAIEN) ; Determine prior values at time of FR
 | 
|---|
| 84 |  ; Input Variables
 | 
|---|
| 85 |  ;   ENFILE  - FAP document file for the input document
 | 
|---|
| 86 |  ;   ENIEN   - IEN of the input document in ENFILE
 | 
|---|
| 87 |  ;   ENFAIEN - IEN of the assoicated FA document
 | 
|---|
| 88 |  ; Returns
 | 
|---|
| 89 |  ;   EN(28)  - previous FUND
 | 
|---|
| 90 |  ;   EN(29)  - previous A/O
 | 
|---|
| 91 |  ;   EN(32)  - previous BOC
 | 
|---|
| 92 |  ;   EN(33)  - previous LOCATION (NATIONAL EIL)
 | 
|---|
| 93 |  ;   EN(34)  - previous COST CENTER
 | 
|---|
| 94 |  ;   EN(37)  - previous XAREA (CMR)
 | 
|---|
| 95 |  Q:ENFILE'=6915.6  ; must be FR Document
 | 
|---|
| 96 |  N ENDA,ENDOC,ENDTC,ENFC,ENY
 | 
|---|
| 97 |  ; get initial values (from FA)
 | 
|---|
| 98 |  S (EN(28),EN(29),EN(32),EN(33),EN(34))=""
 | 
|---|
| 99 |  S ENDTC("I")=$P($G(^ENG(6915.2,ENFAIEN,0)),U,2) ; date/time of FA
 | 
|---|
| 100 |  S ENY(3)=$G(^ENG(6915.2,ENFAIEN,3))
 | 
|---|
| 101 |  S EN(28)=$P(ENY(3),U,10)
 | 
|---|
| 102 |  S EN(29)=$P(ENY(3),U,11)
 | 
|---|
| 103 |  S EN(32)=$P(ENY(3),U,14)
 | 
|---|
| 104 |  S EN(33)=$P(ENY(3),U,8)
 | 
|---|
| 105 |  S EN(34)=$P(ENY(3),U,28)
 | 
|---|
| 106 |  S EN(37)=$P(ENY(3),U,31)
 | 
|---|
| 107 |  ; Construct chrono list of FC and FR in time frame for Equipment
 | 
|---|
| 108 |  S ENY(0)=$G(^ENG(ENFILE,ENIEN,0))
 | 
|---|
| 109 |  S ENDA("EQ")=$P(ENY(0),U) ; equip id
 | 
|---|
| 110 |  S ENDTC("F?")=$P(ENY(0),U,2) ; date/time of input doc
 | 
|---|
| 111 |  ;   add FC documents to list
 | 
|---|
| 112 |  S ENDA("FC")=0
 | 
|---|
| 113 |  F  S ENDA("FC")=$O(^ENG(6915.4,"B",ENDA("EQ"),ENDA("FC"))) Q:'ENDA("FC")  D
 | 
|---|
| 114 |  . S ENDTC("FC")=$P($G(^ENG(6915.4,ENDA("FC"),0)),U,2)
 | 
|---|
| 115 |  . I ENDTC("FC")>ENDTC("I"),ENDTC("FC")<ENDTC("F?") D
 | 
|---|
| 116 |  . . Q:$P($G(^ENG(ENFILE,ENDA("FC"),3)),U,8)'="00"  ; not FC to FA
 | 
|---|
| 117 |  . . S ENDOC(ENDTC("FC"),"6915.4;"_ENDA("FC"))=""
 | 
|---|
| 118 |  ;   add FR documents to list
 | 
|---|
| 119 |  S ENDA("FR")=0
 | 
|---|
| 120 |  F  S ENDA("FR")=$O(^ENG(6915.6,"B",ENDA("EQ"),ENDA("FR"))) Q:'ENDA("FR")  D
 | 
|---|
| 121 |  . S ENDTC("FR")=$P($G(^ENG(6915.6,ENDA("FR"),0)),U,2)
 | 
|---|
| 122 |  . I ENDTC("FR")>ENDTC("I"),ENDTC("FR")<ENDTC("F?") D
 | 
|---|
| 123 |  . . S ENDOC(ENDTC("FR"),"6915.6;"_ENDA("FR"))=""
 | 
|---|
| 124 |  ; Loop thru chrono list and update initial values as appropriate
 | 
|---|
| 125 |  S ENDTC="" F  S ENDTC=$O(ENDOC(ENDTC)) Q:ENDTC=""  D
 | 
|---|
| 126 |  . S ENY="" F  S ENY=$O(ENDOC(ENDTC,ENY)) Q:ENY=""  D
 | 
|---|
| 127 |  . . S ENFILE=$P(ENY,";"),ENDA=$P(ENY,";",2)
 | 
|---|
| 128 |  . . I ENFILE=6915.4 D  ; FC Document
 | 
|---|
| 129 |  . . . S ENY(3)=$G(^ENG(6915.4,ENDA,3))
 | 
|---|
| 130 |  . . . S:$P(ENY(3),U,10)]"" EN(33)=$P(ENY(3),U,10) ; location
 | 
|---|
| 131 |  . . I ENFILE=6915.6 D  ; FR Document
 | 
|---|
| 132 |  . . . S ENY(3)=$G(^ENG(6915.6,ENDA,3))
 | 
|---|
| 133 |  . . . S:$P(ENY(3),U,9)]"" EN(28)=$P(ENY(3),U,9) ; fund
 | 
|---|
| 134 |  . . . S:$P(ENY(3),U,10)]"" EN(29)=$P(ENY(3),U,10) ; a/o
 | 
|---|
| 135 |  . . . S:$P(ENY(3),U,13)]"" EN(32)=$P(ENY(3),U,13) ; boc
 | 
|---|
| 136 |  . . . S:$P(ENY(3),U,14)]"" EN(33)=$P(ENY(3),U,14) ; location
 | 
|---|
| 137 |  . . . S:$P(ENY(3),U,15)]"" EN(34)=$P(ENY(3),U,15) ; cost ctr
 | 
|---|
| 138 |  . . . S:$P(ENY(3),U,18)]"" EN(37)=$P(ENY(3),U,18) ; xarea
 | 
|---|
| 139 |  Q
 | 
|---|
| 140 |  ;ENFARC3
 | 
|---|