| [613] | 1 | PRCHNPO9 ;WISC/SC/JDM-SPLITTED PRCHNPO ROUTINE, ENTER NEW P.O./REQ. ; [12/10/98 12:22pm]
 | 
|---|
 | 2 |  ;;5.1;IFCAP;;Oct 20, 2000
 | 
|---|
 | 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
 | 4 | EDITMSG ;messages-when editing P.O.
 | 
|---|
 | 5 |  S PRCHEST=$P($G(^PRC(442,PRCHPO,0)),U,13),PRCHESTL=$P($G(^(0)),U,18)
 | 
|---|
 | 6 | CKSHBOC I PRCHEST>0 S ESTBOC=+$P($G(^PRC(442,PRCHPO,23)),U) I ESTBOC=""!(ESTBOC'>0) W ?5,!!,"The Estimated Shipping Charges is missing BOC!",$C(7) S PRCHER="",ERROR1=1
 | 
|---|
 | 7 |  S SHPGBOC=$G(^PRC(442,PRCHPO,23))
 | 
|---|
 | 8 |  I PRCHEST<0 S SHBOC="",PRCHEST="",$P(^PRC(442,PRCHPO,0),U,13)=PRCHEST,$P(^PRC(442,PRCHPO,23),U)=SHBOC
 | 
|---|
 | 9 | CKSRCCD I PRCHSC="",'$D(PRCHPC) W !!?5,"Source Code for "_$S($D(PRCHNRQ):"Requisition",1:"Purchase Order")_" is undefined !",$C(7) S ERROR1=1
 | 
|---|
 | 10 | CKPRCHD S PRCHDT=$S($P($G(^PRC(442,PRCHPO,1)),U,15)<2881001:0,$P($G(^(1)),U,15)>2880930:1,1:"")
 | 
|---|
 | 11 |  I PRCHDT="" W !,$S($D(PRCHNRQ):"Requisition",1:"Purchase Order")_" has no date. ",$C(7) S ERROR1=1
 | 
|---|
 | 12 | CKSINFO I $P($G(^PRC(442,PRCHPO,1)),U,12),$P($G(^(0)),U,2)'=4,$P($G(^(0)),U,2)'=25,$P($G(^(1)),U,3)'="" W $C(7),!!,"P.O. contains both a 'Ship to Address' and a 'Direct Delivery Patient'.",!,"Shipping information is unclear!" S ERROR1=1
 | 
|---|
 | 13 |  S PRCHNDX=+$P($G(^PRC(442,PRCHPO,0)),U,2),PRCHN("MP")="" G:PRCHNDX'>0 CKPMETH
 | 
|---|
 | 14 |  S PRCHN("MP")=$P($G(^PRCD(442.5,PRCHNDX,0)),U,3)
 | 
|---|
 | 15 | CKPMETH I 'PRCHN("MP") W !,$C(7),"Method of Processing is not entered!" S ERROR1=1
 | 
|---|
 | 16 | CKFOBOR I $P($G(^PRC(442,PRCHPO,1)),U,6)="O"&(($P($G(^(0)),U,13)<0)!($P($G(^(0)),U,13)="")) W !,"F.O.B. Point with ORIGIN must have a Est. Shipping and/or Handling Charges" S ERROR1=1
 | 
|---|
 | 17 |  Q
 | 
|---|
 | 18 | CKLI ;Messages if req'd Packaging Multiple, UCF or Drug Type Code are null
 | 
|---|
 | 19 |  S ERMS1=" ",IMF=$P(^PRC(442,PRCHPO,2,LI,0),U,5),IMFD=$P(^PRC(441,IMF,0),U,2),VND=$P(^PRC(442,PRCHPO,1),U,1)
 | 
|---|
 | 20 |  S ERMS2="Line item "_$P(^PRC(442,PRCHPO,2,LI,0),U)_" is missing "
 | 
|---|
 | 21 |  I PRCHMUL=""&(PRTY=1!(PRTY=25)!(PRTY=26)) K E S E(1)=ERMS2,E(1,"F")="!",E(2)="Packaging Multiple!",E(2,"F")="",E(3)=ERMS1,E(3,"F")="!" D EN^DDIOL(.E) S ERRFL=1
 | 
|---|
 | 22 |  I PRCHUCF=""&(PRTY=1!(PRTY=25)!(PRTY=26)) K E S E(1)=ERMS2,E(1,"F")="!",E(2)="Unit Conversion Factor!",E(2,"F")="",E(3)=ERMS1,E(3,"F")="!" D EN^DDIOL(.E) S ERRFL=2
 | 
|---|
 | 23 |  I PRCHDRTY=""&(PRCHFSCD="6505") K E S E(1)=ERMS2,E(1,"F")="!",E(2)="Drug Type Code!",E(2,"F")="" D EN^DDIOL(.E) S ERRFL=3
 | 
|---|
 | 24 |  Q
 | 
|---|
 | 25 | TSTREQ1 ;EP;Called from PO Input Templates to warn blank Packaging Multiple field will be required to complete transaction.
 | 
|---|
 | 26 |  Q:$P($G(^PRC(442,PRCHPO,2,DA,0)),U,5)=""
 | 
|---|
 | 27 |  S:'$D(^VA(200,DUZ,400)) SUPUSR=0
 | 
|---|
 | 28 |  S:'$D(SUPUSR) SUPUSR=$P(^VA(200,DUZ,400),U,1)
 | 
|---|
 | 29 |  S PRTY=$P($G(^PRC(442,PRCHPO,0)),U,2),LI=$P($G(^PRC(442,PRCHPO,2,0)),U,4),CUROPT=$P(XQY0,U,1),ERRFL=0
 | 
|---|
 | 30 |  Q:(PRTY=25!(PRTY=26))&(SUPUSR'>2)
 | 
|---|
 | 31 |  Q:PRTY'=1&(PRTY'=25)&(PRTY'=26)
 | 
|---|
 | 32 |  I $P($G(^PRC(442,PRCHPO,2,DA,0)),U,12)']"" K W S W(1)="Pkg. Multiple is blank. It must be supplied to later complete this document!",W(1,"F")="!" D EN^DDIOL(.W)
 | 
|---|
 | 33 |  Q
 | 
|---|
 | 34 | TSTREQ2 ;EP;Called from PO Input Templates to warn blank Drug Type Code will be required to complete transaction.
 | 
|---|
 | 35 |  Q:$P($G(^PRC(442,PRCHPO,2,DA,2)),U,3)'="6505"
 | 
|---|
 | 36 |  I $P($G(^PRC(442,PRCHPO,2,DA,4)),U,11)']"" K W S W(1)="For FSC 6505, DRUG TYPE CODE must be supplied to later complete document",W(1,"F")="!" D EN^DDIOL(.W)
 | 
|---|
 | 37 |  Q
 | 
|---|
 | 38 | ERRCHKS ;EP;Called from routine PRCHNPO before allowing completion of transaction.  Checks all line items for blank required fields (as appropriate) Pkg. Mult., UCF & Drug Type Code.
 | 
|---|
 | 39 |  S ERRFL=0
 | 
|---|
 | 40 |  S PRTY=$P(^PRC(442,PRCHPO,0),U,2),LI=0
 | 
|---|
 | 41 |  K SUPUSR S:'$D(^VA(200,DUZ,400)) SUPUSR=0
 | 
|---|
 | 42 |  S:'$D(SUPUSR) SUPUSR=$P(^VA(200,DUZ,400),U,1)
 | 
|---|
 | 43 |  S CUROPT=$P(XQY0,U,1)
 | 
|---|
 | 44 |  G:(PRTY=25!(PRTY=26))&(SUPUSR'>2) NOIMF
 | 
|---|
 | 45 |  G:PRTY'=1&(PRTY'=25)&(PRTY'=26) NOIMF
 | 
|---|
 | 46 |  F  Q:$O(^PRC(442,PRCHPO,2,LI))'>0  S LI=$O(^PRC(442,PRCHPO,2,LI)) D
 | 
|---|
 | 47 |  .Q:$P($G(^PRC(442,PRCHPO,2,LI,0)),U,5)=""
 | 
|---|
 | 48 |  .S PRCHMUL=$P($G(^PRC(442,PRCHPO,2,LI,0)),U,12),PRCHUCF=$P(^PRC(442,PRCHPO,2,LI,0),U,17)
 | 
|---|
 | 49 |  .S PRCHDRTY=$P($G(^PRC(442,PRCHPO,2,LI,4)),U,11),PRCHFSCD=$P(^PRC(442,PRCHPO,2,LI,2),U,3) D CKLI
 | 
|---|
 | 50 | NOIMF Q
 | 
|---|