[628] | 1 | PRCHQ1B ;(WASH ISC)/LKG - Request for Quotation ;8/6/96 20:48
|
---|
| 2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | BOCINP ;Input transform for BOC
|
---|
| 5 | N PRC2237,Z0,DIC
|
---|
| 6 | S PRC2237=$P($G(^PRC(444,D0,0)),U,9) I PRC2237'?1.N K X Q
|
---|
| 7 | S Z0=$S($D(^PRCS(410,PRC2237,3)):+$P(^(3),U,3),1:0)
|
---|
| 8 | I 'Z0!'$D(^PRCD(420.1,Z0,1,0)) K X Q
|
---|
| 9 | S DIC="^PRCD(420.1,Z0,1,",DIC(0)="EMQZ" D ^DIC
|
---|
| 10 | I +Y'>0 K X Q
|
---|
| 11 | S X=+$P(Y(0),U) I '$D(^PRCD(420.2,X,0)) K X Q
|
---|
| 12 | Q
|
---|
| 13 | BOCHLP ;Executable help for BOC
|
---|
| 14 | N PRCTXT,PRC2237,D,Z0,DIC,PRCDA S PRCDA=D0
|
---|
| 15 | S PRCTXT(1)="Major budget object code classifications are:"
|
---|
| 16 | S PRCTXT(2)="10 thru 13 - Personal Services and Benefits"
|
---|
| 17 | S PRCTXT(3)=" 21 - Travel and Transportation of Persons"
|
---|
| 18 | S PRCTXT(4)=" 22 - Transportation of Things"
|
---|
| 19 | S PRCTXT(5)=" 23 - Rent, Communications, and Utilities"
|
---|
| 20 | S PRCTXT(6)=" 24 - Printing and Reproduction"
|
---|
| 21 | S PRCTXT(7)=" 25 - Other Services"
|
---|
| 22 | S PRCTXT(8)=" 26 - Supplies and Materials"
|
---|
| 23 | S PRCTXT(9)="31 thru 33 - Acquisition of Capital Assets"
|
---|
| 24 | D EN^DDIOL(.PRCTXT)
|
---|
| 25 | S PRC2237=$P($G(^PRC(444,PRCDA,0)),U,9)
|
---|
| 26 | I PRC2237'?1.N D EN^DDIOL("2237 pointer is missing so can't determine available BOCs.") Q
|
---|
| 27 | S X="?",Z0=$S($D(^PRCS(410,PRC2237,3)):+$P(^(3),U,3),1:0)
|
---|
| 28 | I 'Z0!'$D(^PRCD(420.1,Z0,1,0)) D EN^DDIOL("2237's Cost Center is missing so can't determine available BOCs.") Q
|
---|
| 29 | S DIC="^PRCD(420.1,Z0,1,",DIC(0)="QEM" D ^DIC
|
---|
| 30 | Q
|
---|
| 31 | LINENET() ;Calculates the net line amount for item in quote
|
---|
| 32 | ;;Net = Unit_Price * Quantity - Volume_Discount
|
---|
| 33 | N PRCX,PRCY
|
---|
| 34 | S PRCX=$$GET^DDSVAL(444.026,.DA,13)*$$GET^DDSVAL(444.026,.DA,2)
|
---|
| 35 | S PRCY=+$$GET^DDSVAL(444.026,.DA,14)
|
---|
| 36 | S PRCY=$S(PRCY>0:PRCX*PRCY/100,1:$$GET^DDSVAL(444.026,.DA,15))
|
---|
| 37 | S:PRCY>0 PRCX=PRCX-PRCY
|
---|
| 38 | Q $FN(PRCX,"",2)
|
---|
| 39 | STATUSDT ;Sets/Clears Date assigned critical statuses
|
---|
| 40 | N PRCI S PRCI=$S(X=0:16,X=2:15,X=3:12,X=4:13,X=5:14,1:"")
|
---|
| 41 | I PRCI]"" D
|
---|
| 42 | . N %,%H,%I,X D NOW^%DTC
|
---|
| 43 | . S $P(^PRC(444,DA,1),U,PRCI)=%
|
---|
| 44 | I X=1!(X=2) D
|
---|
| 45 | . S $P(^PRC(444,DA,1),U,12,13)="^"
|
---|
| 46 | Q
|
---|
| 47 | DUN(Z) ;Returns Dun number for Solicited Vendor (Z=5) or Quote Vendor (Z=8)
|
---|
| 48 | N X,Y S Y=""
|
---|
| 49 | I $D(D0),$D(D1) D
|
---|
| 50 | . S X=$P($G(^PRC(444,D0,Z,D1,0)),U) Q:X=""
|
---|
| 51 | . S Y=$S($P(X,";",2)[440:$P($G(^PRC(440,$P(X,";"),7)),U,12),1:$P($G(^PRC(444.1,$P(X,";"),0)),U,2))
|
---|
| 52 | Q Y
|
---|
| 53 | QUOTETOT(PRCD0,PRCD1) ;Sets Total for Quote in field #8 of subfile #444.024
|
---|
| 54 | N PRCX,PRCI,DA,DIC,DIE,DR S PRCX=0,PRCI=0
|
---|
| 55 | F S PRCI=$O(^PRC(444,PRCD0,8,PRCD1,3,PRCI)) Q:PRCI'?1.N D
|
---|
| 56 | . S PRCX=PRCX+$P($G(^PRC(444,PRCD0,8,PRCD1,3,PRCI,1)),U,7)
|
---|
| 57 | S PRCX=PRCX+$P($G(^PRC(444,PRCD0,8,PRCD1,1)),U,2)
|
---|
| 58 | S DA=PRCD1,DA(1)=PRCD0,DIE="^PRC(444,DA(1),8,",DR="8///^S X=PRCX"
|
---|
| 59 | D ^DIE
|
---|
| 60 | Q
|
---|
| 61 | PUBLIC ;Sets Required status of Transmit to Public field
|
---|
| 62 | N PRCX,PRCIENS
|
---|
| 63 | S PRCX=$$GET^DDSVAL(444,DA,6,"","I"),PRCX=$S(PRCX="m":0,1:1)
|
---|
| 64 | S PRCIENS=DA_","
|
---|
| 65 | D REQ^DDSUTL(2,"PRCHQ7",6,PRCX,PRCIENS)
|
---|
| 66 | Q
|
---|
| 67 | PUBLIC2 ;Sets Require status of Transmit to Public when Method
|
---|
| 68 | ;of Processing Changes.
|
---|
| 69 | N PRCX,PRCIENS
|
---|
| 70 | S PRCIENS=DA_",",PRCX=$S(X="m":0,1:1)
|
---|
| 71 | D REQ^DDSUTL(2,"PRCHQ7",6,PRCX,PRCIENS)
|
---|
| 72 | Q
|
---|
| 73 | FCP ;Input Transform for Fund Control Point
|
---|
| 74 | N Z0,DIC
|
---|
| 75 | S Z0=$E($P(^PRC(444,DA,0),U),1,3) K:'Z0 X Q:'Z0
|
---|
| 76 | Q:'$D(^PRC(420,Z0,1,0))
|
---|
| 77 | S DIC="^PRC(420,Z0,1,",DIC(0)="QEMNZ" D ^DIC S X=$P(Y(0),U)
|
---|
| 78 | K:Y'>0 X
|
---|
| 79 | Q
|
---|
| 80 | FCPHLP ;Executable Help for Fund Control Point
|
---|
| 81 | N ZD,Z0,DIC
|
---|
| 82 | S:$D(D)#10=1 ZD=D,X="?",Z0=$E($P(^PRC(444,DA,0),U),1,3) Q:'Z0
|
---|
| 83 | Q:'$D(^PRC(420,Z0,1,0))
|
---|
| 84 | S DIC="^PRC(420,Z0,1,",DIC(0)="QEM" D ^DIC S:$D(ZD)#10=1 D=ZD
|
---|
| 85 | Q
|
---|
| 86 | REQDFLD1 ;Checks required fields in Item edit page
|
---|
| 87 | N PRCIT,PRCJ,PRCAR,PRCWP
|
---|
| 88 | S PRCJ=1
|
---|
| 89 | S PRCIT=$$GET^DDSVAL(444.019,.DA,.01)
|
---|
| 90 | I PRCIT="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="Line Item # is missing"
|
---|
| 91 | S PRCWP=$$GET^DDSVAL(444.019,.DA,1.5)
|
---|
| 92 | I $P($G(@PRCWP@(0)),U,4)'>0 S PRCJ=PRCJ+1,PRCAR(PRCJ)="Description is missing for Item #"_PRCIT
|
---|
| 93 | I $$GET^DDSVAL(444.019,.DA,1.6)="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="Short Description is missing for Item #"_PRCIT
|
---|
| 94 | I $$GET^DDSVAL(444.019,.DA,3)="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="Unit of Purchase is missing for Item #"_PRCIT
|
---|
| 95 | I $$GET^DDSVAL(444.019,.DA,2)="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="Quantity is missing for Item #"_PRCIT
|
---|
| 96 | I $$GET^DDSVAL(444.019,.DA,6)="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="SIC Code is missing for Item #"_PRCIT
|
---|
| 97 | I $$GET^DDSVAL(444.019,.DA,4)="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="Federal Supply Class is missing for Item #"_PRCIT
|
---|
| 98 | I $$GET^DDSVAL(444.019,.DA,12.5)="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="BOC is missing for Item #"_PRCIT
|
---|
| 99 | I PRCJ>1 D
|
---|
| 100 | . S PRCAR(1)="** Warning: The following Required Fields were not completed: "
|
---|
| 101 | . D HLP^DDSUTL(.PRCAR) D HLP^DDSUTL("$$EOP")
|
---|
| 102 | Q
|
---|
| 103 | REQDFLD2 ;Checks required fields in Delivery Schedule
|
---|
| 104 | N PRCDS,PRCJ,PRCAR S PRCJ=1
|
---|
| 105 | Q:$G(DA)'>0
|
---|
| 106 | S PRCDS=$$GET^DDSVAL(444.039,.DA,.01) Q:PRCDS=""
|
---|
| 107 | I $$GET^DDSVAL(444.039,.DA,1)="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="Delivery Date is missing for Delivery Schedule #"_PRCDS
|
---|
| 108 | I $$GET^DDSVAL(444.039,.DA,2)="" S PRCJ=PRCJ+1,PRCAR(PRCJ)="Quantity is missing for Delivery Schedule #"_PRCDS
|
---|
| 109 | I PRCJ>1 D
|
---|
| 110 | . S PRCAR(1)="** Warning: The following Required Fields were not completed: "
|
---|
| 111 | . D HLP^DDSUTL(.PRCAR) D HLP^DDSUTL("$$EOP")
|
---|
| 112 | Q
|
---|
| 113 | METHOD(PRCX) ;Additional Data Validation for Method of Solicitation
|
---|
| 114 | Q:PRCX="m" N PRCVEN
|
---|
| 115 | S PRCVEN=$$GET^DDSVAL(444.01,.DA,.01,"","I")
|
---|
| 116 | I PRCVEN'["PRC(440" S DDSERROR=1
|
---|
| 117 | I PRCVEN["PRC(440",$P($G(^PRC(440,+PRCVEN,3)),U,2)'="Y" S DDSERROR=1
|
---|
| 118 | I PRCVEN["PRC(440",$P($G(^PRC(440,+PRCVEN,7)),U,12)="" S DDSERROR=1
|
---|
| 119 | D:$G(DDSERROR)=1 HLP^DDSUTL("Only MANUAL method is available for Non-EDI Vendor or vendor without Dun#.")
|
---|
| 120 | Q
|
---|
| 121 | DBCHK(PRCX) ;Validates Dun & Bradstreet # by Mod 10 and Mod 10 plus 5
|
---|
| 122 | N I,T,V,W,Y,Z S Y=$E(PRCX,$L(PRCX))
|
---|
| 123 | S W="" F I=1:1:$L(PRCX)-1 S Z=$E(PRCX,I),W=W_(1+(I#2=0)*Z)
|
---|
| 124 | S T=0 F I=1:1:$L(W) S T=T+$E(W,I)
|
---|
| 125 | S V=T\10+1*10-T,V=$E(V,$L(V))
|
---|
| 126 | I V=Y Q 1 ;Mod 10 checksum
|
---|
| 127 | S V=V+5,V=$E(V,$L(V)) I V=Y Q 1 ;Mod 10 plus 5 checksum
|
---|
| 128 | Q 0
|
---|