| 1 | PRCPUUIW ;WISC/RFJ-utility update item whse to prim                 ;08 Jul 92 | 
|---|
| 2 | ;;5.1;IFCAP;;Oct 20, 2000 | 
|---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified. | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ; | 
|---|
| 7 | ITEM(INVPT,ITEMDA,TRANTYPE,ORDERNO,PRCPDATA) ;  update inventory point item | 
|---|
| 8 | ;prcpdata = | 
|---|
| 9 | ;  qty)       = quantity to add to on-hand | 
|---|
| 10 | ;  invval)    = total inventory value | 
|---|
| 11 | ;  selval)    = total sales value | 
|---|
| 12 | ;  2237po)    = 2237 or purchase order number | 
|---|
| 13 | ;  ref)       = reference number | 
|---|
| 14 | ;  otherpt)   = other inventory point affected (for issues) | 
|---|
| 15 | ;  reason)    = reason (for adjustments) | 
|---|
| 16 | ;  reasoncode)= reason code for other adjustments | 
|---|
| 17 | ;  date)      = date of transaction (optional) | 
|---|
| 18 | ;  tranda)    = transaction number for removing due-ins | 
|---|
| 19 | ;  pkg)       = packaging units on transaction register | 
|---|
| 20 | ;  drugacct)  = update drug accountability | 
|---|
| 21 | ; | 
|---|
| 22 | ;returns | 
|---|
| 23 | ;  prcpid = transaction 445.2 da number | 
|---|
| 24 | ; | 
|---|
| 25 | N %,COSTCNTR,DATE,INVTYPE,ITEMDATA,PRCPUUIW,X,Y | 
|---|
| 26 | D NOW^%DTC S DATE=% | 
|---|
| 27 | I '$D(^PRCP(445.1,INVPT,1,ITEMDA,1,$E(DATE,1,5),0)) D BALANCE^PRCPUBAL(INVPT,ITEMDA,$E(DATE,1,5)) | 
|---|
| 28 | I $P($G(^PRCP(445,INVPT,0)),"^",6)="Y" D | 
|---|
| 29 | .   K PRCPUUIW F %="DATE","QTY","INVVAL","SELVAL","PKG","REF","2237PO","ISSUE","OTHERPT","REASON","REASONCODE" I $D(PRCPDATA(%)) S PRCPUUIW(%)=PRCPDATA(%) | 
|---|
| 30 | .   K PRCPID D ADDTRAN^PRCPUTRX(INVPT,ITEMDA,TRANTYPE,ORDERNO,.PRCPUUIW) K PRCPUUIW S PRCPID=+$G(Y) | 
|---|
| 31 | S INVTYPE=$P(^PRCP(445,INVPT,0),"^",3) | 
|---|
| 32 | I '$D(^PRCP(445,INVPT,1,ITEMDA,0)) Q | 
|---|
| 33 | L +^PRCP(445,INVPT,1,ITEMDA) | 
|---|
| 34 | S ITEMDATA=^PRCP(445,INVPT,1,ITEMDA,0) | 
|---|
| 35 | ;  purchase order | 
|---|
| 36 | I PRCPDATA("2237PO")'="",$P(PRCPDATA("2237PO"),"-",3)="" D | 
|---|
| 37 | .   I PRCPDATA("QTY") D RECEIPTS^PRCPUSAG(INVPT,ITEMDA,PRCPDATA("QTY")) | 
|---|
| 38 | ; | 
|---|
| 39 | ;  2237 issue | 
|---|
| 40 | I $P(PRCPDATA("2237PO"),"-",3)'="" D | 
|---|
| 41 | .   I INVTYPE="W" D | 
|---|
| 42 | .   .   D ADDUSAG^PRCPUSAG(INVPT,ITEMDA,-PRCPDATA("QTY"),-PRCPDATA("INVVAL")) | 
|---|
| 43 | .   .   I TRANTYPE="R" D SETOUT^PRCPUDUE(INVPT,ITEMDA,PRCPDATA("QTY")) | 
|---|
| 44 | .   I INVTYPE="P" D | 
|---|
| 45 | .   .   D RECEIPTS^PRCPUSAG(INVPT,ITEMDA,PRCPDATA("QTY")) | 
|---|
| 46 | .   .   S COSTCNTR=$P($G(^PRCP(445,INVPT,0)),"^",7) I COSTCNTR D COSTCNTR^PRCPUCC(INVPT,PRCPDATA("OTHERPT"),COSTCNTR,PRCPDATA("SELVAL")) | 
|---|
| 47 | ;  update drug accountability | 
|---|
| 48 | I INVTYPE="P",$G(PRCPDATA("DRUGACCT")) S %=+$P(ITEMDATA,"^",29) S:'% %=1 D EN^PSAGIP(INVPT,ITEMDA,PRCPDATA("QTY")*%,$G(PRCPDATA("TRANDA")),PRCPDATA("2237PO"),TRANTYPE_ORDERNO,PRCPDATA("INVVAL")) | 
|---|
| 49 | ;  update inventory item | 
|---|
| 50 | I '$P(ITEMDATA,"^",27) S $P(ITEMDATA,"^",27)=$J($P(ITEMDATA,"^",7)*$P(ITEMDATA,"^",22),0,2) | 
|---|
| 51 | S $P(ITEMDATA,"^",7)=$P(ITEMDATA,"^",7)+PRCPDATA("QTY") | 
|---|
| 52 | I $D(PRCPDATA("ISSUE")) S $P(ITEMDATA,"^",19)=$P(ITEMDATA,"^",19)-PRCPDATA("QTY") | 
|---|
| 53 | S $P(ITEMDATA,"^",27)=$P(ITEMDATA,"^",27)+PRCPDATA("INVVAL") | 
|---|
| 54 | S $P(ITEMDATA,"^",22)=0,%=$P(ITEMDATA,"^",7)+$P(ITEMDATA,"^",19) I %>0 S $P(ITEMDATA,"^",22)=$J($P(ITEMDATA,"^",27)/%,0,3) | 
|---|
| 55 | I TRANTYPE="RC",$G(PRCPDATA("TRANDA")) D OUTST^PRCPUTRA(INVPT,ITEMDA,PRCPDATA("TRANDA"),-PRCPDATA("QTY")) | 
|---|
| 56 | I TRANTYPE="RC",PRCPDATA("QTY") S $P(ITEMDATA,"^",15)=$J(PRCPDATA("INVVAL")/PRCPDATA("QTY"),0,3),$P(ITEMDATA,"^",3)=$E(DATE,1,7) | 
|---|
| 57 | I PRCPDATA("2237PO")'="",$P(PRCPDATA("2237PO"),"-",3)="",INVTYPE="W",$D(^PRC(441,ITEMDA,2,+$O(^PRC(440,"AC","S",0)),0)) S $P(^(0),"^",2)=$S($P(ITEMDATA,"^",15)>$P(ITEMDATA,"^",22):$P(ITEMDATA,"^",15),1:$P(ITEMDATA,"^",22)) | 
|---|
| 58 | S ^PRCP(445,INVPT,1,ITEMDA,0)=ITEMDATA | 
|---|
| 59 | L -^PRCP(445,INVPT,1,ITEMDA) | 
|---|
| 60 | Q | 
|---|