| 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
 | 
|---|