| [613] | 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 | 
|---|