[613] | 1 | RCBEPAY1 ;WISC/RFJ-create a payment transaction cont ;1 Jun 00
|
---|
| 2 | ;;4.5;Accounts Receivable;**153**;Mar 20, 1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;
|
---|
| 7 | PAYTRAN(RCBILLDA,RCPAYAMT,RCRECTDA,RCPAYDA,RCPAYDAT) ; create the payment
|
---|
| 8 | ; transaction for a bill.
|
---|
| 9 | ; return 433 ien transaction if payment made
|
---|
| 10 | ; or 0^error if not processed.
|
---|
| 11 | ; input variables:
|
---|
| 12 | ; rcbillda = ien of bill to apply payment to
|
---|
| 13 | ; rcpayamt = total payment transaction amount
|
---|
| 14 | ; rcrectda = ien of receipt in file 344
|
---|
| 15 | ; rcpayda = payment transaction number in file 344.01
|
---|
| 16 | ; rcpaydat = date of payment
|
---|
| 17 | ; note: rcrectda and rcpayda are passed as zero if posting from
|
---|
| 18 | ; a prepayment bill
|
---|
| 19 | ;
|
---|
| 20 | N RCDATA7,RCPAY,RCTRANDA
|
---|
| 21 | ;
|
---|
| 22 | ; determine how payment should be applied
|
---|
| 23 | S RCDATA7=^PRCA(430,RCBILLDA,7)
|
---|
| 24 | ; === check marshal fee balance and apply payment ===
|
---|
| 25 | I $P(RCDATA7,"^",4)>0 D
|
---|
| 26 | . ; if the payment amount is less than mf charge
|
---|
| 27 | . ; apply all the payment to the mf charge and quit
|
---|
| 28 | . I RCPAYAMT<$P(RCDATA7,"^",4) D Q
|
---|
| 29 | . . S RCPAY("MF")=RCPAYAMT
|
---|
| 30 | . . S RCPAYAMT=0
|
---|
| 31 | . ; otherwise, apply payment to make the mf balance 0
|
---|
| 32 | . S RCPAY("MF")=$P(RCDATA7,"^",4)
|
---|
| 33 | . S RCPAYAMT=RCPAYAMT-$P(RCDATA7,"^",4)
|
---|
| 34 | ; no payment amount remaining
|
---|
| 35 | I 'RCPAYAMT D SET^RCBEPAY2 Q RCTRANDA
|
---|
| 36 | ;
|
---|
| 37 | ; === check court cost balance and apply payment ===
|
---|
| 38 | I $P(RCDATA7,"^",5)>0 D
|
---|
| 39 | . ; if the payment amount is less than cc charge
|
---|
| 40 | . ; apply all the payment to the cc charge and quit
|
---|
| 41 | . I RCPAYAMT<$P(RCDATA7,"^",5) D Q
|
---|
| 42 | . . S RCPAY("CC")=RCPAYAMT
|
---|
| 43 | . . S RCPAYAMT=0
|
---|
| 44 | . ; otherwise, apply payment to make the cc balance 0
|
---|
| 45 | . S RCPAY("CC")=$P(RCDATA7,"^",5)
|
---|
| 46 | . S RCPAYAMT=RCPAYAMT-$P(RCDATA7,"^",5)
|
---|
| 47 | ; no payment amount remaining
|
---|
| 48 | I 'RCPAYAMT D SET^RCBEPAY2 Q RCTRANDA
|
---|
| 49 | ;
|
---|
| 50 | ; === check admin balance and apply payment ===
|
---|
| 51 | I $P(RCDATA7,"^",3)>0 D
|
---|
| 52 | . ; if the payment amount is less than admin charge
|
---|
| 53 | . ; apply all the payment to the admin charge and quit
|
---|
| 54 | . I RCPAYAMT<$P(RCDATA7,"^",3) D Q
|
---|
| 55 | . . S RCPAY("ADM")=RCPAYAMT
|
---|
| 56 | . . S RCPAYAMT=0
|
---|
| 57 | . ; otherwise, apply payment to make the admin balance 0
|
---|
| 58 | . S RCPAY("ADM")=$P(RCDATA7,"^",3)
|
---|
| 59 | . S RCPAYAMT=RCPAYAMT-$P(RCDATA7,"^",3)
|
---|
| 60 | ; no payment amount remaining
|
---|
| 61 | I 'RCPAYAMT D SET^RCBEPAY2 Q RCTRANDA
|
---|
| 62 | ;
|
---|
| 63 | ; === check interest balance and apply payment ===
|
---|
| 64 | I $P(RCDATA7,"^",2)>0 D
|
---|
| 65 | . ; if the payment amount is less than interest charge
|
---|
| 66 | . ; apply all the payment to the interest charge and quit
|
---|
| 67 | . I RCPAYAMT<$P(RCDATA7,"^",2) D Q
|
---|
| 68 | . . S RCPAY("INT")=RCPAYAMT
|
---|
| 69 | . . S RCPAYAMT=0
|
---|
| 70 | . ; otherwise, apply payment to make the interest balance 0
|
---|
| 71 | . S RCPAY("INT")=$P(RCDATA7,"^",2)
|
---|
| 72 | . S RCPAYAMT=RCPAYAMT-$P(RCDATA7,"^",2)
|
---|
| 73 | ; no payment amount remaining
|
---|
| 74 | I 'RCPAYAMT D SET^RCBEPAY2 Q RCTRANDA
|
---|
| 75 | ;
|
---|
| 76 | ; === check principal balance and apply payment ===
|
---|
| 77 | I $P(RCDATA7,"^",1)>0 D
|
---|
| 78 | . ; if the payment amount is less than principal charge
|
---|
| 79 | . ; apply all the payment to the principal charge and quit
|
---|
| 80 | . I RCPAYAMT<$P(RCDATA7,"^",1) D Q
|
---|
| 81 | . . S RCPAY("PRIN")=RCPAYAMT
|
---|
| 82 | . . S RCPAYAMT=0
|
---|
| 83 | . ; otherwise, apply payment to make the principal balance 0
|
---|
| 84 | . S RCPAY("PRIN")=$P(RCDATA7,"^",1)
|
---|
| 85 | . S RCPAYAMT=RCPAYAMT-$P(RCDATA7,"^",1)
|
---|
| 86 | ;
|
---|
| 87 | D SET^RCBEPAY2
|
---|
| 88 | Q RCTRANDA
|
---|