| 1 | PRCHMA1 ;WISC/AKS/DWA-Amendments to purchase orders and requisitions ;6/8/96  13:42
 | 
|---|
| 2 |  ;;5.1;IFCAP;**22,40,79**;Oct 20, 2000
 | 
|---|
| 3 |  ;Per VHA Directive 10-93-142, this routine should not be modified.
 | 
|---|
| 4 | EN4 ;Line Item edit
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 |  ;MOP=Method of Processing
 | 
|---|
| 7 |  ;SSO=Supply Status Order
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  N DIC,DIE,DA,DR,PRCHSTN,PRCHI,PRCHI1,PRCHO,PRCHEDI,PRCHSTN,PRCHPONO,DIE,DR,PRCHN,PRCHAREC,MOP,SSO
 | 
|---|
| 10 |  S MOP=$P($G(^PRC(442,PRCHPO,0)),U,2),SSO=$P($G(^PRC(442,PRCHPO,7)),U,2)
 | 
|---|
| 11 |  I ".27.28.33.25.26.30.31.40.41.32.34.37.38.46.47.48.49.96.97."[("."_SSO_".") D
 | 
|---|
| 12 |  . I MOP=25,$P(^PRC(442,PRCHPO,23),U,15)'="Y" Q
 | 
|---|
| 13 |  . I ".2.4.7.26."[("."_MOP_".") Q
 | 
|---|
| 14 |  . W !!
 | 
|---|
| 15 |  . W !,?15,"****************** TAKE NOTE!! ********************"
 | 
|---|
| 16 |  . W !,?15,"*                                                 *"
 | 
|---|
| 17 |  . W !,?15,"*  This order has a Receiving Report previously   *"
 | 
|---|
| 18 |  . W !,?15,"*  processed.  If this amendment will alter the   *"
 | 
|---|
| 19 |  . W !,?15,"*  Total Cost of any line item on the order       *"
 | 
|---|
| 20 |  . W !,?15,"*  remember to back out the previous Receiving    *"
 | 
|---|
| 21 |  . W !,?15,"*  Report with an Adjustment Voucher, process     *"
 | 
|---|
| 22 |  . W !,?15,"*  the amendment, and rerun the Receiving         *"
 | 
|---|
| 23 |  . W !,?15,"*  Report.                                        *"
 | 
|---|
| 24 |  . W !,?15,"*                                                 *"
 | 
|---|
| 25 |  . W !,?15,"***************************************************"
 | 
|---|
| 26 |  . W !!
 | 
|---|
| 27 |  . Q
 | 
|---|
| 28 |  K MOP,SSO
 | 
|---|
| 29 |  D MV^PRCHMA0 I $G(PRCPROST)=6 S PRCHI=$O(^PRC(443.6,PRCRI(443.6),2,0)),PRCHI1=PRCHI,X=1,$P(PRCHI,U,2)=$P(^(PRCHI,0),U) G EN4A
 | 
|---|
| 30 |  S DA(1)=PRCHPO,DIC="^PRC(443.6,"_DA(1)_",2,",DIC(0)="AEQZ" D ^DIC Q:Y<0  S PRCHI=Y,PRCHI1=$P(Y,U,2)
 | 
|---|
| 31 | EN4A ;Called from routine PRCHMA2B for chenge vendor amendments to enable
 | 
|---|
| 32 |  ;line item edits for vendor specific information.
 | 
|---|
| 33 |  S PRCHO=+$G(^PRC(443.6,PRCHPO,2,+PRCHI,2))
 | 
|---|
| 34 |  S PRCHEDI=$G(^PRC(440,$P(^PRC(443.6,PRCHPO,1),U),3)) S:PRCHEDI]"" PRCHEDI=$P(PRCHEDI,U,2)
 | 
|---|
| 35 |  S PRCHSTN=$P($P(^PRC(443.6,PRCHPO,0),U),"-")
 | 
|---|
| 36 |  S PRCHPONO=$P(^PRC(443.6,PRCHPO,0),U)
 | 
|---|
| 37 |  I $G(PRCPROST)=6 D  G EN4B
 | 
|---|
| 38 |  . N X
 | 
|---|
| 39 |  . S PRCRI(443.61)=$O(^PRC(443.6,PRCRI(443.6),2,0))
 | 
|---|
| 40 |  . I PRCRI(443.61) D EDIT^PRC0B(.X,"443.6;^PRC(443.6,;"_PRCRI(443.6)_"~443.61;^PRC(443.6,"_PRCRI(443.6)_",2,;"_PRCRI(443.61),"5///"_PRCPAMT)
 | 
|---|
| 41 |  . QUIT
 | 
|---|
| 42 |  S DIE="^PRC(443.6,",DA=PRCHPO
 | 
|---|
| 43 |  S DR=$S($D(PRCHREQ):"[PRCHRQITM]",1:"[PRCHLINE]"),DIE("NO^")="BACK"
 | 
|---|
| 44 |  ;I $G(PRCHVFLG)>0 S DR=$S($D(PRCHREQ):"[PRCH CHNGVEND RQ",1:"[PRCH CHNGVEND PO]"),DIE("NO^")="BACK"
 | 
|---|
| 45 |  I $G(PRCHAUTH)=1 S DR="[PRCH PURCHASE CARD AMEND]"
 | 
|---|
| 46 |  I $G(PRCHAUTH)=2 S DR="[PRCH DELIVERY ORDER AMEND]"
 | 
|---|
| 47 |  D ^DIE K DIE
 | 
|---|
| 48 | EN4B ;Called from routine PRCHMA2C for change vendor amendments to enable
 | 
|---|
| 49 |  ;line item edits if required information is missing.
 | 
|---|
| 50 |  S PRCHN=+$G(^PRC(443.6,PRCHPO,2,+PRCHI,2))
 | 
|---|
| 51 |  I PRCHO'=PRCHN S PRCHAMT=PRCHAMT+(PRCHN-PRCHO)
 | 
|---|
| 52 |  I $D(^PRC(443.6,PRCHPO,2,+PRCHI,2)),$P(^(2),U,6)>0 S PRCHAREC=1
 | 
|---|
| 53 |  I $P($G(^PRC(443.6,PRCHPO,2,+PRCHI,0)),U,2)'>$P($G(^(2)),U,8) D
 | 
|---|
| 54 |  .S PRCHX($P(PRCHI,U,2),"@")="^PRC(442,PRCHPO,2,""C"",X,"_+PRCHI_")"
 | 
|---|
| 55 |  E  S PRCHX($P(PRCHI,U,2),$P(PRCHI,U,2))="^PRC(442,PRCHPO,2,""C"",X,"_+PRCHI_")"
 | 
|---|
| 56 |  S DELIVER=1 W !
 | 
|---|
| 57 |  D ERCHK,EN0^PRCHAMXH
 | 
|---|
| 58 |  K PRCHI
 | 
|---|
| 59 |  QUIT
 | 
|---|
| 60 | EN5 ;Source Code edit
 | 
|---|
| 61 |  N DIE,DR
 | 
|---|
| 62 |  S DIC="^PRCD(420.8,",DIC(0)="AEQ"
 | 
|---|
| 63 |  S:$D(PRCHREQ) DIC("S")="I ""134590""[$E(^(0))"
 | 
|---|
| 64 |  S:$P($G(^PRC(443.6,PRCHPO,1)),U,7)>0 DIC("B")=$P(^PRCD(420.8,$P(^(1),U,7),0),"^")
 | 
|---|
| 65 |  D ^DIC K DIC Q:Y<0
 | 
|---|
| 66 |  S DIE="^PRC(443.6,",DA=PRCHPO,DR="8////"_+Y D ^DIE K DIE W !
 | 
|---|
| 67 |  QUIT
 | 
|---|
| 68 | EN6 ;Edit Mail Invoice to
 | 
|---|
| 69 |  N DA,DIE,DR
 | 
|---|
| 70 |  S DA=PRCHPO,DIE="^PRC(443.6,",DR=.04 D ^DIE W !
 | 
|---|
| 71 |  QUIT
 | 
|---|
| 72 | EN7 ;Edit Method of Payment
 | 
|---|
| 73 |  N DA,DIE,DR
 | 
|---|
| 74 |  S DA=PRCHPO,DIE="^PRC(443.6,",DR=.02 D ^DIE W !
 | 
|---|
| 75 |  QUIT
 | 
|---|
| 76 | EN8 ;Administrative Certification add
 | 
|---|
| 77 |  N DIE,DA,DR,DLAYGO
 | 
|---|
| 78 |  D MVADM S DA(1)=PRCHPO
 | 
|---|
| 79 |  S DIC="^PRC(443.6,"_DA(1)_",15,",DIC(0)="AEQL",DLAYGO=443.6 D ^DIC K DIC
 | 
|---|
| 80 |  W !
 | 
|---|
| 81 |  QUIT
 | 
|---|
| 82 | EN9 ;Administrative Certification delete
 | 
|---|
| 83 |  N DIE,DA,DR
 | 
|---|
| 84 |  D MVADM S DA(1)=PRCHPO
 | 
|---|
| 85 |  S DIC="^PRC(443.6,"_DA(1)_",15,",DIC(0)="AEQ" D ^DIC K DIC
 | 
|---|
| 86 |  S DIE="^PRC(443.6,"_DA(1)_",15,",DA=+Y,DR=".01////@" D ^DIE K DIE
 | 
|---|
| 87 |  QUIT
 | 
|---|
| 88 | EN13 ;Replace P.O. Number
 | 
|---|
| 89 |  N X,I,PRCH0,PRCHO,PRCHNRQ,PRCHN,ER,OK,P2237
 | 
|---|
| 90 |  S (I,ER)=0,X=""
 | 
|---|
| 91 |  ;F  S I=$O(^PRC(442,PRCHPO,11,I)) Q:'I  I $D(^(I,0)) S X=$P(^(0),U,8) Q:X]""
 | 
|---|
| 92 |  D CAN^PRCHMA3
 | 
|---|
| 93 |  I $G(NOCAN)=1 W !?5,$S($D(PRCHREQ):"REQUISITION",1:"PURCHASE ORDER")_" HAS BEEN RECEIVED, CANNOT CANCEL !",$C(7) Q
 | 
|---|
| 94 |  I $G(PRCHAUTH)=1 D PAID^PRCHINQ I $G(PAID)=1 D  Q
 | 
|---|
| 95 |  . W !,?5,"THERE HAS BEEN PAYMENT MADE FOR THIS PURCHASE CARD ORDER, CANNOT CANCEL !",$C(7)
 | 
|---|
| 96 |  I $P($G(^PRC(443.6,PRCHPO,6,PRCHAM,3,0)),U,4)>2 D ERR Q
 | 
|---|
| 97 |  I $P($G(^PRC(443.6,PRCHPO,6,PRCHAM,3,0)),U,4)=2 I $P($G(^PRC(443.6,PRCHPO,6,PRCHAM,3,2,0)),U,2)'=34 D ERR Q
 | 
|---|
| 98 |  S P2237=$P(^PRC(443.6,PRCHPO,0),U,12),OK=1 D:P2237>0  Q:OK=0
 | 
|---|
| 99 |  .I '$$VERIFY^PRCSC2(P2237) W !!,?5,"This purchase order has been tampered with.",!,?5,"Please notify IFCAP APPLICATION COORDINATOR.",! S OK=0
 | 
|---|
| 100 |  I $D(PRCHREQ) S PRCHNRQ=PRCHREQ
 | 
|---|
| 101 |  S PRCH0=$G(^PRC(443.6,PRCHPO,0))
 | 
|---|
| 102 |  S PRCHO=$P(PRCH0,U),PRCH=PRCHPO D
 | 
|---|
| 103 |  .I $D(PRCHNRQ) S PRCHP("A")="REQUISITION NUMBER",PRCHP("T")=8,PRCHP("S")=1 D EN^PRCHPAT Q
 | 
|---|
| 104 |  .I $D(PRCHIMP) S PRCHP("A")="IMPREST FUND P.O.NO.: ",PRCHP("T")=7,PRCHP("S")=3 D EN^PRCHPAT Q
 | 
|---|
| 105 |  .D ENPO^PRCHUTL Q
 | 
|---|
| 106 |  I '$D(PRCHPO) S PRCHPO=PRCH Q
 | 
|---|
| 107 |  S PRCHN=$P(^PRC(442,PRCHPO,0),U),NDOC=$P(^(18),U,3)
 | 
|---|
| 108 |  N %X,%Y,DIE,DR,DA
 | 
|---|
| 109 |  S %X="^PRC(442,PRCH,",%Y="^PRC(443.6,PRCHPO," D %XY^%RCR
 | 
|---|
| 110 |  F I=6,10,11 K ^PRC(443.6,PRCHPO,I)
 | 
|---|
| 111 |  S DIE="^PRC(443.6,",DA=PRCHPO
 | 
|---|
| 112 |  S DR=".01///^S X=PRCHN;27///^S X=PRCHO;102///^S X=NDOC"
 | 
|---|
| 113 |  D ^DIE K DIE,DA,DR,NDOC
 | 
|---|
| 114 |  S DIE="^PRC(443.6,",DA=PRCH,DR="28///^S X=PRCHN" D ^DIE K DIE,DA,DR
 | 
|---|
| 115 |  S X=0,PRCHPO=PRCH D EN4^PRCHAMXB
 | 
|---|
| 116 |  S DA(1)=PRCH,DIE="^PRC(443.6,"_DA(1)_",6,",DA=PRCHAM,DR="9////^S X=$O(^PRCD(442.3,""C"",45,0))"
 | 
|---|
| 117 |  D ^DIE
 | 
|---|
| 118 |  S DELIVER=1,REPO=1,PRCHPO=PRCH,CAN=1 W !
 | 
|---|
| 119 |  QUIT
 | 
|---|
| 120 | MVADM ;Move Administrative Certifications from file 442
 | 
|---|
| 121 |  Q:$D(^PRC(443.6,PRCHPO,15,0))&($P($G(^(0)),U,4)>0)  D WAIT^DICD
 | 
|---|
| 122 |  N %X,%Y
 | 
|---|
| 123 |  S %X="^PRC(442,PRCHPO,15,",%Y="^PRC(443.6,PRCHPO,15," D %XY^%RCR
 | 
|---|
| 124 |  S $P(^PRC(443.6,PRCHPO,15,0),U,2)=$P(^DD(443.6,24,0),U,2)
 | 
|---|
| 125 |  QUIT
 | 
|---|
| 126 | ERCHK N NODE0
 | 
|---|
| 127 |  S ERROR=0,NODE0=^PRC(443.6,PRCHPO,2,+PRCHI,0)
 | 
|---|
| 128 |  I '$O(^PRC(443.6,PRCHPO,2,+PRCHI,1,0)) W !,"Line item ",+NODE0," is missing its description!",! S ERROR=1
 | 
|---|
| 129 |  I $P(NODE0,U,4)="" W !,"Line item ",+NODE0," is missing BOC !",! S ERROR=1
 | 
|---|
| 130 |  I $G(PRCHAUTH)'=1,$D(PRCHREQ),$P(NODE0,U,13)="" W !,"Line item ",+NODE0," is missing NSN !",! S ERROR=1
 | 
|---|
| 131 |  I '$D(^PRC(443.6,PRCHPO,2,+PRCHI,2)) W !,"Line item ",+NODE0," is incomplete !",! S ERROR=1
 | 
|---|
| 132 |  I $P($G(^PRC(442,PRCHPO,23)),U,11)="D",$P($G(^PRC(443.6,PRCHPO,2,+PRCHI,2)),U,2)="" W !,"Line item ",+NODE0," does contain contract number.",! S ERROR=1
 | 
|---|
| 133 |  ;W:ERROR !,"Editing of the line item is required !",!
 | 
|---|
| 134 |  Q
 | 
|---|
| 135 | KILL ;Kill
 | 
|---|
| 136 |  K PRCF,RETURN,PRCHAM,PRCHPO,PRCHNEW,OUT,A,B,ER,FL,FIS,DELIVER,PRCHAMDA
 | 
|---|
| 137 |  K PRCHAV,PRCHL1,PRCHL2,ROU,DIC,I,PRCHAMT,PRCHAREC,PRCHEDI,X,Y,PRCHN
 | 
|---|
| 138 |  K PRCHO,PRCHX,PRCHIMP,PRCHNRQ,PRCHP,PRCHPO,REPO,PRCHNORE,%,%A,%B,D0,D1
 | 
|---|
| 139 |  K PRCHU,PRCHER,PRCHLN,PRCHRET,PRCHQ,AA,PRCHVN
 | 
|---|
| 140 |  Q
 | 
|---|
| 141 | ERR W !!?5,"To "_$S($D(PRCHREQ):$P(^PRCD(441.6,32,0),U,2),1:$P(^PRCD(442.2,32,0),U,2))_" it must be the ONLY change you",!?5,"are making on the amendment."
 | 
|---|
| 142 |  Q
 | 
|---|
| 143 |  ;
 | 
|---|
| 144 | PCD ;PRC*5.1*79 - Check line items of Detailed PC orders with source code=6
 | 
|---|
| 145 |  ;for missing contract number, called from PRCHMA.
 | 
|---|
| 146 |  I $P($G(^PRC(442,PRCHPO,23)),U,11)="P",$P($G(^PRC(442,PRCHPO,1)),U,7)=6,$P($G(^PRC(443.6,PRCHPO,2,PRCH,2)),U,2)="" D:LCNT>END TOP^PRCHMA W !!,?5,"Line item ",+$P(PRCHLN,U)," is missing a required contract number.",$C(7) S PRCHER="",LNCT=LCNT+2
 | 
|---|
| 147 |  Q 
 | 
|---|