VistA-WorldVistAEHR/r/IFCAP-PRC-PRX--PRCA--PRCN/PRCOVL.m

223 lines
6.3 KiB
Mathematica
Raw Permalink Normal View History

2009-11-29 13:37:14 -05:00
PRCOVL ;WISC/DKM/BGJ-IFCAP AR VENDOR EDIT ROUTINE ;[10/19/98 2:36pm]
V ;;5.1;IFCAP;**7**;Oct 20, 2000
;Per VHA Directive 10-93-142, this routine should not be modified.
;
EN ; -- main entry point for PRCO VENDOR EDIT FOR AR
; FIRST LETS SEE IF THERE ARE ANY VENDOR RECORDS TO EDIT.
S COUNT=$O(^PRCF(422.2,"B","AR-EDIT-01",0)) G:COUNT'>0 NONE
S COUNT=$P($G(^PRCF(422.2,COUNT,0)),U,2) G:COUNT'>0 NONE
K COUNT
;
; GET TERMINAL ATTRIBUTES.
;
I '$D(IOF)!('$G(IOST(0))) S IOP="HOME" D ^%ZIS K IOP
S X="IORVON;IORVOFF" D ENDR^%ZISS
S PRCO("RV1")=$G(IORVON),PRCO("RV0")=$G(IORVOFF)
S PRCO("XY")="N DX,DY S (DX,DY)=0 "_$G(^%ZOSF("XY"))
D EN^VALM("PRCO VENDOR EDIT FOR AR")
Q
;
HDR ; -- header code
S VALMHDR(1)="Edit vendor selected by AR user"
Q
;
INIT ; -- init variables and list array
K ^TMP("PRCOVL",$J)
S LOST=0
S NAME=""
I $O(^PRC(440.3,"AE",NAME))="" W !,"No Vendor records to edit." G NONE
INITA D CLEAN^VALM10
S COUNT=0
S LINENO=0
S NAME=""
F S NAME=$O(^PRC(440.3,"AE",NAME)) Q:NAME="" D
. S LIST=0
. F S LIST=$O(^PRC(440.3,"AE",NAME,LIST)) Q:LIST="" D
. . S NAME=$S($G(NAME)]"":NAME,1:$P($G(^PRC(440,LIST,0)),U)) Q:NAME=""
. . I $G(^PRC(440.3,LIST,"AR"))']"" D Q
. . . K ^PRC(440.3,LIST)
. . . K ^PRC(440.3,"AD",NAME,LIST,LIST)
. . . K ^PRC(440.3,"AE",NAME,LIST,LIST)
. . . Q
. . S VDA=0
. . F S VDA=$O(^PRC(440.3,"AE",NAME,LIST,VDA)) Q:VDA="" D
. . . S COUNT=COUNT+1
. . . S SENT=$P($G(^PRC(440.3,VDA,"AR")),U,5)
. . . S OK=$P($G(^PRC(440.3,VDA,"AR")),U,4)
. . . S TAX=$P($G(^PRC(440,VDA,3)),U,8)
. . . S X=$$SETFLD^VALM1(COUNT,"","NUMBER")
. . . S X=$$SETFLD^VALM1(NAME,X,"VENDOR")
. . . S X=$$SETFLD^VALM1(TAX,X,"TAX ID/SSN")
. . . S X=$$SETFLD^VALM1(OK,X,"OK")
. . . S X=$$SETFLD^VALM1(SENT,X,"SENT")
. . . S LINENO=LINENO+1
. . . D SET^VALM10(COUNT,X,LINENO)
. . . S ^TMP("PRCOVL",$J,LINENO)=COUNT_"^"_LIST
. . . Q
. . Q
. Q
S VALMCNT=COUNT
S LN=$O(^PRCF(422.2,"B","AR-EDIT-01",0))
S $P(^PRCF(422.2,LN,0),U,2)=COUNT
Q
;
HELP ; -- help code
S X="?" D DISP^XQORM1 W !!
Q
;
EXIT ; -- exit code
Q
;
EXPND ; -- expand code
Q
;
NONE ; COME HERE IF THERE ARE NO VENDOR RECORDS TO EDIT.
W !!,"There are no vendor records to edit at this time."
NONE1 S DIR(0)="E"
S DIR("A")="Enter RETURN to continue"
D ^DIR
K DIR
Q
;
REV ;COMPLETE REVIEW OF VENDOR ENTRY
N SPACE,VALMY,IEN,PRCOI,PRCOIN,DIC,DA,DR,DIQ,DIR,Y
D EN^VALM2(XQORNOD(0),"OS")
S PRCOI=0
S PRCOI=$O(VALMY(PRCOI)) G:'PRCOI REVQ
S PRCOIN=$G(^TMP("PRCOVL",$J,PRCOI))
S IEN=+$P(PRCOIN,U,2)
D FULL^VALM1
REV1 W @IOF
K PRCORVP
S DIC="^PRC(440,",DA=IEN,DR=".01:46",DIQ="PRCORVP",DIQ(0)="E"
D EN^DIQ1
S $P(SPACE," ",24)=" "
W !!," Vendor Name: "_$$FIELD(IEN,.01)
W ?70,"PAGE: 1"
W !," Ordering Address: "_$$FIELD(IEN,1)
W:$$FIELD(IEN,2)]"" !,SPACE_$$FIELD(IEN,2)
S X=" City,State,ZIP: "
S:$$FIELD(IEN,4.2)]"" X=X_$$FIELD(IEN,4.2)_", "
S:$$FIELD(IEN,4.4)]"" X=X_$$FIELD(IEN,4.4)_" "
S X=X_$S($L($$FIELD(IEN,4.6))=9:$E($$FIELD(IEN,4.6),1,5)_"-"_$E($$FIELD(IEN,4.6),6,9),1:$$FIELD(IEN,4.6))
W !,X
W !!," FMS Name: "_$$FIELD(IEN,34.5)
W !!," * Payment ADDRESS: "_$$FIELD(IEN,17.3)
W !," "_$$FIELD(IEN,17.4)
W:$$FIELD(IEN,17.5)]"" !,SPACE_$$FIELD(IEN,17.5)
W:$$FIELD(IEN,17.6)]"" !,SPACE_$$FIELD(IEN,17.6)
S X=" * City,State,ZIP: "
S:$$FIELD(IEN,17.7)]"" X=X_$$FIELD(IEN,17.7)_", "
S:$$FIELD(IEN,17.8)]"" X=X_$$FIELD(IEN,17.8)_" "
S X=X_$S($L($$FIELD(IEN,17.9))=9:$E($$FIELD(IEN,17.9),1,5)_"-"_$E($$FIELD(IEN,17.9),6,9),1:$$FIELD(IEN,17.9))
W !,X
W !!,"PAYMENT CONTACT PERSON: "_$$FIELD(IEN,17)
W !," PAYMENT PHONE NUMBER: "_$$FIELD(IEN,7.2)
W !
W !," * = REQUIRED FIELD"
W !
S DIR(0)="E"
D ^DIR
K DIR
W !
G:Y'=1 REVEXIT
W @IOF
W !!," Vendor Name: "_$$FIELD(IEN,.01)
W ?70,"PAGE: 2"
W !!," FMS VENDOR CODE: "_$$FIELD(IEN,34)
W !," ALT-ADDR-IND: "_$$FIELD(IEN,35)
W !," * TAX ID/SSN: "_$$FIELD(IEN,38)
W !," * SSN/TAX ID IND: "_$$FIELD(IEN,39)
W !!," NON-RECURRING/"
W !," RECURRUNG VENDOR: "_$$FIELD(IEN,36)
W !!," 1099 VENDOR INDICATOR: "_$$FIELD(IEN,41)
W !," * VENDOR TYPE: "_$$FIELD(IEN,44)
W !," DUN & BRADSTREET: "_$$FIELD(IEN,18.3)
W !
W !," * = REQUIRED FIELD"
W !
S DIR(0)="E"
S DIR("A")="Enter RETURN to continue"
D ^DIR
K DIR
REVEXIT I $G(RETURN)=961 G REVQ
S VALMBCK="R",VALMBG=1
REVQ Q
;
FIELD(IEN,FIELD) ;FETCH EXTERNAL VALUE OF FIELD
;FOR RECORD 'IEN' FROM FILE 440.3
S FIELD=$G(PRCORVP(440,IEN,FIELD,"E"))
Q FIELD
;
EDIT ;EDIT THIS VENDOR
N PRCOI,PRCOIN,IEN,RETURN
D EN^VALM2(XQORNOD(0),"OS")
S PRCOI=0
S PRCOI=$O(VALMY(PRCOI))
G:'PRCOI REVQ
S PRCOIN=$G(^TMP("PRCOVL",$J,PRCOI))
S IEN=+$P(PRCOIN,U,2)
S SENT=$P($G(^PRC(440.3,IEN,"AR")),U,5)
I SENT]"" W !!,"This record has already been sent to Austin or FISCAL." D NONE1 G EDITEX
D FULL^VALM1
W @IOF
S NAME=$P($G(^PRC(440,IEN,0)),U)
W:NAME]"" !!?11,"Vendor Name: "_NAME
D HILO^PRCFQ
S (DA,PRCFA("VEND"))=IEN
W !
S DIR(0)="Y"
S DIR("A")="Review the vendor selected"
S DIR("B")="YES"
D ^DIR
K DIR
W !
G:$D(DIRUT) EDITEX
I +Y=1 SET RETURN=961 D REV1 W @IOF
K PRCTMP,RETURN
D DOIT
G:$D(DIRUT)!(Y'=1) EDITEX
D SCREEN
L +^PRC(440,DA):5 E W !,$C(7),"Another user is editing this entry!" G EDITEX
S DIE="^PRC(440,"
S DR=$S(LOCAT="S":"[PRCHVENDOR]",1:"[PRCF FMS VENEDIT1B]")
D ^DIE
K DIE,DR,ORDER
S ARFLG=$G(^PRC(440.3,PRCFA("VEND"),"AR"))
S IEN=$P(ARFLG,U,2)
S PRC("SITE")=$P(ARFLG,U,3)
S FLAG=$P(ARFLG,U)
S SAVE=$$CHECK^PRCOVTST(IEN,PRC("SITE"),FLAG)
S SAVE1=$S(SAVE=0:"OK",SAVE=2:"GOOD",1:"")
S TAX=$P($G(^PRC(440,IEN,3)),U,8)
S DA=IEN
S DIE="^PRC(440.3,"
S DR=$S(SAVE=0:"53///^S X=SAVE1",SAVE=2:"53///^S X=SAVE1",1:"53///@")
D ^DIE
S X=@VALMAR@(PRCOI,0)
S OK=$S(SAVE=0:"OK",1:"")
S X=$$SETFLD^VALM1(OK,X,"OK")
S X=$$SETFLD^VALM1(TAX,X,"TAX ID/SSN")
S @VALMAR@(PRCOI,0)=X
L -^PRC(440,PRCFA("VEND"))
EDITEX S VALMBCK="R",VALMBG=1
Q
;
DOIT ;FIND OUT IF USER WANTS TO EDIT VENDOR RECORD
W !
S DIR(0)="Y"
S DIR("A")="Edit the Vendor record"
S DIR("B")="YES"
S DIR("?")="Enter 'NO' or 'N' or '^' to exit this edit session."
S DIR("?",1)="Enter 'YES' or 'Y' or 'RETURN' to continue."
D ^DIR
K DIR
W !
Q
;
SCREEN ; Control screen display
I $D(IOF) W @IOF
; Write Option Header
I $D(XQY0) W IOINHI,$P(XQY0,U,2),IOINORM,!
Q