| 1 | PRCPWI ;WISC/RFJ-increment/decrement due-ins/due-outs for a 2237  ;09 Sep 91 | 
|---|
| 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 | EN2 ;  increment due-ins/due-outs and outstanding transactions | 
|---|
| 8 | ;  da=internal entry number to 410 | 
|---|
| 9 | N %,TRAN,FORM,INVPT,VENDOR,WHSE,PRCPLI,ITEMDA,QTY,PRCPDATA,V,VENDATA,CONV | 
|---|
| 10 | S:'$D(DA) DA=0 S TRAN=$G(^PRCS(410,+DA,0)),FORM=$P(TRAN,"^",4) I FORM<3 Q | 
|---|
| 11 | S INVPT=$P(TRAN,"^",6) Q:'$D(^PRCP(445,+INVPT,0))  S VENDOR=+$P($G(^PRCS(410,DA,3)),"^",4)_";PRC(440," Q:+VENDOR=0 | 
|---|
| 12 | ;  get whse inv point for issue books (due-outs) | 
|---|
| 13 | K WHSE I $P(TRAN,"^",4)=5 S %=0 F  S %=$O(^PRCP(445,"AC","W",%)) Q:'%  I +$G(^PRCP(445,+%,0))=$P(TRAN,"^",5) S WHSE=% Q | 
|---|
| 14 | ;  loop items in transaction | 
|---|
| 15 | W !!?4,"incrementing due-ins  in inventory point: ",$P($$INVNAME^PRCPUX1(INVPT),"-",2,99) | 
|---|
| 16 | I $D(WHSE) W !?4,"incrementing due-outs in inventory point: ",$P($$INVNAME^PRCPUX1(WHSE),"-",2,99) | 
|---|
| 17 | S PRCPLI=0 F  S PRCPLI=$O(^PRCS(410,DA,"IT",PRCPLI)) Q:'PRCPLI  S PRCPDATA=$G(^(PRCPLI,0)),ITEMDA=+$P(PRCPDATA,"^",5),QTY=+$P(PRCPDATA,"^",2) I QTY>0 D | 
|---|
| 18 | .   ;  increment due-outs if issue book request and warehouse inv point | 
|---|
| 19 | .   I $D(WHSE),$D(^PRCP(445,WHSE,1,ITEMDA,0)) D SETOUT^PRCPUDUE(WHSE,ITEMDA,QTY) | 
|---|
| 20 | .   ;  increment due-ins | 
|---|
| 21 | .   I '$D(^PRCP(445,INVPT,1,ITEMDA,0)) Q | 
|---|
| 22 | .   S VENDATA=$$GETVEN^PRCPUVEN(INVPT,ITEMDA,VENDOR,1),QTY=QTY*$P(VENDATA,"^",4) | 
|---|
| 23 | .   S:'+$P(VENDATA,"^",2) $P(VENDATA,"^",2)=$P(PRCPDATA,"^",3) S:'+$P(VENDATA,"^",3) $P(VENDATA,"^",3)=1 | 
|---|
| 24 | .   ;  add/update outstanding transaction and due-ins | 
|---|
| 25 | .   D ADDUPD^PRCPUTRA(INVPT,ITEMDA,DA,QTY_"^"_$P(VENDATA,"^",2,4)) | 
|---|
| 26 | Q | 
|---|
| 27 | ; | 
|---|
| 28 | ; | 
|---|
| 29 | EN3 ;  decrement due-ins/due-outs and outstanding transactions | 
|---|
| 30 | ;  for return to service | 
|---|
| 31 | ;  da=internal entry number to 410 | 
|---|
| 32 | N %,TRAN,FORM,INVPT,VENDOR,WHSE,PRCPLI,ITEMDA,QTY,PRCPDATA | 
|---|
| 33 | S:'$D(DA) DA=0 S TRAN=$G(^PRCS(410,+DA,0)),FORM=$P(TRAN,"^",4) I FORM<3 Q | 
|---|
| 34 | S INVPT=$P(TRAN,"^",6) Q:'$D(^PRCP(445,+INVPT,0))  S VENDOR=+$P($G(^PRCS(410,DA,3)),"^",4)_";PRC(440," Q:+VENDOR=0 | 
|---|
| 35 | ;  get whse inv point for issue books (due-outs) | 
|---|
| 36 | K WHSE I $P(TRAN,"^",4)=5 S %=0 F  S %=$O(^PRCP(445,"AC","W",%)) Q:'%  I +$G(^PRCP(445,+%,0))=$P(TRAN,"^",5) S WHSE=% Q | 
|---|
| 37 | ;  loop items in transaction | 
|---|
| 38 | W !!?4,"decrementing due-ins  in inventory point: ",$P($$INVNAME^PRCPUX1(INVPT),"-",2,99) | 
|---|
| 39 | I $D(WHSE) W !?4,"decrementing due-outs in inventory point: ",$P($$INVNAME^PRCPUX1(WHSE),"-",2,99) | 
|---|
| 40 | S PRCPLI=0 F  S PRCPLI=$O(^PRCS(410,DA,"IT",PRCPLI)) Q:'PRCPLI  S PRCPDATA=$G(^(PRCPLI,0)),ITEMDA=+$P(PRCPDATA,"^",5),QTY=+$P(PRCPDATA,"^",2) I QTY>0 D | 
|---|
| 41 | .   ;  decrement due-outs if issue book request and warehouse inv point | 
|---|
| 42 | .   I $D(WHSE),$D(^PRCP(445,WHSE,1,ITEMDA,0)) D SETOUT^PRCPUDUE(WHSE,ITEMDA,-QTY) | 
|---|
| 43 | .   ;  decrement due-ins and kill outstanding transaction | 
|---|
| 44 | .   D KILLTRAN^PRCPUTRA(INVPT,ITEMDA,DA) | 
|---|
| 45 | Q | 
|---|
| 46 | ; | 
|---|
| 47 | ; | 
|---|
| 48 | SPLIT(INVPT,ITEMDA,OLDTRAN,TRANDA) ;  split request (called from prchsp) | 
|---|
| 49 | ;  oldtran=old trans da, tranda=new trans da | 
|---|
| 50 | I '$D(^PRCP(445,+INVPT,1,+ITEMDA,7,+OLDTRAN,0)) Q | 
|---|
| 51 | S %=$P(^PRCP(445,INVPT,1,ITEMDA,7,OLDTRAN,0),"^",2,5) D ADDTRAN^PRCPUTRA(INVPT,ITEMDA,TRANDA,%),KILLTRAN^PRCPUTRA(INVPT,ITEMDA,OLDTRAN) | 
|---|
| 52 | Q | 
|---|