| [613] | 1 | ENFACTT ;(WCIOFO)/SAB-FAP CAPITALIZATION THRESHOLD TASK ;5/29/2002 | 
|---|
|  | 2 | ;;7.0;ENGINEERING;**63,71**;August 17, 1993 | 
|---|
|  | 3 | Q | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | TASK ; One-time task to expense capitalized equipment that does not meet the | 
|---|
|  | 6 | ; new capitalization threshold | 
|---|
|  | 7 | ; input ENIO - output device for summary report | 
|---|
|  | 8 | ; | 
|---|
|  | 9 | K ^TMP($J,"BAD") | 
|---|
|  | 10 | K ^XTMP("ENFACTT") | 
|---|
|  | 11 | ; | 
|---|
|  | 12 | S ^XTMP("ENFACTT",0)=$$FMADD^XLFDT(DT,21)_U_DT | 
|---|
|  | 13 | S ^XTMP("ENFACTT",1)=0 | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | RESTART N ENDA,ENFUND,ENEQ,ENSGL,ENSN,ENVAL,ENT,ENX | 
|---|
|  | 16 | ; | 
|---|
|  | 17 | ; 1. Restore values in ENT array if compile needs to be restarted. | 
|---|
|  | 18 | ; 2. ^XTMP("ENFACTT","RESTART") is setup manaully. | 
|---|
|  | 19 | ; 3. ^XTMP("ENFACTT",1) has the next record to be processed. | 
|---|
|  | 20 | ; | 
|---|
|  | 21 | I $G(^XTMP("ENFACTT","RESTART"))=1 D | 
|---|
|  | 22 | . M ENT=^XTMP("ENFACTT",2) | 
|---|
|  | 23 | ; | 
|---|
|  | 24 | S ENDA=^XTMP("ENFACTT",1) ;Initial value of zero | 
|---|
|  | 25 | ; | 
|---|
|  | 26 | ; loop thru equipment in FA DOCUMENT LOG file | 
|---|
|  | 27 | F  S ENDA=$O(^ENG(6915.2,"B",ENDA)) Q:'ENDA  D | 
|---|
|  | 28 | . S ENEQ("DA")=ENDA | 
|---|
|  | 29 | . ; | 
|---|
|  | 30 | . S ^XTMP("ENFACTT",1)=ENDA ;Keep track of IEN | 
|---|
|  | 31 | . ; | 
|---|
|  | 32 | . Q:+$$CHKFA^ENFAUTL(ENDA)'>0  ; not currently reported to FA | 
|---|
|  | 33 | . ; | 
|---|
|  | 34 | . ;Data vaildation - No entry in the Equipment File | 
|---|
|  | 35 | . I '$D(^ENG(6914,ENDA)) D BAD^ENFACTX("NO ENTRY IN 6914") Q | 
|---|
|  | 36 | . ; | 
|---|
|  | 37 | . F I=2,8,9 K ENEQ(I) ;clear array | 
|---|
|  | 38 | . F I=2,8,9 S ENEQ(I)=$G(^ENG(6914,ENDA,I)) ;Get data from 6914 | 
|---|
|  | 39 | . ; | 
|---|
|  | 40 | . ;Data vaildation - Check for missing nodes | 
|---|
|  | 41 | . ;   1. Node 2 has the Total Asset Value | 
|---|
|  | 42 | . ;   2. Node 8 has the Standard General Ledger | 
|---|
|  | 43 | . ;   3. Node 9 has Station no. and Fund no. | 
|---|
|  | 44 | . ; | 
|---|
|  | 45 | . ;If missing do not place on report | 
|---|
|  | 46 | . I ENEQ(2)="" D BAD^ENFACTX("NODE 2 MISSING IN 6914") | 
|---|
|  | 47 | . I ENEQ(8)="" D BAD^ENFACTX("NODE 8 MISSING IN 6914") | 
|---|
|  | 48 | . I ENEQ(9)="" D BAD^ENFACTX("NODE 9 MISSING IN 6914") | 
|---|
|  | 49 | . ; | 
|---|
|  | 50 | . ;Missing pertinent information do not place on the report | 
|---|
|  | 51 | . I $D(^TMP($J,"BAD",ENDA)) Q | 
|---|
|  | 52 | . ; | 
|---|
|  | 53 | . ;Station Number - If missing do not process | 
|---|
|  | 54 | . S ENSN=$$GET1^DIQ(6914,ENDA_",",60)_" " S:ENSN=" " ENSN="UNK" | 
|---|
|  | 55 | . I ENSN="UNK" D BAD^ENFACTX("MISSING STATION NUMBER") | 
|---|
|  | 56 | . ; | 
|---|
|  | 57 | . ;Fund - If missing do not process | 
|---|
|  | 58 | . S ENFUND=$$GET1^DIQ(6914,ENDA_",",62)_" " S:ENFUND=" " ENFUND="UNK" | 
|---|
|  | 59 | . I ENFUND="UNK" D BAD^ENFACTX("MISSING FUND NUMBER") | 
|---|
|  | 60 | . ; | 
|---|
|  | 61 | . ;Standard General Ledger - If missing do not process | 
|---|
|  | 62 | . S ENSGL=$$GET1^DIQ(6914,ENDA_",",38) S:ENSGL="" ENSGL="UNK" | 
|---|
|  | 63 | . I ENSGL="UNK" D BAD^ENFACTX("MISSING GENERAL LEDGER NUMBER") | 
|---|
|  | 64 | . ; | 
|---|
|  | 65 | . ;Total asset value | 
|---|
|  | 66 | . S ENVAL=$$GET1^DIQ(6914,ENDA_",",12) S:ENVAL="" ENVAL="UNK" | 
|---|
|  | 67 | . I ENVAL="UNK" D BAD^ENFACTX("MISSING TOTAL ASSET VALUE") | 
|---|
|  | 68 | . ; | 
|---|
|  | 69 | . ;Missing pertinent information do not place on the report | 
|---|
|  | 70 | . I $D(^TMP($J,"BAD",ENDA)) Q | 
|---|
|  | 71 | . ; | 
|---|
|  | 72 | . ; update capitalized count and amount | 
|---|
|  | 73 | . S $P(ENT(ENSN,ENFUND,ENSGL),U,1)=$P($G(ENT(ENSN,ENFUND,ENSGL)),U)+1 | 
|---|
|  | 74 | . S $P(ENT(ENSN,ENFUND,ENSGL),U,2)=$P(ENT(ENSN,ENFUND,ENSGL),U,2)+ENVAL | 
|---|
|  | 75 | . ; | 
|---|
|  | 76 | . ; quit if item should not be expensed | 
|---|
|  | 77 | . Q:$$CHKEXP^ENFACTU(ENDA)'>0 | 
|---|
|  | 78 | . ; | 
|---|
|  | 79 | . ; expense it | 
|---|
|  | 80 | . S ENX=$$EXP^ENFACTX(ENDA) | 
|---|
|  | 81 | . ; | 
|---|
|  | 82 | . ; if not successful then ensure it is on problem list and quit | 
|---|
|  | 83 | . I 'ENX S:'$D(^TMP($J,"BAD",ENDA)) ^TMP($J,"BAD",ENDA)="" Q | 
|---|
|  | 84 | . ; | 
|---|
|  | 85 | . ; was successful so update expensed count and amount | 
|---|
|  | 86 | . S $P(ENT(ENSN,ENFUND,ENSGL),U,3)=$P(ENT(ENSN,ENFUND,ENSGL),U,3)+1 | 
|---|
|  | 87 | . S $P(ENT(ENSN,ENFUND,ENSGL),U,4)=$P(ENT(ENSN,ENFUND,ENSGL),U,4)+ENVAL | 
|---|
|  | 88 | . ; | 
|---|
|  | 89 | . ; Save data from array | 
|---|
|  | 90 | . S ^XTMP("ENFACTT",2,ENSN,ENFUND,ENSGL)=ENT(ENSN,ENFUND,ENSGL) | 
|---|
|  | 91 | ; | 
|---|
|  | 92 | ; save data for report in XTMP in case of problems during print | 
|---|
|  | 93 | K ^XTMP("ENFACT") | 
|---|
|  | 94 | S ^XTMP("ENFACT",0)=$$FMADD^XLFDT(DT,21)_U_DT ; purge date is T+21 | 
|---|
|  | 95 | I $D(^TMP($J,"BAD")) M ^XTMP("ENFACT","BAD")=^TMP($J,"BAD") | 
|---|
|  | 96 | I $D(ENT) M ^XTMP("ENFACT","ENT")=ENT | 
|---|
|  | 97 | ; | 
|---|
|  | 98 | QRPT ; queue a task to report results on device ENIO | 
|---|
|  | 99 | ; note: if a site needs to reprint the summary report for some reason | 
|---|
|  | 100 | ;       then enter the following commands at the programmer prompt | 
|---|
|  | 101 | ;        >S ENIO=name of an output device (.01 field of DEVICE file) | 
|---|
|  | 102 | ;        >D QRPT^ENFACTT | 
|---|
|  | 103 | S ZTRTN="RPT^ENFACTT" | 
|---|
|  | 104 | S ZTDESC="ENG Results of Capitalization Threshold Task" | 
|---|
|  | 105 | S ZTDTH=$H,ZTIO=ENIO | 
|---|
|  | 106 | D ^%ZTLOAD K ZTSK | 
|---|
|  | 107 | ; | 
|---|
|  | 108 | ; cleanup | 
|---|
|  | 109 | K ENIO | 
|---|
|  | 110 | K ^TMP($J,"BAD") | 
|---|
|  | 111 | S ZTREQ="@" | 
|---|
|  | 112 | Q | 
|---|
|  | 113 | ; | 
|---|
|  | 114 | RPT ; report results | 
|---|
|  | 115 | ; Input | 
|---|
|  | 116 | ;   ^XTMP("ENFACT","ENT",station,fund,sgl) | 
|---|
|  | 117 | ;      = starting capitalized count ^ $ ^ expensed by task count ^ $ | 
|---|
|  | 118 | ;   ^XTMP("ENFACT","BAD",ENDA) = # of problems for an equipment item | 
|---|
|  | 119 | ;   ^XTMP("ENFACT","BAD",ENDA,seqn #) = description of a problem | 
|---|
|  | 120 | ; | 
|---|
|  | 121 | N END,ENCAP,ENDA,ENDT,ENEXP,ENFUND,ENI,ENL,ENPG,ENSGL,ENSN,Y | 
|---|
|  | 122 | ; | 
|---|
|  | 123 | U IO | 
|---|
|  | 124 | S (END,ENPG)=0 D NOW^%DTC S Y=% D DD^%DT S ENDT=Y | 
|---|
|  | 125 | S ENL="",$P(ENL,"-",IOM)="" | 
|---|
|  | 126 | D RPTHD | 
|---|
|  | 127 | ; | 
|---|
|  | 128 | ; first report problems | 
|---|
|  | 129 | W !,$S($D(^XTMP("ENFACT","BAD")):"Some",1:"No") | 
|---|
|  | 130 | W " problems were detected while expensing items.",! | 
|---|
|  | 131 | S ENDA=0 F  S ENDA=$O(^XTMP("ENFACT","BAD",ENDA)) Q:'ENDA  D | 
|---|
|  | 132 | . I $Y+6>IOSL D RPTHD | 
|---|
|  | 133 | . W !,"ERROR : Couldn't create FD Doc. for ENTRY # "_ENDA | 
|---|
|  | 134 | . W !,"REASON:" | 
|---|
|  | 135 | . ; List Problems with Equipment/Document if known | 
|---|
|  | 136 | . S ENI=0 F  S ENI=$O(^XTMP("ENFACT","BAD",ENDA,ENI)) Q:'ENI  D | 
|---|
|  | 137 | . . I $Y+4>IOSL D RPTHD | 
|---|
|  | 138 | . . I ENI=1 W " "_$G(^XTMP("ENFACT","BAD",ENDA,ENI)),! Q | 
|---|
|  | 139 | . . W "        "_$G(^XTMP("ENFACT","BAD",ENDA,ENI)),! | 
|---|
|  | 140 | ; | 
|---|
|  | 141 | ; display summary | 
|---|
|  | 142 | K ENT M ENT=^XTMP("ENFACT","ENT") ; load into local array | 
|---|
|  | 143 | I $Y+8>IOSL D RPTHD | 
|---|
|  | 144 | I '$D(ENT) W !,"No capitalized equipment was found." | 
|---|
|  | 145 | E  W ! D RPTHDS | 
|---|
|  | 146 | ; loop thru ENT( by station, fund, SGL | 
|---|
|  | 147 | S ENSN="" F  S ENSN=$O(ENT(ENSN)) Q:ENSN=""  D | 
|---|
|  | 148 | . S ENFUND="" F  S ENFUND=$O(ENT(ENSN,ENFUND)) Q:ENFUND=""  D | 
|---|
|  | 149 | . . S ENSGL="" F  S ENSGL=$O(ENT(ENSN,ENFUND,ENSGL)) Q:ENSGL=""  D | 
|---|
|  | 150 | . . . I $Y+6>IOSL D RPTHD,RPTHDS | 
|---|
|  | 151 | . . . W !,?3,ENSN,?12,ENFUND,?20,ENSGL | 
|---|
|  | 152 | . . . S ENX=$G(ENT(ENSN,ENFUND,ENSGL)) | 
|---|
|  | 153 | . . . W ?27,$J($FN($P(ENX,U,1),",",0),5) | 
|---|
|  | 154 | . . . W ?33,$J($FN($P(ENX,U,2),",",2),14) | 
|---|
|  | 155 | . . . W ?50,$J($FN($P(ENX,U,3),",",0),5) | 
|---|
|  | 156 | . . . W ?56,$J($FN($P(ENX,U,4),",",2),14) | 
|---|
|  | 157 | . . . ; add to subtotals for station | 
|---|
|  | 158 | . . . S $P(ENT(ENSN),U,1)=$P($G(ENT(ENSN)),U,1)+$P(ENX,U,1) | 
|---|
|  | 159 | . . . S $P(ENT(ENSN),U,2)=$P(ENT(ENSN),U,2)+$P(ENX,U,2) | 
|---|
|  | 160 | . . . S $P(ENT(ENSN),U,3)=$P(ENT(ENSN),U,3)+$P(ENX,U,3) | 
|---|
|  | 161 | . . . S $P(ENT(ENSN),U,4)=$P(ENT(ENSN),U,4)+$P(ENX,U,4) | 
|---|
|  | 162 | . ; print subtotals for station | 
|---|
|  | 163 | . W !,?27,"-----",?33,"--------------" | 
|---|
|  | 164 | . W ?50,"-----",?56,"--------------" | 
|---|
|  | 165 | . W !,?3,ENSN,"totals" | 
|---|
|  | 166 | . W ?27,$J($FN($P(ENT(ENSN),U,1),",",0),5) | 
|---|
|  | 167 | . W ?33,$J($FN($P(ENT(ENSN),U,2),",",2),14) | 
|---|
|  | 168 | . W ?50,$J($FN($P(ENT(ENSN),U,3),",",0),5) | 
|---|
|  | 169 | . W ?56,$J($FN($P(ENT(ENSN),U,4),",",2),14),! | 
|---|
|  | 170 | ; | 
|---|
|  | 171 | ; wrapup | 
|---|
|  | 172 | K ENT | 
|---|
|  | 173 | S ZTREQ="@" | 
|---|
|  | 174 | D ^%ZISC | 
|---|
|  | 175 | Q | 
|---|
|  | 176 | ; | 
|---|
|  | 177 | RPTHD ; page header | 
|---|
|  | 178 | W @IOF | 
|---|
|  | 179 | S ENPG=ENPG+1 | 
|---|
|  | 180 | W !,"RESULTS OF ONE-TIME TASK TO EXPENSE EQUIP." | 
|---|
|  | 181 | W ?48,ENDT,?72,"page ",ENPG | 
|---|
|  | 182 | W !,ENL | 
|---|
|  | 183 | Q | 
|---|
|  | 184 | RPTHDS ; summary header | 
|---|
|  | 185 | W !,"                           Totals before task     Expensed by Task" | 
|---|
|  | 186 | W !,"   Station  Fund    SGL    Count  $ Amount        Count  $ Amount" | 
|---|
|  | 187 | W !,"   -------  ------  ----   ----- --------------   ----- --------------" | 
|---|
|  | 188 | Q | 
|---|
|  | 189 | ; | 
|---|
|  | 190 | REPRINT ;Call at this tag to reprint (ENG*7*71) | 
|---|
|  | 191 | ; | 
|---|
|  | 192 | W !,"PLEASE ENTER A VALID DEVICE TO REPRINT THE REPORT" | 
|---|
|  | 193 | W !,"           ** Do Not Use P-Message **",!! | 
|---|
|  | 194 | ; | 
|---|
|  | 195 | D ^%ZIS | 
|---|
|  | 196 | I IO=IO(0) D RPT^ENFACTT Q | 
|---|
|  | 197 | S ENIO=ION D QRPT^ENFACTT | 
|---|
|  | 198 | ; | 
|---|
|  | 199 | Q | 
|---|
|  | 200 | ; | 
|---|
|  | 201 | ;ENFACTT | 
|---|