| 1 | PRCPUUIP ;WISC/RFJ-utility update item prim to secondary            ;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 |  ;  otherpt)   = other inventory point affected (for issues)
 | 
|---|
| 13 |  ;  reason)    = reason (for adjustments)
 | 
|---|
| 14 |  ;  date)      = date of transaction (optional)
 | 
|---|
| 15 |  ;  pkg)       = packaging units on transaction register
 | 
|---|
| 16 |  ;  noduein)   = do not decrement dueins if $data (optional)
 | 
|---|
| 17 |  ;  nodueout)  = do not decrement dueouts if $data (optional)
 | 
|---|
| 18 |  ;
 | 
|---|
| 19 |  ;returns
 | 
|---|
| 20 |  ;  prcpid = transaction 445.2 da number
 | 
|---|
| 21 |  ;
 | 
|---|
| 22 |  N %,COSTCNTR,DATE,ITEMDATA,PRCPUUIP,X,Y
 | 
|---|
| 23 |  D NOW^%DTC S DATE=%
 | 
|---|
| 24 |  I '$D(^PRCP(445.1,INVPT,1,ITEMDA,1,$E(DATE,1,5),0)) D BALANCE^PRCPUBAL(INVPT,ITEMDA,$E(DATE,1,5))
 | 
|---|
| 25 |  I $P($G(^PRCP(445,INVPT,0)),"^",6)="Y" D
 | 
|---|
| 26 |  .   K PRCPUUIP F %="DATE","QTY","INVVAL","SELVAL","PKG","REF","2237PO","ISSUE","OTHERPT","REASON" I $D(PRCPDATA(%)) S PRCPUUIP(%)=PRCPDATA(%)
 | 
|---|
| 27 |  .   K PRCPID D ADDTRAN^PRCPUTRX(INVPT,ITEMDA,TRANTYPE,ORDERNO,.PRCPUUIP) K PRCPUUIP S PRCPID=+$G(Y)
 | 
|---|
| 28 |  I '$D(^PRCP(445,INVPT,1,ITEMDA,0))&((TRANTYPE="R")!(TRANTYPE="C")) D  Q
 | 
|---|
| 29 |  .   ; update costcenter costs and quit
 | 
|---|
| 30 |  .   ; use costcenter for primary since second do not have costcneters
 | 
|---|
| 31 |  .   S COSTCNTR=$P($G(^PRCP(445,INVPT,0)),"^",7)
 | 
|---|
| 32 |  .   I COSTCNTR D COSTCNTR^PRCPUCC(PRCPDATA("OTHERPT"),INVPT,COSTCNTR,-PRCPDATA("SELVAL"))
 | 
|---|
| 33 |  I '$D(^PRCP(445,INVPT,1,ITEMDA,0)) Q
 | 
|---|
| 34 |  L +^PRCP(445,INVPT,1,ITEMDA)
 | 
|---|
| 35 |  S ITEMDATA=^PRCP(445,INVPT,1,ITEMDA,0)
 | 
|---|
| 36 |  ;
 | 
|---|
| 37 |  ;  RC=receipts
 | 
|---|
| 38 |  I TRANTYPE="RC" D
 | 
|---|
| 39 |  .   D RECEIPTS^PRCPUSAG(INVPT,ITEMDA,PRCPDATA("QTY"))
 | 
|---|
| 40 |  .   ; do not update dueins if "noduein" defined
 | 
|---|
| 41 |  .   I '$D(PRCPDATA("NODUEIN")) D SETIN^PRCPUDUE(INVPT,ITEMDA,-PRCPDATA("QTY"))
 | 
|---|
| 42 |  .   S $P(ITEMDATA,"^",15)=$J(PRCPDATA("INVVAL")/PRCPDATA("QTY"),0,3),$P(ITEMDATA,"^",3)=$E(DATE,1,7)
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 |  ;  R or C=distribution
 | 
|---|
| 45 |  I TRANTYPE="R"!(TRANTYPE="C") D
 | 
|---|
| 46 |  .   D ADDUSAG^PRCPUSAG(INVPT,ITEMDA,-PRCPDATA("QTY"),-PRCPDATA("INVVAL"))
 | 
|---|
| 47 |  .   ;  use costcenter for primary since second do not have costcenters
 | 
|---|
| 48 |  .   S COSTCNTR=$P($G(^PRCP(445,INVPT,0)),"^",7)
 | 
|---|
| 49 |  .   I COSTCNTR D COSTCNTR^PRCPUCC(PRCPDATA("OTHERPT"),INVPT,COSTCNTR,-PRCPDATA("SELVAL"))
 | 
|---|
| 50 |  .   ; do not update dueouts if "nodueout" defined
 | 
|---|
| 51 |  .   I '$D(PRCPDATA("NODUEOUT")) D SETOUT^PRCPUDUE(INVPT,ITEMDA,PRCPDATA("QTY"))
 | 
|---|
| 52 |  ;
 | 
|---|
| 53 |  ;  U=usage
 | 
|---|
| 54 |  I TRANTYPE="U" D
 | 
|---|
| 55 |  .   D ADDUSAG^PRCPUSAG(INVPT,ITEMDA,-PRCPDATA("QTY"),-PRCPDATA("INVVAL"))
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 |  ;  update inventory item
 | 
|---|
| 58 |  I '$P(ITEMDATA,"^",27) S $P(ITEMDATA,"^",27)=$J($P(ITEMDATA,"^",7)*$P(ITEMDATA,"^",22),0,2)
 | 
|---|
| 59 |  S $P(ITEMDATA,"^",7)=$P(ITEMDATA,"^",7)+PRCPDATA("QTY")
 | 
|---|
| 60 |  S $P(ITEMDATA,"^",27)=$P(ITEMDATA,"^",27)+PRCPDATA("INVVAL")
 | 
|---|
| 61 |  S $P(ITEMDATA,"^",22)=0,%=$P(ITEMDATA,"^",7)+$P(ITEMDATA,"^",19) I %>0 S $P(ITEMDATA,"^",22)=$J($P(ITEMDATA,"^",27)/%,0,3) I $P(ITEMDATA,"^",22)'>0 S $P(ITEMDATA,"^",22)=0
 | 
|---|
| 62 |  S ^PRCP(445,INVPT,1,ITEMDA,0)=ITEMDATA
 | 
|---|
| 63 |  L -^PRCP(445,INVPT,1,ITEMDA)
 | 
|---|
| 64 |  Q
 | 
|---|