1 | PRCAFBD ;WASH-ISC@ALTOONA,PA/CLH-Build FMS Billing Document ;8/2/95 3:14 PM
|
---|
2 | V ;;4.5;Accounts Receivable;**16,48,86,90,119,165,204,203,173,220,184**;Mar 20, 1995
|
---|
3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | EN(BILL,ERR) ;Process NEW BILL to FMS
|
---|
5 | S ERR=-1
|
---|
6 | Q:$D(RCONVERT)
|
---|
7 | I '$D(^PRCA(430,BILL,11)) S ERR="1^ACCOUNTING INFORMATION MISSING. CANNOT PROCESS BILL" Q
|
---|
8 | ;
|
---|
9 | ; funds 5014 (old), 2431 (old), 528701,03,04,09 and 4032 should not create a BD
|
---|
10 | S %=$P($G(^PRCA(430,BILL,11)),"^",17)
|
---|
11 | I %=5014!(%=2431)!(%=4032) Q
|
---|
12 | I %[5287 Q:$$PTACCT^PRCAACC(%)
|
---|
13 | ;
|
---|
14 | I '$D(PRCA("SITE")) S PRCA("SITE")=$S($G(BILL):$P($P($G(^PRCA(430,BILL,0)),"^"),"-"),1:$$SITE^RCMSITE)
|
---|
15 | K ^TMP("PRCABD",$J)
|
---|
16 | I $G(BILL)="" S ERR="1^Missing Bill Number"
|
---|
17 | I $D(^PRCA(430,BILL,0)),$P(^(0),U,9)="" S ERR="1^No debtor for bill" Q
|
---|
18 | N GECSFMS,REC,REC11,VENCODE,BFY,EFY,LINEFUND,%,%I,%H,X,VEN,CAT,CP,ADDR,AC,RJ,FMSNUM,FMSNUM1,VENDORID,ADD,DA,Y
|
---|
19 | D NOW^%DTC
|
---|
20 | I '$G(PRCA("AUTO_AUDIT")) W !,"Building FMS Billing Document. Please hold...",!
|
---|
21 | S REC=$G(^PRCA(430,BILL,0)),REC11=$G(^PRCA(430,BILL,11)),FMSNUM=$P($P(REC,U),"-")_$P($P(REC,U),"-",2)
|
---|
22 | ;gather vendor information
|
---|
23 | S VENCODE=$$VENDORID^RCXFMSUV(BILL)
|
---|
24 | I VENCODE="UNKNOWN" S ERR="1^Need FMS Vendor ID for BD Document" Q
|
---|
25 | I VENCODE="LINK" S ERR="1^Debtor must be linked to vendor file" Q
|
---|
26 | S ADD=$$SADD^RCFN01(5)
|
---|
27 | I (VENCODE="PERSONOTH")!(VENCODE="XEMPL")!(VENCODE="CUREMPL")!($E(VENCODE,1,4)="CHMP")!($E(VENCODE,1,3)="TRI")!(VENCODE="INELIG") D
|
---|
28 | . N I F I=1:1:6 S ADDR(I)=$P(ADD,U,I)
|
---|
29 | . I ADDR(6)["-" S ADDR(7)=$P(ADDR(6),"-",2),ADDR(6)=$P(ADDR(6),"-")
|
---|
30 | . Q
|
---|
31 | N FMSDT S FMSDT=$$FMSDATE^RCBEUTRA(DT)
|
---|
32 | S ^TMP("PRCABD",$J,1)="BD2^"_$E(FMSDT,4,5)_U_$E(FMSDT,6,7)_U_$E(FMSDT,2,3)_"^^^^^^E^"_$E(VENCODE,1,9)_U_$E(VENCODE,10,11)_U_$J($P(REC,U,3),0,2)_"^^^^"_$E($G(ADDR(1)),1,30)_U_$E($G(ADDR(2)),1,30)_U_$E($G(ADDR(3)),1,30)
|
---|
33 | S ^TMP("PRCABD",$J,1)=^TMP("PRCABD",$J,1)_U_$E($G(ADDR(4)),1,19)_U_$G(ADDR(5))_U_$G(ADDR(6))_U_$G(ADDR(7))_"^N^^^^^^W^~"
|
---|
34 | S ^TMP("PRCABD",$J,2)="LIN^~"
|
---|
35 | ;accouting information - stored on 11th node file 430
|
---|
36 | S ^TMP("PRCABD",$J,3)="BDA^"_$$LINE^RCXFMSC1(BILL)_"^"_$P(REC11,U,15)_U_$P(REC11,U,16)_U_$P(REC11,U,17)_U_$P(REC11,U,8)_U_$P(REC11,U,11)_U_$P(REC11,U,20)_U_$P(REC11,U,6)_U_$P(REC11,U,7)_U_$P(REC11,U,21)_U_$P(REC11,U,5)
|
---|
37 | S ^TMP("PRCABD",$J,3)=^TMP("PRCABD",$J,3)_U_$P(REC11,U,12)_U_$P(REC11,U,14)_"^^"_$J($P(REC,U,3),0,2)_"^I^AR_INTERFACE^^^^"
|
---|
38 | S ^TMP("PRCABD",$J,3)=^TMP("PRCABD",$J,3)_$P(REC11,U,10)_"^^^^^^^^"_$P(REC11,U,2)_U_$P(REC11,U,3)_"^~"
|
---|
39 | I $E($P(REC11,U,17),1,4)=5287 S $P(^TMP("PRCABD",$J,3),U,3)="05"
|
---|
40 | ;build control segment
|
---|
41 | D CONTROL^GECSUFMS("A",PRCA("SITE"),FMSNUM,"BD",10,"","","Billing Document")
|
---|
42 | S FMSNUM1=$P($G(GECSFMS("DOC")),U,3)_"-"_$P($G(GECSFMS("DOC")),U,4)
|
---|
43 | ;build and send document to FTH
|
---|
44 | S DA=0 F S DA=$O(^TMP("PRCABD",$J,DA)) Q:'DA D SETCS^GECSSTAA(GECSFMS("DA"),^(DA))
|
---|
45 | D OPEN^RCFMDRV1(FMSNUM1,6,"B"_BILL,.ENT,.ERR,BILL) I ERR]"" D
|
---|
46 | . S ERR=-1
|
---|
47 | . N Z S Z="Unable to create an entry in AR Document file."
|
---|
48 | . I '$G(PRCA("AUTO_AUDIT")) W !!,Z,! Q
|
---|
49 | . D SETERR^PRCAUDT("BILL: "_$$BILL^PRCAUDT(BILL)),SETERR^PRCAUDT(Z)
|
---|
50 | D SETCODE^GECSSDCT(GECSFMS("DA"),"D RETN^RCFMFN02")
|
---|
51 | D SETSTAT^GECSSTAA(GECSFMS("DA"),"Q")
|
---|
52 | D SSTAT^RCFMFN02(FMSNUM1,1)
|
---|
53 | I '$G(PRCA("AUTO_AUDIT")) D
|
---|
54 | . S Y=FMSDT D DD^%DT
|
---|
55 | . W !!,"FMS document, # ",GECSFMS("DA"),", built and queued for transmission on "_Y,!!
|
---|
56 | Q
|
---|
57 | ;
|
---|