Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BARRTAR

BARRTAR.m

Go to the documentation of this file.
  1. BARRTAR ; IHS/SD/LSL - Transaction report ; 08/20/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**6,7,21**;OCT 26, 2005
  1. ; MODIFIED XTMP FILE NAME TO TMP TO MEET SAC REQUIREMENTS;MRS:BAR*1.8*7 IM29892
  1. ; IHS/ASDS/LSL - 10/02/00 - Routine created
  1. ;
  1. ; IHS/SD/LSL - 04/19/02 - V1.6 Patch 2
  1. ; Modified to accomodate new "Location to sort report by" parameter
  1. ;
  1. ; IHS/SD/LSL - 10/24/02 - V1.7 - PAB-1002-90130
  1. ; Modified to insert DUZ(2) as subscript in data global. Needed to
  1. ; pull correct Collection Batch and Item from A/R Global during print
  1. ; due to "location to sort report by" parameter edits.
  1. ;
  1. ; IHS/SD/LSL - 06/20/03 - V1.7 Patch 2 - IM10890
  1. ; Remove tran type 115 (coll batch to acct post) from report
  1. ;
  1. Q
  1. ; *********************************************************************
  1. ;
  1. EN ; EP
  1. K BARY,BAR
  1. D:'$D(BARUSR) INIT^BARUTL ; Setup basic A/R variables
  1. S BARP("RTN")="BARRTAR" ; Routine used to get data
  1. S BAR("PRIVACY")=1 ; Privacy act applies
  1. S BAR("LOC")=$$GET1^DIQ(90052.06,DUZ(2),16) ; BILLING or VISIT
  1. I BAR("LOC")="" S BAR("LOC")="VISIT"
  1. D ^BARRSEL ; Select exclusion parameters
  1. I $D(DTOUT)!$D(DUOUT)!$D(DIROUT) Q
  1. I $D(BARY("RTYP")) S BAR("HD",0)=BARY("RTYP","NM")_" "_BARMENU
  1. E S BAR("HD",0)=BARMENU
  1. D ^BARRHD ; Report header
  1. S BARQ("RC")="COMPUTE^BARRTAR" ; Compute routine
  1. S BARQ("RP")="PRINT^BARRTAR" ; Print routine
  1. S BARQ("NS")="BAR" ; Namespace for variables
  1. S BARQ("RX")="POUT^BARRUTL" ; Clean-up routine
  1. D ^BARDBQUE ; Double queuing
  1. D PAZ^BARRUTL
  1. Q
  1. ; *********************************************************************
  1. ;
  1. COMPUTE ;
  1. ;
  1. S BAR("SUBR")="BAR-TAR"
  1. K ^TMP($J,"BAR-TAR")
  1. K ^TMP($J,"BAR-TARS")
  1. I BAR("LOC")="BILLING" D TRANS^BARRUTL Q
  1. S BARDUZ2=DUZ(2)
  1. S DUZ(2)=0
  1. F S DUZ(2)=$O(^BARTR(DUZ(2))) Q:'DUZ(2) D TRANS^BARRUTL
  1. S DUZ(2)=BARDUZ2
  1. Q
  1. ; *********************************************************************
  1. ;
  1. DATA ; EP
  1. ; Called by BARRUTL if no parameters
  1. F I=2:1:7 S BAR(I)=0
  1. S BARP("HIT")=0
  1. D TRANS^BARRCHK
  1. Q:'BARP("HIT")
  1. S BAR("SORT")=$S(BARY("SORT")="C":BAR("C"),1:BAR("V"))
  1. I BARTR("I")]"" S BAR("ACCT")=$$VAL^XBDIQ1(90050.02,BARTR("I"),.01)
  1. I BAR("ACCT")="" S BAR("ACCT")="No A/R Account" ; External A/R Acct
  1. S BARTR("L")=$$VAL^XBDIQ1(9999999.06,BARTR("L"),.01) ; External location
  1. S BAR("TRANS")=$P(BARTR(1),U) ; Transaction type
  1. S BAR("ADJCAT")=$P(BARTR(1),U,2) ; Adjustment Category
  1. ;IHS/SD/PKD bar*1.8*21 Add Sent to Collections 25&993 to Adj/Trans
  1. ;I ",3,4,13,14,15,16,19,20,"'[(","_BAR("ADJCAT")_",")&(",40,100,"'[(","_BAR("TRANS")_",")) Q
  1. I ",3,4,13,14,15,16,19,20,25,"'[(","_BAR("ADJCAT")_",")&(",40,100,993,"'[(","_BAR("TRANS")_",")) Q
  1. S BAR("CR-DB")=$$VAL^XBDIQ1(90050.03,BARTR,3.5) ; Credits - Debits
  1. S BAR(1)=$E($P(BAR(0),U),1,14) ; Bill number
  1. S:BAR("TRANS")=40 BAR(2)=BAR("CR-DB") ; Payment Amount
  1. S:BAR("ADJCAT")=20 BAR(3)=BAR("CR-DB") ; Previous credits
  1. S:BAR("ADJCAT")=19 BAR(4)=BAR("CR-DB") ; Refund
  1. I +BAR(2)!(+BAR(3))!(+BAR(4)) S BAR(5)=BAR("CR-DB") ; Payment
  1. S BAR(6)=$P(BAR(0),U,13) ; Billed Amount
  1. ; Adjustments
  1. ; IHS/SD/PKD bar*1.8*21 Include Sent to collections to Adj Cat
  1. ;I ",3,4,13,14,15,16,"[(","_BAR("ADJCAT")_",") S BAR(7)=BAR("CR-DB")
  1. I ",3,4,13,14,15,16,25,"[(","_BAR("ADJCAT")_",") S BAR(7)=BAR("CR-DB")
  1. ; For detail
  1. S BARHLD=$G(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR))
  1. S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR),U)=BAR(1)
  1. S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR),U,2)=$P(BARHLD,U,2)+BAR(2)
  1. S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR),U,3)=$P(BARHLD,U,3)+BAR(3)
  1. S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR),U,4)=$P(BARHLD,U,4)+BAR(4)
  1. S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR),U,5)=$P(BARHLD,U,5)+BAR(5)
  1. S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR),U,6)=BAR(6)
  1. S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR),U,7)=$P(BARHLD,U,7)+BAR(7)
  1. ;BEGIN BAR*1.8*6 IHS/SD/TPF 8/6/2008 IM30075
  1. ;S BARHLD=$G(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR_U_BARTR))
  1. ;S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR_U_BARTR),U)=BAR(1)
  1. ;S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR_U_BARTR),U,2)=$P(BARHLD,U,2)+BAR(2)
  1. ;S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR_U_BARTR),U,3)=$P(BARHLD,U,3)+BAR(3)
  1. ;S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR_U_BARTR),U,4)=$P(BARHLD,U,4)+BAR(4)
  1. ;S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR_U_BARTR),U,5)=$P(BARHLD,U,5)+BAR(5)
  1. ;S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR_U_BARTR),U,6)=BAR(6)
  1. ;S $P(^TMP($J,"BAR-TAR",BARTR("AR"),DUZ(2)_U_BARTR("L")_U_BARTR("B")_U_BARTR("IT")_U_BAR("SORT")_U_BAR("ACCT")_U_BAR_U_BARTR),U,7)=$P(BARHLD,U,7)+BAR(7)
  1. ;END BAR*1.8*6 IHS/SD/TPF 8/6/2008 IM30075
  1. ; For summary
  1. S BARHLD2=$G(^TMP($J,"BAR-TARS",BARTR("AR"),DUZ(2),BARTR("L"),BARTR("B"),BARTR("IT"),BAR("SORT"),BAR("ACCT")))
  1. S $P(^TMP($J,"BAR-TARS",BARTR("AR"),DUZ(2),BARTR("L"),BARTR("B"),BARTR("IT"),BAR("SORT"),BAR("ACCT")),U,2)=$P(BARHLD2,U,2)+BAR(2)
  1. S $P(^TMP($J,"BAR-TARS",BARTR("AR"),DUZ(2),BARTR("L"),BARTR("B"),BARTR("IT"),BAR("SORT"),BAR("ACCT")),U,3)=$P(BARHLD2,U,3)+BAR(3)
  1. S $P(^TMP($J,"BAR-TARS",BARTR("AR"),DUZ(2),BARTR("L"),BARTR("B"),BARTR("IT"),BAR("SORT"),BAR("ACCT")),U,4)=$P(BARHLD2,U,4)+BAR(4)
  1. S $P(^TMP($J,"BAR-TARS",BARTR("AR"),DUZ(2),BARTR("L"),BARTR("B"),BARTR("IT"),BAR("SORT"),BAR("ACCT")),U,5)=$P(BARHLD2,U,5)+BAR(5)
  1. S $P(^TMP($J,"BAR-TARS",BARTR("AR"),DUZ(2),BARTR("L"),BARTR("B"),BARTR("IT"),BAR("SORT"),BAR("ACCT")),U,6)=$P(BARHLD2,U,6)+BAR(6)
  1. S $P(^TMP($J,"BAR-TARS",BARTR("AR"),DUZ(2),BARTR("L"),BARTR("B"),BARTR("IT"),BAR("SORT"),BAR("ACCT")),U,7)=$P(BARHLD2,U,7)+BAR(7)
  1. Q
  1. ; *********************************************************************
  1. ;
  1. PRINT ; EP
  1. ; Print
  1. S BAR("PG")=0
  1. I BARY("RTYP")=1 D DETAIL^BARRTAR2,FOOTER
  1. I BARY("RTYP")=2 D SUMM^BARRTAR3,FOOTER
  1. I BARY("RTYP")=3 D
  1. . D DETAIL^BARRTAR2
  1. . Q:'$D(@BAR) ; No data
  1. . D PAZ^BARRUTL
  1. . Q:$G(BAR("F1"))
  1. . D SUMM^BARRTAR3
  1. . D FOOTER
  1. Q
  1. ; *********************************************************************
  1. ;
  1. Q:$G(BAR("F1"))
  1. I $D(BAR("UN-ALLOCATED")) D
  1. . S X=""
  1. . K BAR("DUZ")
  1. . S X=$O(BAR("UN-ALLOCATED",X))
  1. . S BAR("DUZ")=$P(BAR("UN-ALLOCATED",X),U,2)
  1. . S BAR("COL")="W !!?10,""** Unallocated for Collection Batch "",$P(^BARCOL(BAR(""DUZ""),BARTR(""B""),0),U),"" **"",!!"
  1. . D PAZ^BARRUTL
  1. . D HDB^BARRTAR2
  1. . S BAR("UN")=""
  1. . F S BAR("UN")=$O(BAR("UN-ALLOCATED",BAR("UN"))) Q:'BAR("UN") D
  1. . . W !?15,"ITEM",?30,$J(BAR("UN"),3),?40,$J($FN($P(BAR("UN-ALLOCATED",BAR("UN")),U),",",2),10)
  1. . . S BAR("UNT")=$G(BAR("UNT"))+$P(BAR("UN-ALLOCATED",BAR("UN")),U)
  1. . W !?40,"----------"
  1. . W !?40,$J($FN(BAR("UNT"),",",2),10)
  1. I $D(BAR("ST")) D
  1. . W !!!!?16,"***** R E P O R T C O M P L E T E *****"
  1. . D PAZ^BARRUTL
  1. Q