| [613] | 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 | 
|---|