1 | PRCPUSA ;WISC/RFJ-utility program for updating inventory point ;30 Sep 92
|
---|
2 | ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | S X=$$UPDATE(.PRCP) I X'="" W !!,X Q
|
---|
5 | K PRCP,X Q
|
---|
6 | ;
|
---|
7 | ;
|
---|
8 | UPDATE(PRCPZ) ; start updating inventory point
|
---|
9 | ;prcpz =
|
---|
10 | ; i) = internal inventory point number
|
---|
11 | ; item) = item number
|
---|
12 | ; typ) = R or C for distribution
|
---|
13 | ; = RC for receipts
|
---|
14 | ; = U for usage
|
---|
15 | ; = A for adjustment
|
---|
16 | ; = P for physical counts
|
---|
17 | ; qty) = quantity to add to on-hand
|
---|
18 | ; com) = transaction register comments
|
---|
19 | ; returns error message if unsuccessful or null if successful
|
---|
20 | ;
|
---|
21 | I '$D(^PRCP(445,+$G(PRCPZ("I")),0)) Q "Invalid inventory location"
|
---|
22 | I '$D(^PRCP(445,PRCPZ("I"),4,+$G(DUZ),0)) Q "User does not have access to the inventory point"
|
---|
23 | I '$D(^PRCP(445,PRCPZ("I"),1,+$G(PRCPZ("ITEM")),0)) Q "Item is not stored in inventory point"
|
---|
24 | S:'$D(PRCPZ("TYP")) PRCPZ("TYP")="" I "RCAUP"'[PRCPZ("TYP") Q "Invalid transaction type '"_PRCPZ("TYP")_"'"
|
---|
25 | S:'$D(PRCPZ("QTY")) PRCPZ("QTY")=0 I "AP"'[PRCPZ("TYP"),PRCPZ("QTY")=0 Q "Quantity cannot equal zero"
|
---|
26 | I PRCPZ("TYP")="RC",PRCPZ("QTY")<0 Q "For receipts, quantity must be greater than zero"
|
---|
27 | I (PRCPZ("TYP")="R"!(PRCPZ("TYP")="C"))&(PRCPZ("QTY")>0) Q "For distribution (Regular or Call-in), quantity must be less than zero"
|
---|
28 | ;
|
---|
29 | N ORDERNO,PRCPID,PRCPUSA,TOTCOST,VALUE,X,Y,Z
|
---|
30 | S VALUE=$P(^PRCP(445,PRCPZ("I"),1,PRCPZ("ITEM"),0),"^",22),TOTCOST=$J(PRCPZ("QTY")*VALUE,0,2)
|
---|
31 | ;
|
---|
32 | I $P(^PRCP(445,PRCPZ("I"),0),"^",6)="Y" S ORDERNO=$$ORDERNO^PRCPUTRX(PRCPZ("I"))
|
---|
33 | K PRCPUSA S PRCPUSA("QTY")=PRCPZ("QTY"),PRCPUSA("INVVAL")=TOTCOST,PRCPUSA("SELVAL")=TOTCOST,PRCPUSA("REASON")="0:"_$G(PRCPZ("COM")),PRCPUSA("NODUEIN")=1,PRCPUSA("NODUEOUT")=1,PRCPUSA("OTHERPT")=""
|
---|
34 | D ITEM^PRCPUUIP(PRCPZ("I"),PRCPZ("ITEM"),PRCPZ("TYP"),+$G(ORDERNO),.PRCPUSA)
|
---|
35 | Q ""
|
---|