| 1 | ENFACTL ;(WCIOFO)/SAB-FAP CAPITALIZATION THRESHOLD LIST ;10/14/1999
 | 
|---|
| 2 |  ;;7.0;ENGINEERING;**63**;Aug 17, 1993
 | 
|---|
| 3 | EN ;
 | 
|---|
| 4 |  ; ask device
 | 
|---|
| 5 |  S %ZIS="QM" D ^%ZIS G:POP EXIT
 | 
|---|
| 6 |  I $D(IO("Q")) D  G EXIT
 | 
|---|
| 7 |  . S ZTRTN="QEN^ENFACTL"
 | 
|---|
| 8 |  . S ZTDESC="ENG List Equip to be Expensed"
 | 
|---|
| 9 |  . D ^%ZTLOAD,HOME^%ZIS K ZTSK
 | 
|---|
| 10 |  ;
 | 
|---|
| 11 | QEN ; queued entry
 | 
|---|
| 12 |  U IO
 | 
|---|
| 13 |  ;
 | 
|---|
| 14 | COLLECT ; collect data
 | 
|---|
| 15 |  S END=0 ; init flag, =true if user stopped job
 | 
|---|
| 16 |  K ENT ; totals ENT(station,fund,sgl)
 | 
|---|
| 17 |  ;       =capitalized count^$^to be expensed count^$
 | 
|---|
| 18 |  K ^TMP($J)
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 |  ; loop thru equipment in FA DOCUMENT LOG file
 | 
|---|
| 21 |  S ENDA=0 F  S ENDA=$O(^ENG(6915.2,"B",ENDA)) Q:'ENDA  D
 | 
|---|
| 22 |  . Q:+$$CHKFA^ENFAUTL(ENDA)'>0  ; not currently reported to FAP
 | 
|---|
| 23 |  . ; get equipment data
 | 
|---|
| 24 |  . S ENSN=$$GET1^DIQ(6914,ENDA_",",60)_" " S:ENSN=" " ENSN="UNK"
 | 
|---|
| 25 |  . S ENFUND=$$GET1^DIQ(6914,ENDA_",",62)_" " S:ENFUND=" " ENFUND="UNK"
 | 
|---|
| 26 |  . S ENSGL=$$GET1^DIQ(6914,ENDA_",",38) S:ENSGL="" ENSGL="UNK"
 | 
|---|
| 27 |  . S ENVAL=$$GET1^DIQ(6914,ENDA_",",12)
 | 
|---|
| 28 |  . ; update capitalized count and amount
 | 
|---|
| 29 |  . S $P(ENT(ENSN,ENFUND,ENSGL),U)=$P($G(ENT(ENSN,ENFUND,ENSGL)),U)+1
 | 
|---|
| 30 |  . S $P(ENT(ENSN,ENFUND,ENSGL),U,2)=$P(ENT(ENSN,ENFUND,ENSGL),U,2)+ENVAL
 | 
|---|
| 31 |  . ; quit if item should not be expensed
 | 
|---|
| 32 |  . Q:$P($$CHKEXP^ENFACTU(ENDA),U)'=1
 | 
|---|
| 33 |  . ; put on sorted list of items that will be expensed and update counts
 | 
|---|
| 34 |  . S ENSYS=+$$TOPSYS^ENFACTU(ENDA) ; plus value to treat ? as standalone
 | 
|---|
| 35 |  . S ENSYSV=+$S(ENSYS>0:$$SYSVAL^ENFACTU(ENSYS,"C"),1:ENVAL)
 | 
|---|
| 36 |  . S ^TMP($J,ENSN,ENSYSV,ENSYS,ENDA)=""
 | 
|---|
| 37 |  . S $P(ENT(ENSN,ENFUND,ENSGL),U,3)=$P(ENT(ENSN,ENFUND,ENSGL),U,3)+1
 | 
|---|
| 38 |  . S $P(ENT(ENSN,ENFUND,ENSGL),U,4)=$P(ENT(ENSN,ENFUND,ENSGL),U,4)+ENVAL
 | 
|---|
| 39 |  ;
 | 
|---|
| 40 | PRINT ; print results
 | 
|---|
| 41 |  S ENPG=0 D NOW^%DTC S Y=% D DD^%DT S ENDT=Y
 | 
|---|
| 42 |  S ENL="",$P(ENL,"-",IOM)=""
 | 
|---|
| 43 |  I '$D(ENT) S ENSN="" D HD  W !!,"Nothing to report."
 | 
|---|
| 44 |  ; loop thru ENT( by station
 | 
|---|
| 45 |  S ENSN="" F  S ENSN=$O(ENT(ENSN)) Q:ENSN=""  D  Q:END
 | 
|---|
| 46 |  . D HD Q:END
 | 
|---|
| 47 |  . I '$D(^TMP($J,ENSN)) W !!,"NO EQUIPMENT WILL BE EXPENSED BY CT TASK FOR THIS STATION."
 | 
|---|
| 48 |  . ; loop thru system values in ^TMP(
 | 
|---|
| 49 |  . S ENSYSV="" F  S ENSYSV=$O(^TMP($J,ENSN,ENSYSV)) Q:ENSYSV=""  D  Q:END
 | 
|---|
| 50 |  . . ; loop thru system # (will be 0 for standalone items)
 | 
|---|
| 51 |  . . S ENSYS=""
 | 
|---|
| 52 |  . . F  S ENSYS=$O(^TMP($J,ENSN,ENSYSV,ENSYS)) Q:ENSYS=""  D  Q:END
 | 
|---|
| 53 |  . . . ; if system then print parent data and system info
 | 
|---|
| 54 |  . . . I ENSYS>0 D
 | 
|---|
| 55 |  . . . . W !!,?2,"TOP PARENT SYSTEM ENTRY #: ",ENSYS
 | 
|---|
| 56 |  . . . . W ?40,"CMR: ",$E($$GET1^DIQ(6914,ENSYS,19),1,5)
 | 
|---|
| 57 |  . . . . W ?51,"Parent Value: "
 | 
|---|
| 58 |  . . . . I +$$CHKFA^ENFAUTL(ENSYS) W $FN($$GET1^DIQ(6914,ENSYS,12),",",2)
 | 
|---|
| 59 |  . . . . E  W "not in FAP"
 | 
|---|
| 60 |  . . . . S ENCSN=$$GET1^DIQ(6914,ENSYS,18)
 | 
|---|
| 61 |  . . . . W !,?2,"CATEGORY STOCK NUMBER: ",ENCSN
 | 
|---|
| 62 |  . . . . I ENCSN]"" W " (",$$GET1^DIQ(6914,ENSYS,"18:2"),")"
 | 
|---|
| 63 |  . . . . W !,?2,"Sum of Capitalized Values in System: "
 | 
|---|
| 64 |  . . . . W $FN(ENSYSV,",",2)
 | 
|---|
| 65 |  . . . ; loop thru equipment
 | 
|---|
| 66 |  . . . S ENDA=0
 | 
|---|
| 67 |  . . . F  S ENDA=$O(^TMP($J,ENSN,ENSYSV,ENSYS,ENDA)) Q:'ENDA  D  Q:END
 | 
|---|
| 68 |  . . . . Q:ENDA=ENSYS  ; already displayed as parent of system
 | 
|---|
| 69 |  . . . . I $Y+4>IOSL D HD Q:END  W " (continued)"
 | 
|---|
| 70 |  . . . . S ENCSN=$$GET1^DIQ(6914,ENDA,18)
 | 
|---|
| 71 |  . . . . ; print format for component of system
 | 
|---|
| 72 |  . . . . I ENSYS>0 D
 | 
|---|
| 73 |  . . . . . W !!,?6,"COMPONENT ENTRY #: ",ENDA
 | 
|---|
| 74 |  . . . . . W ?36,"CMR: ",$E($$GET1^DIQ(6914,ENDA,19),1,5)
 | 
|---|
| 75 |  . . . . . W ?47,"Component Value: ",$FN($$GET1^DIQ(6914,ENDA,12),",",2)
 | 
|---|
| 76 |  . . . . . W !,?6,"CATEGORY STOCK NUMBER: ",ENCSN
 | 
|---|
| 77 |  . . . . . I ENCSN]"" W " (",$$GET1^DIQ(6914,ENDA,"18:2"),")"
 | 
|---|
| 78 |  . . . . ; print format for standalone equipment
 | 
|---|
| 79 |  . . . . I ENSYS=0 D
 | 
|---|
| 80 |  . . . . . W !!,?2,"ENTRY #: ",ENDA
 | 
|---|
| 81 |  . . . . . W ?22,"CMR: ",$E($$GET1^DIQ(6914,ENDA,19),1,5)
 | 
|---|
| 82 |  . . . . . W ?33,"Value: ",$FN($$GET1^DIQ(6914,ENDA,12),",",2)
 | 
|---|
| 83 |  . . . . . W !,?2,"CATEGORY STOCK NUMBER: ",ENCSN
 | 
|---|
| 84 |  . . . . . I ENCSN]"" W " (",$$GET1^DIQ(6914,ENDA,"18:2"),")"
 | 
|---|
| 85 |  . Q:END
 | 
|---|
| 86 |  . ; print station totals
 | 
|---|
| 87 |  . I $Y+14>IOSL D HD Q:END  W " (continued)"
 | 
|---|
| 88 |  . D HDST
 | 
|---|
| 89 |  . S ENFUND="" F  S ENFUND=$O(ENT(ENSN,ENFUND)) Q:ENFUND=""  D  Q:END
 | 
|---|
| 90 |  . . S ENSGL=""
 | 
|---|
| 91 |  . . F  S ENSGL=$O(ENT(ENSN,ENFUND,ENSGL)) Q:ENSGL=""  D  Q:END
 | 
|---|
| 92 |  . . . I $Y+6>IOSL D HD Q:END  W " (continued)" D HDST
 | 
|---|
| 93 |  . . . W !,ENFUND,?7,ENSGL
 | 
|---|
| 94 |  . . . S ENX=$G(ENT(ENSN,ENFUND,ENSGL))
 | 
|---|
| 95 |  . . . W ?12,$J($FN($P(ENX,U,1),","),5)
 | 
|---|
| 96 |  . . . W ?18,$J($FN($P(ENX,U,2),",",2),14)
 | 
|---|
| 97 |  . . . W ?35,$J($FN($P(ENX,U,3),","),5)
 | 
|---|
| 98 |  . . . W ?41,$J($FN($P(ENX,U,4),",",2),14)
 | 
|---|
| 99 |  . . . W ?58,$J($FN($P(ENX,U,1)-$P(ENX,U,3),","),5)
 | 
|---|
| 100 |  . . . W ?64,$J($FN($P(ENX,U,2)-$P(ENX,U,4),",",2),14)
 | 
|---|
| 101 |  . . . ; add sgl to subtotals for station
 | 
|---|
| 102 |  . . . S $P(ENT(ENSN),U,1)=$P($G(ENT(ENSN)),U,1)+$P(ENX,U,1)
 | 
|---|
| 103 |  . . . S $P(ENT(ENSN),U,2)=$P(ENT(ENSN),U,2)+$P(ENX,U,2)
 | 
|---|
| 104 |  . . . S $P(ENT(ENSN),U,3)=$P(ENT(ENSN),U,3)+$P(ENX,U,3)
 | 
|---|
| 105 |  . . . S $P(ENT(ENSN),U,4)=$P(ENT(ENSN),U,4)+$P(ENX,U,4)
 | 
|---|
| 106 |  . W !,"            ----- --------------   ----- --------------   ----- --------------"
 | 
|---|
| 107 |  . W !,"Station Tot"
 | 
|---|
| 108 |  . W ?12,$J($FN($P(ENT(ENSN),U,1),","),5)
 | 
|---|
| 109 |  . W ?18,$J($FN($P(ENT(ENSN),U,2),",",2),14)
 | 
|---|
| 110 |  . W ?35,$J($FN($P(ENT(ENSN),U,3),","),5)
 | 
|---|
| 111 |  . W ?41,$J($FN($P(ENT(ENSN),U,4),",",2),14)
 | 
|---|
| 112 |  . W ?58,$J($FN($P(ENT(ENSN),U,1)-$P(ENT(ENSN),U,3),","),5)
 | 
|---|
| 113 |  . W ?64,$J($FN($P(ENT(ENSN),U,2)-$P(ENT(ENSN),U,4),",",2),14)
 | 
|---|
| 114 |  I END W !!,"REPORT STOPPED BY USER REQUEST"
 | 
|---|
| 115 |  I 'END,$E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR K DIR
 | 
|---|
| 116 |  D ^%ZISC
 | 
|---|
| 117 | EXIT I $D(ZTQUEUED) S ZTREQ="@"
 | 
|---|
| 118 |  K ^TMP($J)
 | 
|---|
| 119 |  K DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y,END,ENDT,ENL,ENPG
 | 
|---|
| 120 |  K ENCSN,ENDA,ENFUND,ENSGL,ENSN,ENSYS,ENSYSV,ENT,ENVAL,ENX
 | 
|---|
| 121 |  Q
 | 
|---|
| 122 |  ;
 | 
|---|
| 123 | HD ; header
 | 
|---|
| 124 |  I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1,END=1 Q
 | 
|---|
| 125 |  I $E(IOST,1,2)="C-",ENPG S DIR(0)="E" D ^DIR K DIR I 'Y S END=1 Q
 | 
|---|
| 126 |  I $E(IOST,1,2)="C-"!ENPG W @IOF
 | 
|---|
| 127 |  S ENPG=ENPG+1
 | 
|---|
| 128 |  W !,"EQUIPMENT CT TASK WILL EXPENSE sorted by value"
 | 
|---|
| 129 |  W ?49,ENDT,?72,"page ",ENPG
 | 
|---|
| 130 |  W !,ENL
 | 
|---|
| 131 |  I ENSN]"" W !,"STATION ",ENSN
 | 
|---|
| 132 |  Q
 | 
|---|
| 133 |  ;
 | 
|---|
| 134 | HDST ; header for station totals
 | 
|---|
| 135 |  W !!,"            Current Capitalized    CT Task Will Expense   Remain Capitalized"
 | 
|---|
| 136 |  W !,"Fund   SGL  Count   $ Amount       Count   $ Amount       Count   $ Amount"
 | 
|---|
| 137 |  W !,"------ ---- ----- --------------   ----- --------------   ----- --------------"
 | 
|---|
| 138 |  Q
 | 
|---|
| 139 |  ;ENFACTL
 | 
|---|