| 1 | PRCPEIL0 ;WISC/RFJ-edit inventory items (build arrays)              ; 9/20/06 11:02am | 
|---|
| 2 | ;;5.1;IFCAP;**98**;Oct 20, 2000;Build 37 | 
|---|
| 3 | ;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ; | 
|---|
| 7 | ISSUNITS ;  build issue units array | 
|---|
| 8 | S LINE=9,COLUMN=1,CLREND=39 | 
|---|
| 9 | D SET("Issue Units   ",LINE,COLUMN,CLREND,0,IORVON,IORVOFF) | 
|---|
| 10 | D SET("Unit per Issue: "_$$UNIT^PRCPUX1(PRCPINPT,ITEMDA," per "),LINE+1,COLUMN,CLREND) | 
|---|
| 11 | I PRCPTYPE="P" D SET("Issue Multiple",LINE+2,COLUMN,CLREND,16) | 
|---|
| 12 | I PRCPTYPE="P" D SET("Min Issue Qty ",LINE+3,COLUMN,CLREND,16.5) | 
|---|
| 13 | Q | 
|---|
| 14 | ; | 
|---|
| 15 | ; | 
|---|
| 16 | COSTS ;  build costs array | 
|---|
| 17 | S LINE=16,COLUMN=40,CLREND=80 | 
|---|
| 18 | D SET("Costing Data",LINE+0,COLUMN,CLREND,0,IORVON,IORVOFF) | 
|---|
| 19 | D SET("Last Cost   ",LINE+1,COLUMN,CLREND,4.7) | 
|---|
| 20 | D SET("Average Cost",LINE+2,COLUMN,CLREND,4.8) | 
|---|
| 21 | D SET("Total Value ",LINE+3,COLUMN,CLREND,4.81) | 
|---|
| 22 | Q | 
|---|
| 23 | ; | 
|---|
| 24 | ; | 
|---|
| 25 | LEVELS ;  build levels array | 
|---|
| 26 | S LINE=9,COLUMN=40,CLREND=80 | 
|---|
| 27 | D SET("Levels          ",LINE+0,COLUMN,CLREND,0,IORVON,IORVOFF) | 
|---|
| 28 | D SET("Norm Stock Level",LINE+1,COLUMN,CLREND,9) | 
|---|
| 29 | D SET("Emer Stock Level",LINE+2,COLUMN,CLREND,11) | 
|---|
| 30 | D SET("Temp Stock Level",LINE+3,COLUMN,CLREND,9.5) | 
|---|
| 31 | D SET("Delete Temp SL  ",LINE+4,COLUMN,CLREND,9.6) | 
|---|
| 32 | D SET("Stand Reord Pt  ",LINE+5,COLUMN,CLREND,10) | 
|---|
| 33 | D SET("Option Reord Pt ",LINE+6,COLUMN,CLREND,10.3) | 
|---|
| 34 | Q | 
|---|
| 35 | ; | 
|---|
| 36 | ; | 
|---|
| 37 | QUANTITY ;  build quantities array | 
|---|
| 38 | S LINE=16,COLUMN=1,CLREND=39 | 
|---|
| 39 | D SET("Quantities  ",LINE+0,COLUMN,CLREND,0,IORVON,IORVOFF) | 
|---|
| 40 | D SET("On-hand     ",LINE+1,COLUMN,CLREND,7) | 
|---|
| 41 | D SET("Due-In      ",LINE+2,COLUMN,CLREND,8.1) | 
|---|
| 42 | D SET("Due-Out     ",LINE+3,COLUMN,CLREND,8.6) | 
|---|
| 43 | D SET($S(PRCPTYPE="W":"Non-Issuable",1:""),LINE+4,COLUMN,CLREND,$S(PRCPTYPE="W":7.5,1:0)) | 
|---|
| 44 | D SET("",LINE+5,COLUMN,80) | 
|---|
| 45 | Q | 
|---|
| 46 | ; | 
|---|
| 47 | ; | 
|---|
| 48 | OUTSTRAN ;  build outstanding transaction array | 
|---|
| 49 | N D,PRCPDA | 
|---|
| 50 | S LINE=22,COLUMN=1,CLREND=80 | 
|---|
| 51 | D SET("Due-Ins/Outstanding Transactions",LINE+0,COLUMN,CLREND,0,IORVON,IORVOFF) | 
|---|
| 52 | S PRCPDA=0 F LINE=23:1:29 S PRCPDA=$O(^PRCP(445,PRCPINPT,1,ITEMDA,7,PRCPDA)) Q:'PRCPDA  S X=$G(^(+PRCPDA,0)) D | 
|---|
| 53 | .   I X="" D SET("",LINE,COLUMN,CLREND) Q | 
|---|
| 54 | .   S D=$E($P($G(^PRCS(410,+$P(X,"^"),0)),"^")_$J("",34),1,34)_"  Qty: "_$E($P(X,"^",2)_$J("",8),1,8)_"  U/R: "_$E($$UNITVAL^PRCPUX1($P(X,"^",4),$P(X,"^",3),"/")_$J("",10),1,10)_"  CF: "_$P(X,"^",5) | 
|---|
| 55 | .   D SET(D,LINE,COLUMN,CLREND) | 
|---|
| 56 | F LINE=LINE:1:29 D SET("",LINE,COLUMN,CLREND) | 
|---|
| 57 | S PRCPDA=$O(^PRCP(445,PRCPINPT,1,ITEMDA,7,PRCPDA)) | 
|---|
| 58 | D SET($S('PRCPDA:"",1:"  . . . more . . . (only first 7 displayed)"),LINE+1,COLUMN,CLREND) | 
|---|
| 59 | Q | 
|---|
| 60 | ; | 
|---|
| 61 | ; | 
|---|
| 62 | SPECIAL ;  build special parameter array | 
|---|
| 63 | ;  subroutine modified to add On-Demand Items (PRC*5.1*98) | 
|---|
| 64 | N PRCPONN S PRCPONN="" | 
|---|
| 65 | S LINE=31,COLUMN=1,CLREND=39 | 
|---|
| 66 | D SET("Special Parameters",LINE+0,COLUMN,CLREND,0,IORVON,IORVOFF) | 
|---|
| 67 | D SET("Kill When Zero    ",LINE+1,COLUMN,CLREND,17) | 
|---|
| 68 | D SET("",LINE+2,COLUMN,CLREND) | 
|---|
| 69 | S X="" | 
|---|
| 70 | I PRCPTYPE="W" S X="",%=0 F  S %=$O(^PRCP(445,PRCPINPT,1,ITEMDA,4,%)) Q:'%  S X=X_$S(X="":"",1:", ")_% | 
|---|
| 71 | I PRCPTYPE'="W" D | 
|---|
| 72 | . N X | 
|---|
| 73 | . S X=$$GET1^DIQ(445.01,ITEMDA_","_PRCPINPT_",",.8,"E") | 
|---|
| 74 | . I X']"" S X="NO" | 
|---|
| 75 | . S PRCPONN="On-Demand         : " | 
|---|
| 76 | . I '$O(^PRCP(445,PRCPINPT,9,"B",DUZ,"")) S PRCPONN="(On-Demand)       : " | 
|---|
| 77 | . S PRCPONN=PRCPONN_X | 
|---|
| 78 | D SET($S(PRCPTYPE="W":"Substitute Items: "_X,1:PRCPONN),LINE+3,COLUMN,CLREND) | 
|---|
| 79 | D SET("",LINE+4,COLUMN,CLREND) | 
|---|
| 80 | Q | 
|---|
| 81 | ; | 
|---|
| 82 | ; | 
|---|
| 83 | DRUGACCT ;  build drug accountability array | 
|---|
| 84 | S LINE=31,COLUMN=40,CLREND=80 | 
|---|
| 85 | D SET("Drug Accountability      ",LINE+0,COLUMN,CLREND,0,IORVON,IORVOFF) | 
|---|
| 86 | D SET("Dispensing Unit          ",LINE+1,COLUMN,CLREND,50) | 
|---|
| 87 | D SET("Dispensing Unit Conv Fact",LINE+2,COLUMN,CLREND,51) | 
|---|
| 88 | Q | 
|---|
| 89 | ; | 
|---|
| 90 | ; | 
|---|
| 91 | SOURCES ;  build sources array | 
|---|
| 92 | N D,PRCPDA | 
|---|
| 93 | S LINE=36,COLUMN=1,CLREND=80 | 
|---|
| 94 | D SET("Procurement Sources",LINE+0,COLUMN,CLREND,0,IORVON,IORVOFF) | 
|---|
| 95 | D SET("Mandatory Source   ",LINE+0,37,CLREND,.4) | 
|---|
| 96 | S PRCPDA=0 F LINE=37:1:44 S PRCPDA=$O(^PRCP(445,PRCPINPT,1,ITEMDA,5,PRCPDA)) Q:'PRCPDA  S X=$G(^(+PRCPDA,0)) D | 
|---|
| 97 | .   I X="" D SET("",LINE,COLUMN,CLREND) Q | 
|---|
| 98 | .   S D=$E($$VENNAME^PRCPUX1($P(X,"^"))_$J("",34),1,34)_"  U/R: "_$E($$UNITVAL^PRCPUX1($P(X,"^",3),$P(X,"^",2),"/")_$J("",10),1,10)_"  CF: "_$P(X,"^",4) | 
|---|
| 99 | .   D SET(D,LINE,COLUMN,CLREND) | 
|---|
| 100 | F LINE=LINE:1:44 D SET("",LINE,COLUMN,CLREND) | 
|---|
| 101 | S PRCPDA=$O(^PRCP(445,PRCPINPT,1,ITEMDA,5,PRCPDA)) | 
|---|
| 102 | D SET($S('PRCPDA:"",1:"  . . . more . . . (only first 8 displayed)"),LINE+1,COLUMN,CLREND) | 
|---|
| 103 | Q | 
|---|
| 104 | ; | 
|---|
| 105 | ; | 
|---|
| 106 | SET(STRING,LINE,COLUMN,CLREND,FIELD,ON,OFF) ;  set array | 
|---|
| 107 | I $G(FIELD) S STRING=STRING_": "_$G(PRCPDATA(445.01,ITEMDA,FIELD,"E")) | 
|---|
| 108 | I STRING="" D SET^VALM10(LINE,$J("",80)) Q | 
|---|
| 109 | I '$D(@VALMAR@(LINE,0)) D SET^VALM10(LINE,$J("",80)) | 
|---|
| 110 | D SET^VALM10(LINE,$$SETSTR^VALM1(STRING,@VALMAR@(LINE,0),COLUMN,CLREND)) | 
|---|
| 111 | I $G(ON)]""!($G(OFF)]"") D CNTRL^VALM10(LINE,COLUMN,$L(STRING),ON,OFF) | 
|---|
| 112 | Q | 
|---|