1 | IBJDF81 ;ALB/RRG - AR PRODUCTIVITY REPORT (COMPILE) ;29-AUG-00
|
---|
2 | ;;2.0;INTEGRATED BILLING;**123,159,192**;21-MAR-94
|
---|
3 | ;
|
---|
4 | ST ; - Tasked entry point.
|
---|
5 | K IB,^TMP("IBJDF8",$J),^TMP("IBJDF8SUM",$J) S IBQ=0
|
---|
6 | ;
|
---|
7 | ; - Initialize the array IB
|
---|
8 | F I=1:1:13 S IB(I)=0
|
---|
9 | ;
|
---|
10 | ; - Loops through all the AR Transactions by DATE ENTERED X-ref
|
---|
11 | S IBTRDA="",IBTDATE=IBTDATE+.9
|
---|
12 | S IBTRTP=0 ; - Don't include INCREASE ADJUSTMENTS transactions
|
---|
13 | F S IBTRTP=$O(^PRCA(433,"AT",IBTRTP)) Q:'IBTRTP D Q:IBQ
|
---|
14 | . S IBDTEN=IBFDATE-.1
|
---|
15 | . F S IBDTEN=$O(^PRCA(433,"AT",IBTRTP,IBDTEN)) Q:'IBDTEN!(IBDTEN>IBTDATE) D Q:IBQ
|
---|
16 | . . F S IBTRDA=$O(^PRCA(433,"AT",IBTRTP,IBDTEN,IBTRDA)) Q:'IBTRDA D Q:IBQ
|
---|
17 | . . . S IBTR0=$G(^PRCA(433,IBTRDA,0))
|
---|
18 | . . . S IBARDA=$P(IBTR0,"^",2) Q:IBARDA=""
|
---|
19 | . . . S IBTR1=$G(^PRCA(433,IBTRDA,1))
|
---|
20 | . . . S IBTR5=$G(^PRCA(433,IBTRDA,5))
|
---|
21 | . . . S IBTR8=$G(^PRCA(433,IBTRDA,8))
|
---|
22 | . . . I IBARDA#100=0 S IBQ=$$STOP^IBOUTL("AR Productivity Report") Q:IBQ
|
---|
23 | . . . S IBAR0=$G(^PRCA(430,IBARDA,0))
|
---|
24 | . . . I 'IBAR0!($P(IBAR0,"^",8)=8) Q ; No AR bill/bill terminated.
|
---|
25 | . . . S IBAR7=$G(^PRCA(430,IBARDA,7))
|
---|
26 | . . . S IBAR9=$G(^PRCA(430,IBARDA,9))
|
---|
27 | . . . D TRDA
|
---|
28 | ;
|
---|
29 | I IBSEL'="",IBSEL'[",2," G PRT ; AUDIT Transaction type not selected
|
---|
30 | ;
|
---|
31 | ; - Get AUDIT Transactions
|
---|
32 | S IBARDA="",IBACTDT=IBFDATE-.1
|
---|
33 | ;F S IBACTDT=$O(^PRCA(430,"ACTDT",IBACTDT)) Q:'IBACTDT D Q:IBQ
|
---|
34 | F S IBACTDT=$O(^PRCA(430,"ACTDT",IBACTDT)) Q:'IBACTDT!(IBACTDT>IBTDATE) D Q:IBQ
|
---|
35 | . F S IBARDA=$O(^PRCA(430,"ACTDT",IBACTDT,IBARDA)) Q:'IBARDA D Q:IBQ
|
---|
36 | . . S IBAR0=$G(^PRCA(430,IBARDA,0)) Q:'IBAR0
|
---|
37 | . . S IBAR7=$G(^PRCA(430,IBARDA,7))
|
---|
38 | . . S IBAR9=$G(^PRCA(430,IBARDA,9))
|
---|
39 | . . D AUDIT
|
---|
40 | ;
|
---|
41 | PRT I 'IBQ D EN^IBJDF82 ; Print the report.
|
---|
42 | ;
|
---|
43 | ENQ K ^TMP("IBJDF8",$J),^TMP("IBJDF8SUM",$J)
|
---|
44 | I $D(ZTQUEUED) S ZTREQ="@" G ENQ1
|
---|
45 | ;
|
---|
46 | D ^%ZISC
|
---|
47 | ENQ1 K IBARDA,IBTRDA,IBAR0,IBAR7,IBAR9,IBTR0,IBTR1,IBTR5,IBTR8,IBTRTP,IBACTDT
|
---|
48 | K IBBAL,IBDTEN,IBCLNU,IBCLNM,IBDATA,IBCONT,IBCOM,IBFUDT,IBTRAMT,IBQ
|
---|
49 | K TRXCAT,TRXCATN,TRXTYPN,IB,I
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | AUDIT ; - Determine if bill has been audited and add to Audit Transaction
|
---|
53 | ; Total, then:
|
---|
54 | ; - Sets temporary detail global (for detail printing)
|
---|
55 | ; - Sets temporary summary global (for summary printing)
|
---|
56 | ;
|
---|
57 | S IBCLNU=$P(IBAR9,"^",1) I IBCLNU="" Q ; Approved By (Clerk) not found
|
---|
58 | ;
|
---|
59 | I '$D(^IBE(351.73,IBCLNU,0)) Q ; Clerk not set up
|
---|
60 | I IBCLERK="S",'$D(IBCLERK(IBCLNU)) Q ; Clerk not selected
|
---|
61 | S IBCLNM=$P($G(^VA(200,IBCLNU,0)),"^",1)
|
---|
62 | ;
|
---|
63 | S IBBAL=0 F I=1:1:5 S IBBAL=IBBAL+$P(IBAR7,"^",I) ; Current Bill Balance
|
---|
64 | ;
|
---|
65 | S IB(2)=($P(IB(2),"^",1)+1)_"^"_($P(IB(2),"^",2)+$P(IBAR0,"^",3))_"^AUDIT"
|
---|
66 | S TRXCAT=2
|
---|
67 | ;
|
---|
68 | ; - Update TMP global with Summary information by Clerk
|
---|
69 | S IBDATA=$G(^TMP("IBJDF8SUM",$J,IBCLNM,2))
|
---|
70 | S $P(IBDATA,"^",1)=$P(IBDATA,"^",1)+1
|
---|
71 | S $P(IBDATA,"^",2)=$P(IBDATA,"^",2)+$P(IBAR0,"^",3)
|
---|
72 | S $P(IBDATA,"^",3)="AUDIT"
|
---|
73 | S ^TMP("IBJDF8SUM",$J,IBCLNM,2)=IBDATA
|
---|
74 | ;
|
---|
75 | I IBRPT="S" Q ; Don't set ^TMP for detail if only Summary was selected
|
---|
76 | ;
|
---|
77 | ; - Update TMP global with Detailed information
|
---|
78 | S ^TMP("IBJDF8",$J,IBCLNM,IBARDA,0)=$P(IBAR0,"^")_"^"_IBACTDT_"^"_$$DEBTOR(IBARDA)_"^AUDIT^"_$P(IBAR0,"^",3)_"^"_IBBAL
|
---|
79 | ;
|
---|
80 | Q
|
---|
81 | ;
|
---|
82 | TRDA ; - Checks if Transactions is eligible for the Report, then:
|
---|
83 | ; - Sets temporary global (for detail printing)
|
---|
84 | ; - Sets temporary Summary global (for summary printing)
|
---|
85 | ;
|
---|
86 | S IBCLNU=$P(IBTR0,"^",9) I IBCLNU="" Q ; No CLERK found on the AR Trans.
|
---|
87 | ;
|
---|
88 | I '$D(^IBE(351.73,IBCLNU,0)) Q ; Clerk not set up
|
---|
89 | I IBCLERK="S",'$D(IBCLERK(IBCLNU)) Q ; Clerk not selected to print
|
---|
90 | ;
|
---|
91 | S IBTRAMT=$P(IBTR1,"^",5) ; TRX Amount
|
---|
92 | ;
|
---|
93 | I IBRPT'="S",IBTT'="ALL" Q:IBTT'[("|"_IBTRTP_"|") ; TRX type not selected
|
---|
94 | ;
|
---|
95 | I '$$VALID^RCRJRCOT(IBTRDA) Q ; Invalid TRX
|
---|
96 | ;
|
---|
97 | S IBCONT=$P(IBTR8,"^",8) ; Contractual / Non-Contractual Transaction
|
---|
98 | ;
|
---|
99 | S IBBAL=0 F I=1:1:5 S IBBAL=IBBAL+$P(IBAR7,"^",I) ; Current Bill Balance
|
---|
100 | ;
|
---|
101 | ; - Set IB array with summary information
|
---|
102 | I $T(@IBTRTP^IBJDF811)'="" D @(IBTRTP_"^IBJDF811")
|
---|
103 | ;
|
---|
104 | S IBCLNM=$P($G(^VA(200,$P(IBTR0,"^",9),0)),"^",1) ; Clerk Name
|
---|
105 | ;
|
---|
106 | ; - Set TMP global with Summary information
|
---|
107 | S IBDATA=$G(^TMP("IBJDF8SUM",$J,IBCLNM,TRXCAT))
|
---|
108 | S $P(IBDATA,"^",1)=$P(IBDATA,"^",1)+1
|
---|
109 | S $P(IBDATA,"^",2)=$P(IBDATA,"^",2)+IBTRAMT
|
---|
110 | S $P(IBDATA,"^",3)=TRXCATN
|
---|
111 | S ^TMP("IBJDF8SUM",$J,IBCLNM,TRXCAT)=IBDATA
|
---|
112 | ;
|
---|
113 | I IBRPT="S" Q ; Don't set ^TMP for detail if only Summary was selected
|
---|
114 | ;
|
---|
115 | S IBCOM=$P(IBTR5,"^",2) ; Brief Comments
|
---|
116 | S IBFUDT=$P(IBTR5,"^",3) ; Follow-Up Date
|
---|
117 | ;
|
---|
118 | ; - Set TMP global with Detailed information
|
---|
119 | S ^TMP("IBJDF8",$J,IBCLNM,IBARDA,IBTRDA)=$P(IBAR0,"^")_"^"_IBDTEN_"^"_$$DEBTOR(IBARDA)_"^"_TRXTYPN_"^"_IBTRAMT_"^"_IBBAL_"^"_IBFUDT_"^"_IBCOM
|
---|
120 | ;
|
---|
121 | Q
|
---|
122 | ;
|
---|
123 | DEBTOR(ARDA) ; - Retrieve debtor name
|
---|
124 | N Y,DIC,DA,DR,DIQ,DEB
|
---|
125 | S DIC="^PRCA(430,",DA=ARDA,DR=9,DIQ="DEB" D EN^DIQ1
|
---|
126 | S Y=$G(DEB(430,DA,9))
|
---|
127 | Q Y
|
---|