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

BARRPTD2.m

Go to the documentation of this file.
  1. BARRPTD2 ; IHS/SD/pkd - Payment Summary Report by TDN or Date Range ;06/09/2010
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**19**;OCT 26, 2005
  1. ;
  1. ; IHS/SD/PKD - 6/9/10 - V1.8*19 based on BARRPRP* routines
  1. ; Routine created
  1. Q
  1. ; *********************************************************************
  1. PRINT ;
  1. S BAR(132)=1,BAR(133)=1 ; Width of printing parameters ;pkd
  1. N LOC S LOC=$O(^TMP($J,"BAR-PTD"))
  1. I LOC="" S LOC=DUZ(2) ; Need LOC for Headers
  1. I BARTEXT&($D(^TMP($J,"BAR-PTD"))) D FILEHDR I 1
  1. E D SETHDR
  1. I '$D(^TMP($J,"BAR-PTD")) D Q ; No data - quit
  1. . S IOM=132 D HDB^BARRPSRB
  1. . W !!!!!?25,"*** NO DATA TO PRINT ***"
  1. . D PAZ^BARRUTL S QUIT='Y ;pause
  1. D DETAIL
  1. Q:$G(BAR("F1"))
  1. K ^TMP($J,"BAR-PTD")
  1. ;
  1. N TP S TP="C IO(0)" X TP
  1. Q
  1. ; ********************************************************************
  1. ;
  1. SETHDR ;
  1. ; Build header array
  1. I BARTEXT&($D(^TMP($J,"BAR-PTD"))) D FILEHDR Q
  1. S BAR("PG")=0,BAR(133)=1 ; char / line
  1. S BAR("OPT")="TDN"
  1. S BARY("DT")="T"
  1. S BAR("LVL")=0
  1. S BAR("HD",0)="PAYMENT SUMMARY REPORT BY TDN "
  1. ;
  1. I BARSRT=1 D ; 1= Batch Range entered
  1. . S BAR("LVL")=BAR("LVL")+1
  1. . S BAR("HD",BAR("LVL"))="Batch Dates: "_$$SDT^BARDUTL(BARSTART)_" to "_$$SDT^BARDUTL(BAREND)
  1. I BARSRT=2 D ; 2 = TDN (1 or more) entered
  1. . S BAR("LVL")=BAR("LVL")+1
  1. . S BAR("HD",BAR("LVL"))="FOR TDNs As Entered "
  1. I $G(LOC) S DUZ(2)=LOC ; if >1 location being processed
  1. S BAR("HD",BAR("LVL"))=BAR("HD",BAR("LVL"))_" "_"LOCATION: "_$P(^BAR(90052.05,DUZ(2),LOC,0),U,4)
  1. ;
  1. S BAR("LVL")=BAR("LVL")+1
  1. S BAR("HD",BAR("LVL"))="BATCHED AMOUNT: $"_$J($FN($P($G(^TMP($J,"BAR-PTD")),U,2),",",2),15)
  1. ;
  1. S BAR("COL")="W !,""TREASURY DEPOSIT COLLECTION"",?55,""BATCHED POSTED TRUE REFUND TRANSFER UNPOSTED"""
  1. S BAR("COL")=BAR("COL")_",!,"" NUMBER BATCH"",?55,""AMOUNT AMOUNT UNALL AMOUNT AMOUNT AMOUNT """
  1. S BARDASH="W ?22,""----"",?53,""----------"",?64,""----------"""
  1. Q
  1. ; ********************************************************************
  1. FILEHDR ; output to file?
  1. Q:$G(FILEHDR) S FILEHDR=1 ; Output headers only once
  1. ; File Output Header
  1. N TP S TP="O IO U IO" X TP
  1. S HDR="LOCATION^TDN^COLLECTION BATCH NAME^BATCHED AMOUNT^POSTED AMOUNT"
  1. S HDR=HDR_"^TRUE UNALLOCATED^REFUND AMOUNT^TRANSFER AMOUNT^UNPOSTED AMOUNT"
  1. W !,HDR
  1. Q
  1. ;**********************************************
  1. DETAIL ; Print per LOCATION
  1. S LOC="" F S LOC=$O(^TMP($J,"BAR-PTD",LOC)) Q:'LOC D Q:$G(QUIT)
  1. . S LOCANAME=$P(^BAR(90052.05,DUZ(2),LOC,0),U,4)
  1. . D SETHDR ; Get new Location Name
  1. . D:BARSRT=1 DTDET
  1. . D:BARSRT=2 TDNDET
  1. . D LOCTOT
  1. D TOTAL ; Grand Totals
  1. Q
  1. ;
  1. DTDET ;
  1. ; Print Report - subTotals on Date Change
  1. ; Location Change
  1. ; SORT1 = DATE SORT2 = TDN
  1. I 'BARTEXT D HDB^BARRPSRB
  1. S SORT1=""
  1. F S SORT1=$O(^TMP($J,"BAR-PTD",LOC,SORT1)) Q:SORT1="" D Q:$G(QUIT)
  1. . S SORT2="" F S SORT2=$O(^TMP($J,"BAR-PTD",LOC,SORT1,SORT2)) Q:SORT2="" D Q:$G(QUIT)
  1. . . S BATCH="" F TCT=0:1 S BATCH=$O(^TMP($J,"BAR-PTD",LOC,SORT1,SORT2,BATCH)) Q:BATCH="" D Q:$G(QUIT)
  1. . . . D DETLN
  1. . . I TCT>1 D TDNSUB ; I >1 COLLECTION BATCH/TDN, print subtotal for TDN
  1. Q
  1. ; ********************************************************************
  1. TDNDET ;
  1. ; Print Report - SORT1 - TDN SORT2 DT
  1. I 'BARTEXT D HDB^BARRPSRB
  1. S SORT1="" F S SORT1=$O(^TMP($J,"BAR-PTD",LOC,SORT1)) Q:SORT1="" D Q:$G(QUIT)
  1. . S SORT2="" F S SORT2=$O(^TMP($J,"BAR-PTD",LOC,SORT1,SORT2)) Q:SORT2="" D Q:$G(QUIT)
  1. . . S BATCH="" F TCT=0:1 S BATCH=$O(^TMP($J,"BAR-PTD",LOC,SORT1,SORT2,BATCH)) Q:BATCH="" D Q:$G(QUIT)
  1. . . . D DETLN
  1. . . I TCT>1 D TDNSUB ; I >1 COLLECTION BATCH/TDN, print subtotal for TDN
  1. Q
  1. TDNSUB ; print TDN subtotal
  1. Q
  1. ;
  1. DETLN ; Same output for DATE RANGE or LIST OF TDN'S
  1. N PC
  1. S LINE=^TMP($J,"BAR-PTD",LOC,SORT1,SORT2,BATCH)
  1. ;S Y=$P(SORT2,".",1) X ^DD("DD")
  1. S SORTKEY="SORT1" I BARSRT=1 S SORTKEY="SORT2"
  1. I BARTEXT D FILEOUT Q
  1. W !,@SORTKEY,?21,BATCH,?52
  1. F PC=1:1:6 W $J($P(LINE,",",PC),11,2)
  1. I $Y>(IOSL-5) D PAZ^BARRUTL S QUIT='Y D HDB^BARRPSRB
  1. Q
  1. FILEOUT ; Delimited output to file
  1. W !,LOCANAME,U,@SORTKEY,U,BATCH,U
  1. S LINE=$TR(LINE,",","^") ; Remove this line if for comma delimiter
  1. W LINE
  1. Q
  1. ;
  1. LOCTOT ;
  1. I BARTEXT D LOCTOTF Q
  1. I '+BARASK W !
  1. W !?2,"LOCATION TOTAL"
  1. S BARLTOT=^TMP($J,"BAR-PTD",LOC)
  1. D TOTOUT Q
  1. ;
  1. LOCTOTF ; File Output
  1. Q U IO ; Leave in case they want totals to output file
  1. W !,"LOCATION TOTAL",U,^TMP($J,"BAR-PTD",LOC)
  1. Q
  1. TOTOUT ;
  1. I BARTEXT D TOTFIL Q
  1. X BARDASH
  1. S BARDSH1=" ----------"
  1. N PC
  1. F PC=1:1:4 W BARDSH1
  1. W !,?21,$J($P(BARLTOT,U),4)
  1. W ?53,$J($FN($P(BARLTOT,U,2),",",2),10)
  1. F PC=3:1:7 W $J($FN($P(BARLTOT,U,PC),",",2),11)
  1. Q:$G(FILEWRITE)
  1. I $O(^TMP($J,"BAR-PTD",LOC)) D PAZ^BARRUTL
  1. Q
  1. ; ********************************************************************
  1. ;
  1. TOTAL ;
  1. W !
  1. S BARLTOT=^TMP($J,"BAR-PTD")
  1. W !?5,"REPORT TOTAL"
  1. D TOTOUT
  1. S DUZ(2)=DUZ2 ; Restore Log-in Location
  1. N TP S TP="C IO(0)" X TP
  1. Q
  1. ;
  1. TOTFIL ;
  1. q U IO ; leave in case they want total lines in output file
  1. W !,"TOTALS: ",U,^TMP($J,"BAR-PTD")
  1. K FILEHDR
  1. N TP S TP="C IO U 0" X TP
  1. ;C IO U 0
  1. Q
  1. ;**************************************************************