Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PRCHQ1C

PRCHQ1C.m

Go to the documentation of this file.
  1. PRCHQ1C ;(WASH IRMFO)/LKG-RFQ INPUT TRANSFORMS ETC (CONT) ;9/5/96 13:25
  1. ;;5.1;IFCAP;;Oct 20, 2000
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. STUFFITM(PRCX,D0,D1) ;Stuff Item Master file info
  1. N PRCDT,PRCI,PRCV,PRCW,PRCY,PRCZ,%,%H,%I,X D NOW^%DTC S PRCDT=X
  1. I PRCX]"" D
  1. . S PRCZ=$G(^PRC(441,PRCX,0)) Q:PRCZ=""
  1. . S $P(^PRC(444,D0,2,D1,5),U)=$P(PRCZ,U,2)
  1. . K ^PRC(444,D0,2,D1,2)
  1. . I $P($G(^PRC(441,PRCX,1,0)),U,4)>0 D
  1. . . S PRCY=0,PRCI=0
  1. . . F S PRCY=$O(^PRC(441,PRCX,1,PRCY)) Q:+PRCY'=PRCY D
  1. . . . Q:'$D(^PRC(441,PRCX,1,PRCY,0)) S PRCW=^(0)
  1. . . . S PRCI=PRCI+1,^PRC(444,D0,2,D1,2,PRCI,0)=PRCW
  1. . . S ^PRC(444,D0,2,D1,2,0)="^^"_PRCI_"^"_PRCI_"^"_PRCDT
  1. . S $P(^PRC(444,D0,2,D1,0),U,5)=$P(PRCZ,U,3)
  1. . S $P(^PRC(444,D0,2,D1,0),U,11)=$P(PRCZ,U,14)
  1. . S $P(^PRC(444,D0,2,D1,0),U,7)=$P($G(^PRC(441,PRCX,3)),U,10)
  1. . S $P(^PRC(444,D0,2,D1,0),U,6)=$P(PRCZ,U,5)
  1. . S $P(^PRC(444,D0,2,D1,0),U,9)=$P($G(^PRC(441,PRCX,3)),U,5)
  1. . S PRCY=$P(PRCZ,U,4)
  1. . I PRCY="" S $P(^PRC(444,D0,2,D1,1),U,3,7)="^^^^" Q
  1. . S PRCZ=$G(^PRC(441,PRCX,2,PRCY,0)) Q:PRCZ=""
  1. . S $P(^PRC(444,D0,2,D1,1),U,3,7)=PRCY_U_$P(PRCZ,U,4)_U_$P(PRCZ,U,2)_U_$P(PRCZ,U,7)_U_$P(PRCZ,U,6)
  1. . S $P(^PRC(444,D0,2,D1,0),U,8)=$P(PRCZ,U,5)
  1. . S PRCW=$P(PRCZ,U,8),PRCV=$P(PRCZ,U,7) S:PRCW]"" PRCW="PACKAGING MULTIPLE: "_PRCW
  1. . S:PRCV]"" PRCW=PRCW_"/"_$P($G(^PRCD(420.5,PRCV,0)),U)
  1. . S:PRCV]"" $P(^PRC(444,D0,2,D1,0),U,3)=PRCV
  1. . I PRCW]"" D
  1. . . S PRCI=$P($G(^PRC(444,D0,2,D1,2,0)),U,3)
  1. . . S PRCI=PRCI+1,^PRC(444,D0,2,D1,2,PRCI,0)=PRCW
  1. . . S ^PRC(444,D0,2,D1,2,0)="^^"_PRCI_"^"_PRCI_"^"_PRCDT
  1. I PRCX="" D
  1. . S $P(^PRC(444,D0,2,D1,5),U)="" K ^PRC(444,D0,2,D1,2)
  1. . S $P(^PRC(444,D0,2,D1,0),U,3,9)="^^^^^^",$P(^(0),U,11)=""
  1. . S $P(^PRC(444,D0,2,D1,1),U,3,7)="^^^^"
  1. Q
  1. ADMCERT(D0) ;Lookup and add Administrative Certification
  1. N DIR,DIC,X,Y,DIRUT,DIROUT,DTOUT,DUOUT,%,%H,%I,PRCDT,PRCI,PRCJ,PRCX,PRCY,PRCZ
  1. D NOW^%DTC S PRCDT=X
  1. S PRCJ=+$P($G(^PRC(444,D0,4,0)),U,4)
  1. W !,"There are currently ",PRCJ," lines of Administrative Certification."
  1. S DIR(0)="YA",DIR("A")="Do you wish to add a standard Administrative Certification phrase? "
  1. S DIR("B")="YES" D ^DIR K DIR
  1. I $D(DIRUT)!$D(DIROUT) S X="^" Q X
  1. I Y'=1 S X="" Q X
  1. ADMLOOP S DIC=442.7,DIC(0)="AEMZ" D ^DIC K DIC
  1. I $D(DUOUT)!$D(DTOUT) S X="^" Q X
  1. I Y<1 S X="" Q X
  1. S PRCX=+Y,PRCY=0,PRCJ=$P($G(^PRC(444,D0,4,0)),U,3,4),PRCI=$P(PRCJ,U),PRCJ=$P(PRCJ,U,2)
  1. ;Adding a blank line between each Administrative Cert.
  1. I PRCI>0 D
  1. . S PRCI=PRCI+1
  1. . S PRCJ=PRCJ+1
  1. . S ^PRC(444,D0,4,PRCI,0)=" "
  1. F S PRCY=$O(^PRC(442.7,PRCX,1,PRCY)) Q:+PRCY'=PRCY D
  1. . Q:'$D(^PRC(442.7,PRCX,1,PRCY,0)) S PRCZ=^(0)
  1. . S PRCI=PRCI+1,PRCJ=PRCJ+1,^PRC(444,D0,4,PRCI,0)=PRCZ
  1. ;I PRCI>0 S PRCI=PRCI+1,PRCJ=PRCJ+1,^PRC(444,D0,4,PRCI,0)=PRCTILDA
  1. S:PRCJ>0 ^PRC(444,D0,4,0)="^^"_PRCI_"^"_PRCJ_"^"_PRCDT
  1. W !,"Administrative Certification phrase #",PRCX," has been added."
  1. G ADMLOOP
  1. ;
  1. QUOTEDUE(PRCX,PRCY,PRCZ) ;Input transform for Date Quote Due in Input Template
  1. N X1,X2,%Y,X
  1. S X1=PRCX,X2=PRCY D ^%DTC I X<3 W !,"Quote Due Date must be at least 3 days after RFQ Reference Date." Q 1
  1. I PRCX'<PRCZ W !,"Quote Due Date must be before Required Delivery Date." Q 13
  1. S X=""
  1. Q X
  1. DELTOTAL(D0,D1) ;Check Delivery Total
  1. N PRCX,PRCY S PRCX=""
  1. Q:$P($G(^PRC(444,D0,2,D1,4,0)),U,4)'>0 PRCX
  1. S PRCX=0,PRCY=0
  1. F S PRCX=$O(^PRC(444,D0,2,D1,4,PRCX)) Q:+PRCX'=PRCX D
  1. . S PRCY=PRCY+$P($G(^PRC(444,D0,2,D1,4,PRCX,0)),U,3)
  1. S PRCX=+$P($G(^PRC(444,D0,2,D1,0)),U,2)
  1. I PRCX'=PRCY W !,"Total Quantity of Delivery Schedule does NOT equal Item Quantity.",!," ",PRCY," versus ",PRCX S PRCX=20 Q PRCX
  1. S PRCX=""
  1. Q PRCX
  1. NSN(PRCY) ;Validation of National Stock #
  1. N PRCX
  1. Q:PRCY="" PRCY
  1. I '$D(^PRC(441.2,+PRCY,0)) W !,"Invalid NSN - First 4 characters must be a FSC Code." Q 5
  1. S PRCX=$O(^PRC(441,"BB",PRCY,0))
  1. S:PRCX=PRCITMO PRCX=$O(^PRC(441,"BB",PRCY,PRCX))
  1. I PRCX'="" W !,"This NSN has already been assigned to Item #",PRCX Q 5
  1. S PRCY=""
  1. Q PRCY
  1. PREF ;User enter editing preference into file #444.4
  1. K DIC,DA
  1. I '$D(^PRC(444.4,DUZ)) D I Y<1!(+Y'=DUZ) W !,"Entry not properly added!" Q
  1. . K DD,DO S DIC="^PRC(444.4,",DIC(0)="LX",X=DUZ,DLAYGO=444.4,DINUM=X
  1. . D FILE^DICN K DIC,DLAYGO
  1. K DA S DA=DUZ,DIE="^PRC(444.4,",DR=1 D ^DIE K DIE,DR,DA,DTOUT,DUOUT
  1. Q
  1. EDITOR() ;Returns the chosen editor
  1. N X,Y,DIR,DIRUT,DIROUT,DTOUT,DUOUT S X="" Q:$D(DUZ)#10'=1 X
  1. S X=$P($G(^PRC(444.4,DUZ,0)),U,2) I X="i"!(X="s") Q X
  1. S DIR(0)="SMA^i:Input Template;s:ScreenMan Form",DIR("A")="Enter Desired Input Mode: "
  1. S DIR("?",1)="Here you can indicate if you wish to edit in scroll mode with FileMan"
  1. S DIR("?")=" Input Templates or screen mode with ScreenMan"
  1. D ^DIR I $D(DIROUT)!$D(DIRUT)!$D(DTOUT) S X="" Q X
  1. Q Y
  1. LINENETS(D0,D1) ;Stuffs net line amounts for items in quote
  1. ;;Net = Unit_Price * Quantity - Volume_Discount
  1. N PRCX,PRCY,PRCV,PRCW,PRCDA3
  1. S PRCDA3=0
  1. F S PRCDA3=$O(^PRC(444,D0,8,D1,3,PRCDA3)) Q:+PRCDA3'=PRCDA3 D
  1. . S PRCV=$G(^PRC(444,D0,8,D1,3,PRCDA3,0)),PRCW=$G(^(1))
  1. . S PRCX=$P(PRCW,U,3)*$P(PRCV,U,2),PRCY=+$P(PRCW,U,4)
  1. . S PRCY=$S(PRCY>0:PRCX*PRCY/100,1:$P(PRCW,U,5))
  1. . S:PRCY>0 PRCX=PRCX-PRCY
  1. . S $P(^PRC(444,D0,8,D1,3,PRCDA3,1),U,7)=$FN(PRCX,"",2)
  1. Q
  1. METHOD(PRCX,PRCVEN) ;Additional Validation for Method of Solicitation
  1. N PRCERR,PRCY S PRCY=""
  1. Q:PRCX="m" PRCY
  1. I PRCVEN'["PRC(440" S PRCERR=1 G METHMSG
  1. S:$P($G(^PRC(440,+PRCVEN,3)),U,2)'="Y" PRCERR=1
  1. S:$P($G(^PRC(440,+PRCVEN,7)),U,12)="" PRCERR=1
  1. METHMSG I $G(PRCERR) D EN^DDIOL("Only MANUAL method is available for Non-EDI Vendor or vendor without Dun#.") Q 1
  1. Q PRCY