[613] | 1 | RCBDBBAL ;WISC/RFJ-bill balances check ;1 Mar 2001
|
---|
| 2 | ;;4.5;Accounts Receivable;**169**;Mar 20, 1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | Q
|
---|
| 5 | ;
|
---|
| 6 | ;
|
---|
| 7 | OUTOFBAL(RCBILLDA) ; returns balance if a bill is out of balance
|
---|
| 8 | ; returns rclist array of transactions against bill
|
---|
| 9 | ; locks to file 430 should be applied before calling this function
|
---|
| 10 | ;
|
---|
| 11 | N BALANCE,DATA7,OUTOFBAL,STATUS
|
---|
| 12 | ; if it is not activated, not out of balance
|
---|
| 13 | I '$P($G(^PRCA(430,RCBILLDA,6)),"^",21) Q ""
|
---|
| 14 | ;
|
---|
| 15 | ; calculate balance and get current balance
|
---|
| 16 | S BALANCE=$$GETTRANS^RCDPBTLM(RCBILLDA)
|
---|
| 17 | S DATA7=$G(^PRCA(430,RCBILLDA,7))
|
---|
| 18 | S STATUS=$P($G(^PRCA(430,RCBILLDA,0)),"^",8)
|
---|
| 19 | ;
|
---|
| 20 | ; for a write-off bill, the balance should equal all zeros, for
|
---|
| 21 | ; these bills, node 7 is the write-off amount, so for the out of
|
---|
| 22 | ; balance check to work, node 7 needs to be adjusted to all zeros
|
---|
| 23 | I STATUS=23 S DATA7="0^0^0^0^0"
|
---|
| 24 | ;
|
---|
| 25 | ; test for out of balance
|
---|
| 26 | S OUTOFBAL=0
|
---|
| 27 | I +$P(DATA7,"^")'=+$P(BALANCE,"^")!(+$P(DATA7,"^",2)'=+$P(BALANCE,"^",2))!(+$P(DATA7,"^",3)'=+$P(BALANCE,"^",3))!(+$P(DATA7,"^",4)'=+$P(BALANCE,"^",4))!(+$P(DATA7,"^",5)'=+$P(BALANCE,"^",5)) S OUTOFBAL=1
|
---|
| 28 | ;
|
---|
| 29 | ; for collected/closed (22) and cancellation (39) bills
|
---|
| 30 | ; the balance in 430 should equal 0, if not it is out of balance
|
---|
| 31 | I STATUS=22!(STATUS)=39 I $TR($P(DATA7,"^",1,5),"^0")'="" S OUTOFBAL=1
|
---|
| 32 | ;
|
---|
| 33 | Q $S('OUTOFBAL:"",1:BALANCE)
|
---|