| 1 | PRCPRPK1 ;WISC/RFJ-packaging discrepancy report (find errors)       ;04 Oct 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 | PROCESS ;  start finding errors
 | 
|---|
| 8 |  N ITEMDA,ITEMDATA,MANNAME,MANSRCE,NSN,OUTSDATA,OUTST,OUTSTERR,OUTSUNIT,PSDA,PSDATA,PSUNIT,TRANDA,TRANUNIT,UNITISS,VENDA,VENDATA,VENUNIT
 | 
|---|
| 9 |  K ^TMP($J,"PRCPRPKG")
 | 
|---|
| 10 |  S ITEMDA=0 F  S ITEMDA=$O(^PRCP(445,PRCP("I"),1,ITEMDA)) Q:'ITEMDA  I $G(PRCPALLI)!($D(^TMP($J,"PRCPURS4",ITEMDA))) D
 | 
|---|
| 11 |  .   I '$$PURCHASE^PRCPU441(ITEMDA) Q  ;  not purchasable
 | 
|---|
| 12 |  .   S ITEMDATA=$G(^PRCP(445,PRCP("I"),1,ITEMDA,0)),UNITISS=$$UNIT^PRCPUX1(PRCP("I"),ITEMDA,"/"),NSN=$$NSN^PRCPUX1(ITEMDA)
 | 
|---|
| 13 |  .   I NSN="" S NSN=" " I PRCP("DPTYPE")="W" S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,15)=""
 | 
|---|
| 14 |  .   I PRCP("DPTYPE")="W",$P(ITEMDATA,"^",5)'=$P($G(^PRC(441,ITEMDA,3)),"^",8) S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,16)=$$UNITCODE^PRCPUX1($P($G(^PRC(441,ITEMDA,3)),"^",8))_"^"_$$UNITCODE^PRCPUX1($P(ITEMDATA,"^",5))
 | 
|---|
| 15 |  .   S MANSRCE=$P($G(^PRC(441,ITEMDA,0)),"^",8)_";PRC(440,",MANNAME=""
 | 
|---|
| 16 |  .   I 'MANSRCE S MANSRCE=""
 | 
|---|
| 17 |  .   E  S MANNAME=$E($$VENNAME^PRCPUX1(MANSRCE),1,15)_"#"_+MANSRCE
 | 
|---|
| 18 |  .   ;  mandatory source defined
 | 
|---|
| 19 |  .   ;  only check mandatory source vendor data (except for whse)
 | 
|---|
| 20 |  .   I MANSRCE D
 | 
|---|
| 21 |  .   .   S VENDATA=$G(^PRC(441,ITEMDA,2,+MANSRCE,0)),VENUNIT=$$UNITVAL^PRCPUX1($P(VENDATA,"^",8),$P(VENDATA,"^",7),"/")
 | 
|---|
| 22 |  .   .   I VENDATA="" S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,1)=MANNAME
 | 
|---|
| 23 |  .   .   I VENUNIT["?" S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,2)=VENUNIT_"^"_MANNAME
 | 
|---|
| 24 |  .   .   ;  for warehouse, set mandatory source=null and check vendors
 | 
|---|
| 25 |  .   .   I PRCP("DPTYPE")="W",+MANSRCE=+WHSESRCE D  S MANSRCE="" Q
 | 
|---|
| 26 |  .   .   .   I UNITISS'=VENUNIT S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,3)=UNITISS_"^"_VENUNIT_"^"_MANNAME
 | 
|---|
| 27 |  .   .   I PRCP("DPTYPE")="W" Q
 | 
|---|
| 28 |  .   .   ;  for primaries
 | 
|---|
| 29 |  .   .   I $P(ITEMDATA,"^",12)'=MANSRCE S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,4)=$P(ITEMDATA,"^",12)_"^"_MANNAME
 | 
|---|
| 30 |  .   .   S PSDATA=$$GETVEN^PRCPUVEN(PRCP("I"),ITEMDA,MANSRCE,1) I 'PSDATA S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,5)=MANNAME
 | 
|---|
| 31 |  .   .   S PSUNIT=$$UNITVAL^PRCPUX1($P(PSDATA,"^",3),$P(PSDATA,"^",2),"/")
 | 
|---|
| 32 |  .   .   I PSUNIT'=VENUNIT S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,6)=PSUNIT_"^"_MANNAME_"^"_VENUNIT
 | 
|---|
| 33 |  .   ;
 | 
|---|
| 34 |  .   ;mandatory source is not defined
 | 
|---|
| 35 |  .   I 'MANSRCE D
 | 
|---|
| 36 |  .   .   ;  loop vendors and check item master file for errors
 | 
|---|
| 37 |  .   .   S VENDA=0 F  S VENDA=$O(^PRC(441,ITEMDA,2,VENDA)) Q:'VENDA  S VENDATA=$G(^(VENDA,0)) I VENDATA'="",'$P($G(^PRC(440,VENDA,10)),"^",5) D
 | 
|---|
| 38 |  .   .   .   I PRCP("DPTYPE")="W",VENDA=WHSESRCE Q  ;do not want to add warehouse as a procurement source
 | 
|---|
| 39 |  .   .   .   S VENUNIT=$$UNITVAL^PRCPUX1($P(VENDATA,"^",8),$P(VENDATA,"^",7),"/")
 | 
|---|
| 40 |  .   .   .   I VENUNIT["?" S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,7,VENDA,0)=VENUNIT ;im file unit of purchase wrong
 | 
|---|
| 41 |  .   .   .   S PSDATA=$$GETVEN^PRCPUVEN(PRCP("I"),ITEMDA,VENDA_";PRC(440,",0)
 | 
|---|
| 42 |  .   .   .   I 'PSDATA S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,7,VENDA,1)="" ;vendor needs adding as procurement source
 | 
|---|
| 43 |  .   .   ;  loop procurement sources and check inventory point for errors
 | 
|---|
| 44 |  .   .   S PSDA=0 F  S PSDA=$O(^PRCP(445,PRCP("I"),1,ITEMDA,5,PSDA)) Q:'PSDA  S PSDATA=^(PSDA,0) D
 | 
|---|
| 45 |  .   .   .   I $D(^TMP($J,"PRCPRPKG",NSN,ITEMDA,7,+PSDATA)) Q  ;other errors already found
 | 
|---|
| 46 |  .   .   .   S PSUNIT=$$UNITVAL^PRCPUX1($P(PSDATA,"^",3),$P(PSDATA,"^",2),"/")
 | 
|---|
| 47 |  .   .   .   S VENDATA=$G(^PRC(441,ITEMDA,2,+PSDATA,0)),VENUNIT=$$UNITVAL^PRCPUX1($P(VENDATA,"^",8),$P(VENDATA,"^",7),"/")
 | 
|---|
| 48 |  .   .   .   ;unit per receipt not equal to unit per purchase
 | 
|---|
| 49 |  .   .   .   I PSUNIT'=VENUNIT S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,7,+PSDATA,2)=PSUNIT_"^"_VENUNIT
 | 
|---|
| 50 |  .   ;
 | 
|---|
| 51 |  .   ;  check for vendors which need to be removed as procurement sources
 | 
|---|
| 52 |  .   S PSDA=0 F  S PSDA=$O(^PRCP(445,PRCP("I"),1,ITEMDA,5,PSDA)) Q:'PSDA  S PSDATA=$G(^PRCP(445,PRCP("I"),1,ITEMDA,5,PSDA,0)) D
 | 
|---|
| 53 |  .   .   I '$D(^PRC(441,ITEMDA,2,+PSDATA,0))!($P($G(^PRC(440,+PSDATA,10)),"^",5)) K ^TMP($J,"PRCPRPKG",NSN,ITEMDA,7,+PSDATA) S ^(+PSDATA,3)="" Q  ;vendor needs to be removed as a procurement source
 | 
|---|
| 54 |  .   .   I MANSRCE,$P(PSDATA,"^")'=MANSRCE K ^TMP($J,"PRCPRPKG",NSN,ITEMDA,7,+PSDATA) S ^(+PSDATA,3)=""
 | 
|---|
| 55 |  .   ;
 | 
|---|
| 56 |  .   ;  check outstanding transactions
 | 
|---|
| 57 |  .   S TRANDA=0 F  S TRANDA=$O(^PRCP(445,PRCP("I"),1,ITEMDA,7,TRANDA)) Q:'TRANDA  D CHECKOUT^PRCPUTRA(PRCP("I"),ITEMDA,TRANDA) D
 | 
|---|
| 58 |  .   .   I $D(OUTSTERR) S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,8,TRANDA,3)=OUTSTERR Q
 | 
|---|
| 59 |  .   .   I '$D(OUTSDATA) Q
 | 
|---|
| 60 |  .   .   S OUTST=$G(^PRCP(445,PRCP("I"),1,ITEMDA,7,TRANDA,0))
 | 
|---|
| 61 |  .   .   S OUTSUNIT=$$UNITVAL^PRCPUX1($P(OUTST,"^",4),$P(OUTST,"^",3),"/")
 | 
|---|
| 62 |  .   .   S TRANUNIT=$$UNITVAL^PRCPUX1($P(OUTSDATA,"^",2),$P(OUTSDATA,"^",3),"/")
 | 
|---|
| 63 |  .   .   S ^TMP($J,"PRCPRPKG",NSN,ITEMDA,8,TRANDA,4)=OUTSUNIT_"^"_TRANUNIT
 | 
|---|
| 64 |  Q
 | 
|---|