[613] | 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
|
---|