| 1 | ENEQRPI ;(WCIOFO)/DH,SAB-Equipment Inventory Listings ;10/12/1999 | 
|---|
| 2 | ;;7.0;ENGINEERING;**19,21,39,50,60,63**;Aug 17, 1993 | 
|---|
| 3 | ; | 
|---|
| 4 | HDR W @IOF,!!,"INVENTORY LISTING",!,"Version ",^ENG("VERSION"),! Q | 
|---|
| 5 | OUT K EN,ENSND Q | 
|---|
| 6 | ; | 
|---|
| 7 | COM S DIC="^ENG(6914,",L=0 | 
|---|
| 8 | S DIOEND="I IO=IO(0),$E(IOST,1,2)=""C-"" R !,""Press <RETURN> to continue..."",X:DTIME" | 
|---|
| 9 | I $D(^ENG(6910.2,"B","INVENTORY TEMPLATE")) S I=$O(^("INVENTORY TEMPLATE",0)) I I>0,$P(^ENG(6910.2,I,0),U,2)="L",$D(^DIPT("B","ENZEQ EQUIP. LIST")) S FLDS="[ENZEQ EQUIP. LIST]" | 
|---|
| 10 | E  S FLDS="[ENEQ EQUIP. LIST]" | 
|---|
| 11 | Q | 
|---|
| 12 | ; | 
|---|
| 13 | DTYP ;List by EQUIPMENT CATEGORY | 
|---|
| 14 | D COM S BY="#6" D EN1^DIP G OUT | 
|---|
| 15 | ; | 
|---|
| 16 | LOC ;List by LOCATION | 
|---|
| 17 | D COM S BY=$S($D(^DIBT("B","ENZ LOCATION")):"[ENZ LOCATION]",1:"[EN LOCATION]") D EN1^DIP G OUT | 
|---|
| 18 | ; | 
|---|
| 19 | SRV ;List by SERVICE POINTER | 
|---|
| 20 | D COM S BY="#21" D EN1^DIP G OUT | 
|---|
| 21 | ; | 
|---|
| 22 | SHOP ;List by RESPONSIBLE SHOP | 
|---|
| 23 | W !!,"Important note: SHOP NAME(S) MUST BE ENTERED IN RESPONSE TO THE 'START WITH'",!,"AND 'GO TO' PROMPTS. NUMBERS WILL NOT BE UNDERSTOOD BY THE SORT LOGIC." | 
|---|
| 24 | D COM S BY="#30,.01" D EN1^DIP G OUT | 
|---|
| 25 | ; | 
|---|
| 26 | STUS ;List by USE STATUS | 
|---|
| 27 | D COM S BY="#19,20" D EN1^DIP G OUT | 
|---|
| 28 | CMR ;Official CMR listing | 
|---|
| 29 | ; input- (optional) $D(ENNXEXP) true when Non-Expendable Expensed rpt | 
|---|
| 30 | S ENSND=$P($G(^DIC(6910,1,0)),U,2) ; default station # | 
|---|
| 31 | I ENSND="" W !!,*7,"The Eng Init Parameters File must contain a STATION NUMBER. Can't proceed." G OUT | 
|---|
| 32 | S DIC="^ENG(6914.1,",DIC(0)="AEQM",DIC("A")="Start WITH: " | 
|---|
| 33 | D ^DIC K DIC G:+Y'>0 OUT | 
|---|
| 34 | S EN("FR")=$P(^ENG(6914.1,+Y,0),U),EN("CMR",0)=+Y | 
|---|
| 35 | CMR1 ; ask go to | 
|---|
| 36 | K EN("TO") | 
|---|
| 37 | R !,"Go TO: ",X:DTIME G:X=""!($E(X)=U) OUT | 
|---|
| 38 | I X=" " S EN("TO")=EN("FR") W "  "_EN("TO") | 
|---|
| 39 | I '$D(EN("TO")),$E(X)'="?" S:X]EN("FR")!(X=EN("FR")) EN("TO")=X | 
|---|
| 40 | I '$D(EN("TO")) W $C(7),!!,"Please enter a CMR that does not preceed "_EN("FR")_"." G CMR1 | 
|---|
| 41 | ; if range then ask station number | 
|---|
| 42 | S EN("STA")="ALL" I EN("TO")]EN("FR") D  G:$D(DIRUT) OUT | 
|---|
| 43 | . S DIR(0)="Y" | 
|---|
| 44 | . S DIR("A")="Do you want to just print CMRs for a specific station" | 
|---|
| 45 | . S DIR("B")="NO" | 
|---|
| 46 | . S DIR("?",1)="Answer YES if you only want to print CMRs that have a" | 
|---|
| 47 | . S DIR("?",2)="specific value in their station number field. If the" | 
|---|
| 48 | . S DIR("?",3)="CMR's station number is blank, then it will be assumed" | 
|---|
| 49 | . S DIR("?",4)="to be "_ENSND_"." | 
|---|
| 50 | . S DIR("?",5)=" " | 
|---|
| 51 | . S DIR("?")="Enter either 'Y' or 'N'." | 
|---|
| 52 | . D ^DIR K DIR Q:'Y!$D(DIRUT) | 
|---|
| 53 | . S DIR(0)="6914.1,5",DA=EN("CMR",0) | 
|---|
| 54 | . D ^DIR K DIR Q:$D(DIRUT) | 
|---|
| 55 | . S EN("STA")=Y | 
|---|
| 56 | ; ask comments | 
|---|
| 57 | S DIR(0)="Y",DIR("A")="Should the COMMENTS field be printed" | 
|---|
| 58 | S DIR("B")="NO" | 
|---|
| 59 | D ^DIR K DIR G:$D(DIRUT) OUT S EN("COM")=Y | 
|---|
| 60 | ; ask device | 
|---|
| 61 | D DEV^ENLIB G:POP OUT | 
|---|
| 62 | I $D(IO("Q")) D  G OUT | 
|---|
| 63 | . S ZTRTN="CMR1A^ENEQRPI",ZTDESC="CMR LISTING" | 
|---|
| 64 | . S ZTSAVE("ENNXEXP")="" | 
|---|
| 65 | . S ZTSAVE("EN(""FR"")")="",ZTSAVE("EN(""TO"")")="" | 
|---|
| 66 | . S ZTSAVE("EN(""STA"")")="",ZTSAVE("EN(""COM"")")="" | 
|---|
| 67 | . S ZTSAVE("ENSND")="",ZTSAVE("EN(""CMR"",0)")="" | 
|---|
| 68 | . D ^%ZTLOAD K ZTSK D HOME^%ZIS | 
|---|
| 69 | CMR1A ; queued entry point | 
|---|
| 70 | S EN("IOP")=ION | 
|---|
| 71 | S EN("CMR")=EN("FR") | 
|---|
| 72 | I EN("STA")'="ALL" D  I EN("CMR",5)'=EN("STA") G CMR2A | 
|---|
| 73 | . S EN("CMR",5)=$$GET1^DIQ(6914.1,EN("CMR",0),5) ; station number | 
|---|
| 74 | . I EN("CMR",5)="" S EN("CMR",5)=ENSND ; default station # | 
|---|
| 75 | CMR2 ; cmr loop | 
|---|
| 76 | S DIC="^ENG(6914,",L=0 | 
|---|
| 77 | S IOP=EN("IOP"),BY=$S($D(^DIBT("B","ENZCMR")):"[ENZCMR]",1:"[ENCMR]") | 
|---|
| 78 | I '$D(ENNXEXP) D  ; CMR report | 
|---|
| 79 | . I EN("COM") S FLDS=$S($D(^DIPT("B","ENZCMRC")):"[ENZ",1:"[EN")_"CMRC]" | 
|---|
| 80 | . E  S FLDS=$S($D(^DIPT("B","ENZCMR")):"[ENZ",1:"[EN")_"CMR]" | 
|---|
| 81 | . S DHD=$S($D(^DIPT("B","ENZCMR HD")):"[ENZCMR HD]",1:"[ENCMR HD]") | 
|---|
| 82 | . S DHIT="D CMRCMP^ENEQRPI,CMRTOT^ENEQRPI" | 
|---|
| 83 | . S DIOEND="D:$D(ENT) SUM^ENEQCMR D:$D(ENCSN) SIG^ENEQCMR I IO=IO(0),$E(IOST,1,2)=""C-"" R !,""Press <RETURN> to continue..."",X:DTIME" | 
|---|
| 84 | . ; accountable equipment only (patch EN*7*63) | 
|---|
| 85 | . S DIS(0)="I ""^1^A^""[(U_$P($G(^ENG(6914,D0,8)),U,2)_U)" | 
|---|
| 86 | . ;S DIS(0)="I $P($G(^ENG(6914,D0,8)),U,2)!(""^10^23^70^""[(U_$S($P($G(^ENG(6914,D0,2)),U,8):$E($P($G(^ENCSN(6917,$P(^ENG(6914,D0,2),U,8),0)),U),1,2),1:"""")_U))" ; capitalized or adp, vech, or firearm | 
|---|
| 87 | I $D(ENNXEXP) D  ; NON-EXPENDABLE (EXPENSED) report | 
|---|
| 88 | . I EN("COM") S FLDS=$S($D(^DIPT("B","ENZEXPC")):"[ENZ",1:"[EN")_"EXPC]" | 
|---|
| 89 | . E  S FLDS=$S($D(^DIPT("B","ENZEXP")):"[ENZ",1:"[EN")_"EXP]" | 
|---|
| 90 | . S DHD=$S($D(^DIPT("B","ENZEXP HD")):"[ENZEXP HD]",1:"[ENEXP HD]") | 
|---|
| 91 | . S DHIT="D CMRCMP^ENEQRPI" | 
|---|
| 92 | . S DIOEND="I IO=IO(0),$E(IOST,1,2)=""C-"" R !,""Press <RETURN> to continue..."",X:DTIME" | 
|---|
| 93 | . ; only not accountable (patch EN*7*63) | 
|---|
| 94 | . S DIS(0)="I ""^1^A^""'[(U_$P($G(^ENG(6914,D0,8)),U,2)_U)" | 
|---|
| 95 | . ;S DIS(0)="I '$P($G(^ENG(6914,D0,8)),U,2)&'(""^10^23^70^""[(U_$S($P($G(^ENG(6914,D0,2)),U,8):$E($P($G(^ENCSN(6917,$P(^ENG(6914,D0,2),U,8),0)),U),1,2),1:"""")_U))" ; not capitalized and not adp, vech, or firearm | 
|---|
| 96 | S (TO,FR)=EN("CMR") | 
|---|
| 97 | S EN("CMR",0)=$O(^ENG(6914.1,"B",EN("CMR"),0)) ; CMR ien | 
|---|
| 98 | S EN("CMR",.5)=$$GET1^DIQ(6914.1,EN("CMR",0),.5) ; service | 
|---|
| 99 | S EN("CMR",.6)=$$GET1^DIQ(6914.1,EN("CMR",0),.6) ; brief desc | 
|---|
| 100 | S EN("CMR",1)=$$GET1^DIQ(6914.1,EN("CMR",0),1) ; resp official | 
|---|
| 101 | S EN("CMR",5)=$$GET1^DIQ(6914.1,EN("CMR",0),5) ; station number | 
|---|
| 102 | I EN("CMR",5)="" S EN("CMR",5)=ENSND ; default station # | 
|---|
| 103 | S EN("CMR","HD")=EN("CMR") | 
|---|
| 104 | S:EN("CMR",.5)]"" EN("CMR","HD")=EN("CMR","HD")_"   "_EN("CMR",.5)_" SERVICE" | 
|---|
| 105 | S:EN("CMR",.6)]"" EN("CMR","HD")=EN("CMR","HD")_"  "_EN("CMR",.6) | 
|---|
| 106 | S:EN("CMR",1)]"" EN("CMR","HD")=EN("CMR","HD")_"  "_EN("CMR",1) | 
|---|
| 107 | K ENCSN,ENT D EN1^DIP K ENCSN,ENT | 
|---|
| 108 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1 G OUT ; aborted by user request | 
|---|
| 109 | CMR2A ; determine next CMR in loop (use B1 x-ref for acsii collating sequence) | 
|---|
| 110 | S EN("X")=$O(^ENG(6914.1,"B1",$E(EN("CMR"),1,29)_" ")) | 
|---|
| 111 | S EN("I")=$S(EN("X")]"":$O(^ENG(6914.1,"B1",EN("X"),0)),1:"") | 
|---|
| 112 | S EN("CMR")=$S(EN("I"):$P($G(^ENG(6914.1,EN("I"),0)),U),1:"") | 
|---|
| 113 | I EN("CMR")=""!(EN("CMR")]EN("TO")) G OUT | 
|---|
| 114 | I EN("STA")'="ALL" D  I EN("STA")'=EN("CMR",5) G CMR2A | 
|---|
| 115 | . S EN("CMR",5)=$$GET1^DIQ(6914.1,EN("I"),5) ; station # | 
|---|
| 116 | . I EN("CMR",5)="" S EN("CMR",5)=ENSND ; default station # | 
|---|
| 117 | I ION=EN("IOP"),$E(IOST,1,2)="C-" S DIR(0)="Y",DIR("A")="Continue to another EIL ("_EN("CMR")_")",DIR("B")="YES" D ^DIR K DIR G:'Y OUT | 
|---|
| 118 | G CMR2 | 
|---|
| 119 | ; | 
|---|
| 120 | CMRNOM ; Print CSN Nomenclature on CMR (called from ENCMR print template) | 
|---|
| 121 | Q:'$D(D0) | 
|---|
| 122 | I '$D(ENCSN) S ENCSN=$P($G(^ENG(6914,D0,2)),U,8) D CMRNOMP Q | 
|---|
| 123 | Q:$P($G(^ENG(6914,D0,2)),U,8)=ENCSN | 
|---|
| 124 | S ENCSN=$P($G(^ENG(6914,D0,2)),U,8) D CMRNOMP | 
|---|
| 125 | Q | 
|---|
| 126 | CMRNOMP ; prints nomenclature when CSN changes | 
|---|
| 127 | Q:ENCSN="" | 
|---|
| 128 | Q:'$D(^ENCSN(6917,ENCSN,0)) | 
|---|
| 129 | N X,DIWL,DIWR,DIWF,ENI | 
|---|
| 130 | K ^UTILITY($J,"W") S DIWL=1,DIWR=IOM,DIWF="W" | 
|---|
| 131 | W !!,"CATEGORY STOCK NUMBER: ",$P(^ENCSN(6917,ENCSN,0),U) | 
|---|
| 132 | W "  (",$P(^ENCSN(6917,ENCSN,0),U,3),")" | 
|---|
| 133 | S ENI=0 | 
|---|
| 134 | F  S ENI=$O(^ENCSN(6917,ENCSN,1,ENI)) Q:'ENI  I $D(^(ENI,0)) S X=^(0) D ^DIWP | 
|---|
| 135 | D ^DIWW | 
|---|
| 136 | Q | 
|---|
| 137 | CMRCMP ; List components of equipment on CMR (called by DHIT) | 
|---|
| 138 | Q:'$D(D0) | 
|---|
| 139 | N ENDA,ENVAL | 
|---|
| 140 | ; print components | 
|---|
| 141 | S ENDA=0 | 
|---|
| 142 | F  S ENDA=$O(^ENG(6914,"AE",D0,ENDA)) Q:'ENDA  D | 
|---|
| 143 | . W ?9,"COMPONENT ENTRY #: ",ENDA | 
|---|
| 144 | . W ?40,$E($P($G(^ENG(6914,ENDA,0)),U,2),1,20) | 
|---|
| 145 | . S ENVAL=$P($G(^ENG(6914,ENDA,2)),U,3) | 
|---|
| 146 | . I ENVAL]"" W ?61,$J("$"_$FN(ENVAL,"",2),12) W ! Q | 
|---|
| 147 | . S ENVAL=$P($G(^ENG(6914,ENDA,2)),U,12) | 
|---|
| 148 | . I ENVAL]"" W ?61,$J("$"_$FN(ENVAL,"",2),12)," LEASE" | 
|---|
| 149 | . W ! | 
|---|
| 150 | Q | 
|---|
| 151 | CMRTOT ; Maintain totals for CMR (called by DHIT) | 
|---|
| 152 | ; add value to totals | 
|---|
| 153 | ; input | 
|---|
| 154 | ;   D0 - ien of equipment entry | 
|---|
| 155 | ;   ENSND - default station number (from 6910) | 
|---|
| 156 | ;   optional ENT(station,fund,sgl)=count^lease cost^asset value | 
|---|
| 157 | ; output | 
|---|
| 158 | ;   ENT( | 
|---|
| 159 | Q:'$D(D0) | 
|---|
| 160 | N ENSN,ENFUND,ENSGL,ENY | 
|---|
| 161 | S ENY(2)=$G(^ENG(6914,D0,2)) | 
|---|
| 162 | S ENY(8)=$G(^ENG(6914,D0,8)) | 
|---|
| 163 | S ENY(9)=$G(^ENG(6914,D0,9)) | 
|---|
| 164 | S ENSN=$P(ENY(9),U,5) | 
|---|
| 165 | I $P(ENY(8),U,2) S ENFUND=$P(ENY(9),U,7),ENSGL=$P(ENY(8),U,6) | 
|---|
| 166 | I '$P(ENY(8),U,2) S ENFUND="<null>",ENSGL=10 | 
|---|
| 167 | I ENSN="",$G(ENSND)]"" S ENSN=ENSND | 
|---|
| 168 | S:ENSN="" ENSN="<null>" | 
|---|
| 169 | S:ENFUND="" ENFUND="<null>" | 
|---|
| 170 | S:ENSGL="" ENSGL="<null>" | 
|---|
| 171 | S $P(ENT(ENSN,ENFUND,ENSGL),U)=$P($G(ENT(ENSN,ENFUND,ENSGL)),U)+1 | 
|---|
| 172 | S $P(ENT(ENSN,ENFUND,ENSGL),U,2)=$P($G(ENT(ENSN,ENFUND,ENSGL)),U,2)+$P(ENY(2),U,12) | 
|---|
| 173 | S $P(ENT(ENSN,ENFUND,ENSGL),U,3)=$P($G(ENT(ENSN,ENFUND,ENSGL)),U,3)+$P(ENY(2),U,3) | 
|---|
| 174 | Q | 
|---|
| 175 | ; | 
|---|
| 176 | ;ENEQRPI | 
|---|