PRCFAC3 ;WISC/CTB/CLH/SJG/AS-ACCOUNTING MODULE ;3/24/17 13:12
V ;;5.1;IFCAP;**81,198**;Oct 20, 2000;Build 6
;Per VA Directive 6402, this routine should not be modified.
E10 ; Enter FMS Vendor Code Numbers into Vendor File
N TAG,PRCF
D HILO^PRCFQ
S PRCF("X")="AS" D ^PRCFSITE Q:'%
D SCREEN
S PRCFA("FISCVEND")=$P($G(PRC("PARAM")),U,20)
S TAG=$S(PRCFA("FISCVEND"):"E10B",'PRCFA("FISCVEND"):"E10A") D @TAG
OUT10 K %W,%X,%Y,D0,DA,DIC,DIE,DQ,DR,I,J,K,X,Y,DIRUT
K PRCTMP,IOINHI,IOINLOW,IOINORM,PRCFA
QUIT
E10A ; No adding by Fiscal/editing only
I 'PRCFA("FISCVEND") W !!,"Only Supply may add new Vendors to the Vendor File",!,"but Fiscal may edit payment information.",!!
E10A1 W ! S DIC(0)="AENMQ",DIC=440,DIC("S")="I (+Y<950000)!$D(^XUSEC(""PRCHVEN"",DUZ))"
D ^DIC Q:Y<0
I Y>0 S (DA,PRCFA("VEND"))=+Y D INFO K PRCTMP D EDIT^PRCFAC31
Q:$D(DIRUT)
I 'Y W !!,"No further action is being taken on this Vendor.",! G E10A1
D SCREEN
L +^PRC(440,DA):5 E W !,$C(7),"Another user is editing this entry!" G E10A1
K ^PRC(440.3,DA) S %X="^PRC(440,DA,",%Y="^PRC(440.3,DA," D %XY^%RCR
D WARN
S DIE=DIC,DR=$S($D(^XUSEC("PRCFA VENDOR EDIT",DUZ)):"[PRCF FMS VENEDIT1B]",1:"[PRCF FMS VENEDIT1]")
D ^DIE K DIE,DR,ORDER W ! D VEDIT^PRCHE1A(PRCFA("VEND"),PRC("SITE"))
L -^PRC(440,PRCFA("VEND"))
; SEND VENDOR UPDATE INFORMATION TO DYNAMED **81**
D:$$GET^XPAR("SYS","PRCV COTS INVENTORY",1)=1 ONECHK^PRCVNDR(PRCFA("VEND"))
G E10A1
QUIT
E10B ; Adding/editing by Fiscal
I PRCFA("FISCVEND") W !!,"Fiscal may add new Vendors to the Vendor File.",!!
N PRCIENB4
E10B1 W ! S DIC(0)="AENMQL",DLAYGO=440,DIC=440,DIC("S")="I (+Y<950000)!$D(^XUSEC(""PRCHVEN"",DUZ))"
L +^PRC(440,0):30 S PRCIENB4=$P(^PRC(440,0),U,3) L -^PRC(440,0)
D ^DIC K DLAYGO Q:Y<0
I +Y>949999,$P(Y,U,3) L +^PRC(440,0):30 S $P(^PRC(440,0),U,3)=PRCIENB4 L -^PRC(440,0)
I Y>0 S (DA,PRCFA("VEND"))=+Y D INFO K PRCTMP D EDIT^PRCFAC31
Q:$D(DIRUT)
I 'Y W !!,"No further action is being taken on this Vendor.",! G E10B1
D SCREEN
L +^PRC(440,DA):5 E W !,$C(7),"Another user is editing this entry!" G E10B1
K ^PRC(440.3,DA) S %X="^PRC(440,DA,",%Y="^PRC(440.3,DA," D %XY^%RCR
D WARN
S DIE=DIC,DR=$S($D(^XUSEC("PRCFA VENDOR EDIT",DUZ)):"[PRCF FMS VENEDIT2B]",1:"[PRCF FMS VENEDIT2]")
D ^DIE K DIE,DR,ORDER W ! D VEDIT^PRCHE1A(PRCFA("VEND"),PRC("SITE"))
L -^PRC(440,PRCFA("VEND"))
; SEND VENDOR UPDATE INFORMATION TO DYNAMED **81**
D:$$GET^XPAR("SYS","PRCV COTS INVENTORY",1)=1 ONECHK^PRCVNDR(PRCFA("VEND"))
G E10B1
QUIT
;
E11 ;LOOK VENDOR NUMBER
D HILO^PRCFQ
W !,"Select Vendor Name or PO Number: " R X:$S($D(DTIME):DTIME,1:30) G:X="" OUT11
S X1=X,DIC=440,DIC(0)="EMN" D ^DIC G:X="^" OUT11 I +Y>0 S (PRCFA("VEND"),DA)=+Y D INFO G E11
S X=X1,DIC=442,DIC(0)="EMN" D ^DIC G:X="?" E11 G:Y<0 E11 S (PRCFA("VEND"),DA)=$P($G(^PRC(442,+Y,1)),U,1) I DA="" W !!?25,$C(7),"No Vendor for this obligation number.",! G E11
W !,$P(^PRC(440,PRCFA("VEND"),0),"^") D INFO G E11
OUT11 K %,%W,%Y,DA,DIC,I,X,X1,Y
K PRCTMP,PRCFA,IOINHI,IOINLO,IONORM
QUIT
;
E12 ;;INQUIRE TO CODE SHEET ERROR MESSAGE
S DIC=421.3,DIC(0)="AEMNQ" D ^DIC I Y>0 S DA=+Y,DR=1 D EN^DIQ G E12
K %,%Y,A,D0,D1,DA,DIC,DIW,DIWF,DIWL,DIWR,DIWT,DL,DN,DR,DX,I,J,K,S,X,Y Q
E13 ;ADD/EDIT CODE SHEET ERROR MESSAGE
S DIC="^PRCF(421.3,",DIC(0)="AEMNLQ",DLAYGO=421.3 D ^DIC K DLAYGO I Y>0 S DIE=DIC,DA=+Y,DR=1 D ^DIE W ! G E13
K %,%DT,D0,DA,DIC,DIE,DQ,DR,DWLW,I,J,X,X1,Y Q
E14 ;INQUIRE TO TRANSMISSION RECORD
S:'$D(PRCFASYS) PRCFASYS="FEEFENIRSCLI"
S PRCFASYS=PRCFASYS_"RR"
S DIC=421.2,DIC(0)="AMENQ",DIC("S")="I PRCFASYS[$P(^(0),""-"",2)" D ^DIC I Y>0 S DA=+Y,DR="0;1" D EN^DIQ G E14
K %,A,D0,DA,DIC,DL,DR,DRX,DX,S,X,Y Q
INFO ; Get/Print Vendor Payment Information
I '$D(^PRC(440,PRCFA("VEND"),7)) W !!,$C(7),"No payment information in Vendor File.",!! Q
S DIR(0)="Y",DIR("A")="Review current payment information on this Vendor",DIR("B")="YES" W ! D ^DIR K DIR
I 'Y!($D(DIRUT)) Q
D GET^PRCFAC31(PRCFA("VEND")),DISPLAY^PRCFAC31(PRCFA("VEND"))
Q
SCREEN ; Control screen display
I $D(IOF) W @IOF
HDR ; Write Option Header
I $D(XQY0) W IOINHI,$P(XQY0,U,2),IOINORM,!
Q
WARN ;WARNING IF PENDING VRQ
I $P($G(^PRC(440,DA,3)),U,12)="P" W !!,"There is a FMS Vendor Request pending for this vendor.",!,"Any changes you make now may be overwritten when the Vendor",!,"Update is received.",!!
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRCFAC3 4413 printed Oct 16, 2024@18:02:39 Page 2
PRCFAC3 ;WISC/CTB/CLH/SJG/AS-ACCOUNTING MODULE ;3/24/17 13:12
V ;;5.1;IFCAP;**81,198**;Oct 20, 2000;Build 6
+1 ;Per VA Directive 6402, this routine should not be modified.
E10 ; Enter FMS Vendor Code Numbers into Vendor File
+1 NEW TAG,PRCF
+2 DO HILO^PRCFQ
+3 SET PRCF("X")="AS"
DO ^PRCFSITE
if '%
QUIT
+4 DO SCREEN
+5 SET PRCFA("FISCVEND")=$PIECE($GET(PRC("PARAM")),U,20)
+6 SET TAG=$SELECT(PRCFA("FISCVEND"):"E10B",'PRCFA("FISCVEND"):"E10A")
DO @TAG
OUT10 KILL %W,%X,%Y,D0,DA,DIC,DIE,DQ,DR,I,J,K,X,Y,DIRUT
+1 KILL PRCTMP,IOINHI,IOINLOW,IOINORM,PRCFA
+2 QUIT
E10A ; No adding by Fiscal/editing only
+1 IF 'PRCFA("FISCVEND")
WRITE !!,"Only Supply may add new Vendors to the Vendor File",!,"but Fiscal may edit payment information.",!!
E10A1 WRITE !
SET DIC(0)="AENMQ"
SET DIC=440
SET DIC("S")="I (+Y<950000)!$D(^XUSEC(""PRCHVEN"",DUZ))"
+1 DO ^DIC
if Y<0
QUIT
+2 IF Y>0
SET (DA,PRCFA("VEND"))=+Y
DO INFO
KILL PRCTMP
DO EDIT^PRCFAC31
+3 if $DATA(DIRUT)
QUIT
+4 IF 'Y
WRITE !!,"No further action is being taken on this Vendor.",!
GOTO E10A1
+5 DO SCREEN
+6 LOCK +^PRC(440,DA):5
IF '$TEST
WRITE !,$CHAR(7),"Another user is editing this entry!"
GOTO E10A1
+7 KILL ^PRC(440.3,DA)
SET %X="^PRC(440,DA,"
SET %Y="^PRC(440.3,DA,"
DO %XY^%RCR
+8 DO WARN
+9 SET DIE=DIC
SET DR=$SELECT($DATA(^XUSEC("PRCFA VENDOR EDIT",DUZ)):"[PRCF FMS VENEDIT1B]",1:"[PRCF FMS VENEDIT1]")
+10 DO ^DIE
KILL DIE,DR,ORDER
WRITE !
DO VEDIT^PRCHE1A(PRCFA("VEND"),PRC("SITE"))
+11 LOCK -^PRC(440,PRCFA("VEND"))
+12 ; SEND VENDOR UPDATE INFORMATION TO DYNAMED **81**
+13 if $$GET^XPAR("SYS","PRCV COTS INVENTORY",1)=1
DO ONECHK^PRCVNDR(PRCFA("VEND"))
+14 GOTO E10A1
+15 QUIT
E10B ; Adding/editing by Fiscal
+1 IF PRCFA("FISCVEND")
WRITE !!,"Fiscal may add new Vendors to the Vendor File.",!!
+2 NEW PRCIENB4
E10B1 WRITE !
SET DIC(0)="AENMQL"
SET DLAYGO=440
SET DIC=440
SET DIC("S")="I (+Y<950000)!$D(^XUSEC(""PRCHVEN"",DUZ))"
+1 LOCK +^PRC(440,0):30
SET PRCIENB4=$PIECE(^PRC(440,0),U,3)
LOCK -^PRC(440,0)
+2 DO ^DIC
KILL DLAYGO
if Y<0
QUIT
+3 IF +Y>949999
IF $PIECE(Y,U,3)
LOCK +^PRC(440,0):30
SET $PIECE(^PRC(440,0),U,3)=PRCIENB4
LOCK -^PRC(440,0)
+4 IF Y>0
SET (DA,PRCFA("VEND"))=+Y
DO INFO
KILL PRCTMP
DO EDIT^PRCFAC31
+5 if $DATA(DIRUT)
QUIT
+6 IF 'Y
WRITE !!,"No further action is being taken on this Vendor.",!
GOTO E10B1
+7 DO SCREEN
+8 LOCK +^PRC(440,DA):5
IF '$TEST
WRITE !,$CHAR(7),"Another user is editing this entry!"
GOTO E10B1
+9 KILL ^PRC(440.3,DA)
SET %X="^PRC(440,DA,"
SET %Y="^PRC(440.3,DA,"
DO %XY^%RCR
+10 DO WARN
+11 SET DIE=DIC
SET DR=$SELECT($DATA(^XUSEC("PRCFA VENDOR EDIT",DUZ)):"[PRCF FMS VENEDIT2B]",1:"[PRCF FMS VENEDIT2]")
+12 DO ^DIE
KILL DIE,DR,ORDER
WRITE !
DO VEDIT^PRCHE1A(PRCFA("VEND"),PRC("SITE"))
+13 LOCK -^PRC(440,PRCFA("VEND"))
+14 ; SEND VENDOR UPDATE INFORMATION TO DYNAMED **81**
+15 if $$GET^XPAR("SYS","PRCV COTS INVENTORY",1)=1
DO ONECHK^PRCVNDR(PRCFA("VEND"))
+16 GOTO E10B1
+17 QUIT
+18 ;
E11 ;LOOK VENDOR NUMBER
+1 DO HILO^PRCFQ
+2 WRITE !,"Select Vendor Name or PO Number: "
READ X:$SELECT($DATA(DTIME):DTIME,1:30)
if X=""
GOTO OUT11
+3 SET X1=X
SET DIC=440
SET DIC(0)="EMN"
DO ^DIC
if X="^"
GOTO OUT11
IF +Y>0
SET (PRCFA("VEND"),DA)=+Y
DO INFO
GOTO E11
+4 SET X=X1
SET DIC=442
SET DIC(0)="EMN"
DO ^DIC
if X="?"
GOTO E11
if Y<0
GOTO E11
SET (PRCFA("VEND"),DA)=$PIECE($GET(^PRC(442,+Y,1)),U,1)
IF DA=""
WRITE !!?25,$CHAR(7),"No Vendor for this obligation number.",!
GOTO E11
+5 WRITE !,$PIECE(^PRC(440,PRCFA("VEND"),0),"^")
DO INFO
GOTO E11
OUT11 KILL %,%W,%Y,DA,DIC,I,X,X1,Y
+1 KILL PRCTMP,PRCFA,IOINHI,IOINLO,IONORM
+2 QUIT
+3 ;
E12 ;;INQUIRE TO CODE SHEET ERROR MESSAGE
+1 SET DIC=421.3
SET DIC(0)="AEMNQ"
DO ^DIC
IF Y>0
SET DA=+Y
SET DR=1
DO EN^DIQ
GOTO E12
+2 KILL %,%Y,A,D0,D1,DA,DIC,DIW,DIWF,DIWL,DIWR,DIWT,DL,DN,DR,DX,I,J,K,S,X,Y
QUIT
E13 ;ADD/EDIT CODE SHEET ERROR MESSAGE
+1 SET DIC="^PRCF(421.3,"
SET DIC(0)="AEMNLQ"
SET DLAYGO=421.3
DO ^DIC
KILL DLAYGO
IF Y>0
SET DIE=DIC
SET DA=+Y
SET DR=1
DO ^DIE
WRITE !
GOTO E13
+2 KILL %,%DT,D0,DA,DIC,DIE,DQ,DR,DWLW,I,J,X,X1,Y
QUIT
E14 ;INQUIRE TO TRANSMISSION RECORD
+1 if '$DATA(PRCFASYS)
SET PRCFASYS="FEEFENIRSCLI"
+2 SET PRCFASYS=PRCFASYS_"RR"
+3 SET DIC=421.2
SET DIC(0)="AMENQ"
SET DIC("S")="I PRCFASYS[$P(^(0),""-"",2)"
DO ^DIC
IF Y>0
SET DA=+Y
SET DR="0;1"
DO EN^DIQ
GOTO E14
+4 KILL %,A,D0,DA,DIC,DL,DR,DRX,DX,S,X,Y
QUIT
INFO ; Get/Print Vendor Payment Information
+1 IF '$DATA(^PRC(440,PRCFA("VEND"),7))
WRITE !!,$CHAR(7),"No payment information in Vendor File.",!!
QUIT
+2 SET DIR(0)="Y"
SET DIR("A")="Review current payment information on this Vendor"
SET DIR("B")="YES"
WRITE !
DO ^DIR
KILL DIR
+3 IF 'Y!($DATA(DIRUT))
QUIT
+4 DO GET^PRCFAC31(PRCFA("VEND"))
DO DISPLAY^PRCFAC31(PRCFA("VEND"))
+5 QUIT
SCREEN ; Control screen display
+1 IF $DATA(IOF)
WRITE @IOF
HDR ; Write Option Header
+1 IF $DATA(XQY0)
WRITE IOINHI,$PIECE(XQY0,U,2),IOINORM,!
+2 QUIT
WARN ;WARNING IF PENDING VRQ
+1 IF $PIECE($GET(^PRC(440,DA,3)),U,12)="P"
WRITE !!,"There is a FMS Vendor Request pending for this vendor.",!,"Any changes you make now may be overwritten when the Vendor",!,"Update is received.",!!
+2 QUIT