| [613] | 1 | PRCPPOLM ;WISC/RFJ-receive purchase order (list manager)            ; 6/13/01 5:52pm
 | 
|---|
 | 2 |  ;;5.1;IFCAP;**34,87**;Oct 20, 2000
 | 
|---|
 | 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 |  D ^PRCPUSEL Q:'$G(PRCP("I"))
 | 
|---|
 | 5 |  I "PW"'[PRCP("DPTYPE") W !,"YOU MUST BE A WAREHOUSE OR PRIMARY INVENTORY POINT TO USE THIS OPTION." Q
 | 
|---|
 | 6 |  I $$CHECK^PRCPCUT1(PRCP("I")) Q
 | 
|---|
 | 7 |  N %,PRCPFCOS,PRCPFLAG,PRCPINPT,PRCPORDN,PRCPORDR,PRCPPARD,PRCPPART,PRCPTYPE,PRCPVEND,PRCPVENN,PRCPM,X,Y
 | 
|---|
 | 8 |  S X="" W ! D ESIG^PRCUESIG(DUZ,.X) I X'>0 Q
 | 
|---|
 | 9 | AUTH S PRCPINPT=PRCP("I"),PRCPTYPE=PRCP("DPTYPE")
 | 
|---|
 | 10 |  S:$G(PRCHAUTH) PRCPORDR=PRCHPO
 | 
|---|
 | 11 |  D:$G(PRCHAUTH)  I '$G(PRCHAUTH) F  S PRCPORDR=$$SELECTPO^PRCPPOU1(PRCPINPT) Q:PRCPORDR<1  D
 | 
|---|
 | 12 |  .   S PRCPORDN=$P($G(^PRC(442,PRCPORDR,0)),"^") I PRCPORDN="" W !,"ERROR - INVALID OR MISSING PURCHASE ORDER NUMBER !" Q
 | 
|---|
 | 13 |  .   S PRCPVEND=+$G(^PRC(442,PRCPORDR,1)),PRCPVENN=$P($G(^PRC(440,PRCPVEND,0)),"^")
 | 
|---|
 | 14 |  .   I PRCPVEND="" W !,"ERROR - INVALID OR MISSING VENDOR ON THIS PURCHASE ORDER !" Q
 | 
|---|
 | 15 |  .   L +^PRC(442,PRCPORDR):5 I '$T D SHOWWHO^PRCPULOC(442,PRCPORDR,0) Q
 | 
|---|
 | 16 |  .   I $G(PRCHAUTH) S PRCPPART=PRCHRPT G JMP
 | 
|---|
 | 17 |  .   ;I '$D(^PRC(442,PRCPORDR,11,0)) G JMP ; functionality modified 9/15/05 T.Holloway.
 | 
|---|
 | 18 |  .   ; if level 11 does not exist the old code would jump over the part that creates PRCPPART.
 | 
|---|
 | 19 |  .   ; PRCPPART is a required variable later in the application and items without it should not continue.
 | 
|---|
 | 20 |  .   ; 7 lines of code are added to detect and handle the situation.  T.Holloway
 | 
|---|
 | 21 |  .   I '$D(^PRC(442,PRCPORDR,11,0)) D  D UNLOCK Q
 | 
|---|
 | 22 |  . .   S PRCPM=$P($G(^PRC(442,PRCPORDR,0)),U,2),PRCPM=$P(^PRCD(442.5,PRCPM,0),U,2)
 | 
|---|
 | 23 |  . .   I (PRCPM="PC")&($P($G(^PRC(442,PRCPORDR,23)),U,15)="N") D
 | 
|---|
 | 24 |  . . .   W !!,"Sorry, this Purchase Card order has been marked 'No Receiving Required'"
 | 
|---|
 | 25 |  . . .   W !,"and has been Reconciled as COMPLETE ORDER RECEIVED: YES."
 | 
|---|
 | 26 |  . . .   W !,"It may not be received into inventory in this status."
 | 
|---|
 | 27 |  . .   E  W !!,"No Partial on file, further processing not allowed."
 | 
|---|
 | 28 |  .   S FINALREC=""
 | 
|---|
 | 29 |  .   S FINALREC=$P($G(^PRC(442,PRCPORDR,11,0)),"^",4)
 | 
|---|
 | 30 |  .   I FINALREC'=""  D
 | 
|---|
 | 31 |  .   . I $P($G(^PRC(442,PRCPORDR,11,FINALREC,0)),"^",16)=""  D
 | 
|---|
 | 32 |  .   . .;;  show partials not received yet
 | 
|---|
 | 33 |  .   . . W !!,"PARTIALS NOT YET RECEIVED:"
 | 
|---|
 | 34 |  .   K FINALREC
 | 
|---|
 | 35 |  .   S %=0 F  S %=$O(^PRC(442,PRCPORDR,11,%)) Q:'%  I $P($G(^(%,0)),"^",16)="" S Y=$P(^(0),"^") D DD^%DT W !?5,"PARTIAL #: ",%,?28,"DATE: ",Y I $P($G(^PRC(442,PRCPORDR,11,%,0)),"^",9)="F" W ?55,"FINAL RECEIPT"
 | 
|---|
 | 36 |  .   S PRCPPART=$$PARTIAL^PRCPPOU1(PRCPORDR) I PRCPPART<0 D UNLOCK Q
 | 
|---|
 | 37 |  .   S PRCPPARD=$P($G(^PRC(442,PRCPORDR,11,PRCPPART,0)),"^") I 'PRCPPARD W !,"ERROR - CANNOT FIND PARTIAL DATE FOR THIS PARTIAL !" D UNLOCK Q
 | 
|---|
 | 38 | JMP .   D EN^VALM("PRCP PURCHASE ORDER RECEIPT")
 | 
|---|
 | 39 |  .   D UNLOCK
 | 
|---|
 | 40 |  Q
 | 
|---|
 | 41 |  ;
 | 
|---|
 | 42 |  ;
 | 
|---|
 | 43 | UNLOCK ;  unlock po
 | 
|---|
 | 44 |  D CLEAR^PRCPULOC(442,PRCPORDR,0)
 | 
|---|
 | 45 |  L -^PRC(442,PRCPORDR)
 | 
|---|
 | 46 |  Q
 | 
|---|
 | 47 |  ;
 | 
|---|
 | 48 |  ;
 | 
|---|
 | 49 | HDR ;  build header
 | 
|---|
 | 50 |  N DATA,FLAG,SPACE,Y
 | 
|---|
 | 51 |  S DATA=$G(^PRC(442,PRCPORDR,11,PRCPPART,0)),FLAG=$S($P(DATA,"^",9)="F":"FINAL  ",1:""),FLAG=FLAG_$S($P(DATA,"^",10)="Y":"OVERAGE",1:"")
 | 
|---|
 | 52 |  S Y=$P(DATA,"^") D DD^%DT
 | 
|---|
 | 53 |  S SPACE="                                                             "
 | 
|---|
 | 54 |  S VALMHDR(1)=$E("INVENTORY: "_$$INVNAME^PRCPUX1(PRCPINPT)_SPACE,1,30)_$E("  PO: "_PRCPORDN_SPACE,1,20)_$E("VENDOR: "_PRCPVENN_SPACE,1,22)_"#"_PRCPVEND
 | 
|---|
 | 55 |  S VALMHDR(2)=$E("PARTIAL: "_PRCPPART_SPACE,1,14)_$E("DATE: "_Y_SPACE,1,19)_$E("LINECNT: "_$P(DATA,"^",14)_SPACE,1,14)_$E("TOTAL AMT: "_$P(DATA,"^",12)_SPACE,1,25)_FLAG
 | 
|---|
 | 56 |  S VALMHDR(3)="LINE DESCRIPTION          IM#   POQTY CONV  RECQTY   AVGCOST  UNITCOST   TOTCOST"
 | 
|---|
 | 57 |  Q
 | 
|---|
 | 58 |  ;
 | 
|---|
 | 59 |  ;
 | 
|---|
 | 60 | INIT ;  build array
 | 
|---|
 | 61 |  ;  clean up before entry
 | 
|---|
 | 62 |  K ^TMP($J,"PRCPPOLMCOS")
 | 
|---|
 | 63 |  D REBUILD^PRCPPOLB
 | 
|---|
 | 64 |  Q
 | 
|---|
 | 65 |  ;
 | 
|---|
 | 66 |  ;
 | 
|---|
 | 67 | EXIT ;  exit
 | 
|---|
 | 68 |  K ^TMP($J,"PRCPPOLM"),^TMP($J,"PRCPPOLMCOS"),^TMP($J,"PRCPPOLMREC")
 | 
|---|
 | 69 |  Q
 | 
|---|