[Date Prev][Date Next][Thread Prev][Thread Next]
[Author Index] [Date Index] [Thread Index]
[SQR-USERS Info] [SQRUG Home Page]

[sqr-users] Page Breaks



I am finishing up report where I am conducitng a CASE translsation to
"group" the records in the report into 4 categories.
I would like to have Page Breaks after each change of the value in the Group
Variable.

I have included the main procedure and the correlating print procedures:


Begin-Procedure Get_MAIN_PROCEDURE  !(Comment for Main Procedure)
!****************************************
  LET $ACCT_ID = ' '
  LET $SA_ID = ' '
  LET $BSEG_ID = ' '
  LET $CRE_DTTM = ' '
  LET $STAT_CHG_DTTM = ' '
  LET $START_DATE = ' '
  LET $END_DATE = ' '
  LET $ORIG_DAYS = ' '
  LET $REBILL_DAYS = ' '
  LET $OVERRIDE = ' '
  LET $ORIG_SQ = ' '
  LET $BILLED_SQ = ' '
  LET $ORIG_AMT = ' '
  LET $FINAL_BILL_AMT = ' '
  LET $ORIG_OPRID = ' '
  LET $REBILLED_BY = ' '
  LET $CANCEL_REASON = ' '
  LET $TOTAL_DOLLAR_DIFF = ' '
  LET $ORIG_PER_DAY = ' '
  LET $FINAL_PER_DAY = ' '
  LET $FINAL-ORIG = ' '
  LET $DIVISION = ' '
  LET $ROLENAME = ' '
  LET $BREAK_LEVEL_A = ' '


    SHOW 'IN Get_MAIN_PROCEDURE'


Begin-SELECT
F.ACCT_ID                         &ACCT_ID
A.SA_ID                   &SA_ID
A.BSEG_ID                  &BSEG_ID
TO_DATE(A.CRE_DTTM) AS CREATE_DT                    &CRE_DTTM
TO_DATE(A.STAT_CHG_DTTM) AS CHANGE_DT               &STAT_CHG_DTTM
TO_CHAR(A.START_DT,'YYYY-MM-DD') AS START_DT        &START_DT
TO_CHAR(A.END_DT,'YYYY-MM-DD') AS END_DT            &END_DT
(A.END_DT - A.START_DT) + 1 AS ORIG_DAYS            &ORIG_DAYS
(B.END_DT - B.START_DT) + 1 AS REBILL_DAYS          &REBILL_DAYS
B.SQ_OVERRIDE_SW AS SQ_OVERRIDE                     &OVERRIDE
C.BILL_SQ AS ORIG_SQ               &ORIG_SQ
H.BILL_SQ AS BILLED_SQ               &BILLED_SQ
D.CUR_AMT AS ORIG_AMT               &ORIG_AMT
E.CUR_AMT AS NEW_BILL_AMT              &FINAL_BILL_AMT
D.FREEZE_OPRID  AS ORIG_OPRID              &ORIG_OPRID
E.FREEZE_OPRID AS REBILLED_BY              &REBILLED_BY
G.DESCRSHORT AS CANCEL_REASON              &CANCEL_REASON
ROUND((E.CUR_AMT - D.CUR_AMT),2) AS TOTAL_$_DIFF      &TOTAL_DOLLAR_DIFF
ROUND((C.BILL_SQ / ((A.END_DT - A.START_DT) + 1)), 2) AS
ORIG_PER_DAY           &ORIG_PER_DAY
ROUND((E.CUR_AMT / ((B.END_DT - B.START_DT) + 1)), 2) AS
FINAL_PER_DAY          &FINAL_PER_DAY
(CASE
WHEN P.ROLENAME LIKE 'BILL%' THEN 'BILLING'
WHEN P.ROLENAME LIKE 'Bill%' THEN 'BILLING'
WHEN P.ROLENAME LIKE 'CS%' THEN 'CS'
WHEN P.ROLENAME LIKE '%BILL%' AND P.ROLENAME LIKE '%CS%'THEN 'PILOT'
WHEN P.ROLENAME LIKE '%Bill%' AND P.ROLENAME LIKE '%CS%'THEN 'PILOT'
ELSE 'OTHER' END) AS
DIVISION                                                   &DIVISION
P.ROLENAME         &ROLENAME
(CASE
WHEN ROUND((E.CUR_AMT - D.CUR_AMT),2) <= 100 THEN '$100 Or Less'
WHEN ROUND((E.CUR_AMT - D.CUR_AMT),2) > 100  AND ROUND((E.CUR_AMT -
D.CUR_AMT),2) <=1000 THEN 'More Than $100'
WHEN ROUND((E.CUR_AMT - D.CUR_AMT),2) > 1000 AND ROUND((E.CUR_AMT -
D.CUR_AMT),2) <=5000 THEN 'More Than $1000'
WHEN ROUND((E.CUR_AMT - D.CUR_AMT),2) > 5000 THEN 'More Than $5000'
ELSE 'OTHER' END) AS TOTAL_$_DIFF
&BREAK_LEVEL_A




    LET $ACCT_ID = LPAD(&ACCT_ID, 10, '0')
    LET $SA_ID =  LPAD(&SA_ID, 10, '0')
    LET $BSEG_ID = LPAD(&BSEG_ID, 12, '0')
    LET $CRE_DTTM = &CRE_DTTM

    LET $STAT_CHG_DTTM = &STAT_CHG_DTTM
    LET $START_DATE = &START_DT
    LET $END_DATE = &END_DT
    LET $ORIG_DAYS = &ORIG_DAYS
    LET $REBILL_DAYS = &REBILL_DAYS
    LET $OVERRIDE = &OVERRIDE
    LET $ORIG_SQ = &ORIG_SQ
    LET $BILLED_SQ = &BILLED_SQ
    LET $ORIG_AMT = &ORIG_AMT
    LET $FINAL_BILL_AMT = &FINAL_BILL_AMT
    LET $ORIG_OPRID = &ORIG_OPRID
    LET $REBILLED_BY = &REBILLED_BY
    LET $CANCEL_REASON = &CANCEL_REASON
    LET $TOTAL_DOLLAR_DIFF = &TOTAL_DOLLAR_DIFF
    LET $ORIG_PER_DAY = &ORIG_PER_DAY
    LET $FINAL_PER_DAY = &FINAL_PER_DAY
    LET $FINAL-ORIG = &FINAL_PER_DAY - &ORIG_PER_DAY
    LET $DIVISION = &DIVISION
    LET $ROLENAME = &ROLENAME
    LET $BREAK_LEVEL_A = &BREAK_LEVEL_A


    SHOW 'ACCT ID: ' $ACCT_ID

    IF $report_type = 'D'
              DO Get_PRINT_OUTPUT_DETAIL            !Programed
         END-IF

    IF $report_type = 'S'
       DO Get_PRINT_OUTPUT_SUMMARY            !Programed
    END-IF



FROM PS_CI_BSEG A,
     PS_CI_BILL_CAN_RSN G,
     PS_CI_BSEG B,
     PS_CI_BSEG_SQ C,
     PS_CI_BILL F,
     PS_CI_BSEG_SQ H,
     PS_CI_FT D,
     PS_CI_FT E,
     PSROLEUSER P
WHERE TO_CHAR(TRUNC(A.STAT_CHG_DTTM), 'YYYY-MM-DD') BETWEEN
TO_CHAR(TO_DATE(TO_DATE($start_dt,'DD-MON-YY')), 'YYYY-MM-DD') AND
TO_CHAR(TO_DATE(TO_DATE($end_dt,'DD-MON-YY')), 'YYYY-MM-DD')
  AND A.CAN_RSN_CD = G.CAN_RSN_CD
  AND A.BSEG_ID = H.BSEG_ID
  AND H.UOM_CD = 'TGAL'
  AND A.BILL_ID = F.BILL_ID
  AND A.REBILL_SEG_ID = B.BSEG_ID
  AND B.BSEG_ID = C.BSEG_ID
  AND C.UOM_CD = 'TGAL'
  AND A.BSEG_ID = D.SIBLING_ID
  AND D.FT_TYPE_FLG = 'BS'
  AND B.BSEG_ID = E.SIBLING_ID
  AND D.FREEZE_OPRID = P.ROLEUSER
  AND (P.ROLENAME LIKE 'BILL%' OR P.ROLENAME LIKE 'bill%' OR P.ROLENAME LIKE
'CS%')
ORDER BY 18 ASC, 1 ASC, 2 ASC, 6 ASC



 End-SELECT

!*****************************
End-Procedure !Get_Procedure_Main
!*****************************
Begin-Procedure Get_PRINT_OUTPUT_DETAIL
!********************************

 SHOW 'IN Get_PRINT_OUTPUT_DETAIL PROCEDURE'

  alter-printer point-size=9 font=4 ! Change font

  PRINT $ACCT_ID      (+2,5,) BOLD
  PRINT $SA_ID           (,18,)  BOLD
  PRINT $BSEG_ID           (,32,)  BOLD
  PRINT $CRE_DTTM        (,48,)  BOLD
  PRINT $STAT_CHG_DTTM   (,63,)  BOLD
  PRINT $START_DATE   (,78,)  BOLD
  PRINT $END_DATE   (,92,)  BOLD
  PRINT $ORIG_DAYS   (,106,) BOLD  edit 9999
  PRINT $REBILL_DAYS   (,120,) BOLD  edit 9999
  PRINT $OVERRIDE   (,141,) BOLD
  PRINT $ORIG_SQ           (,151,) BOLD  edit 999999
  PRINT $BILLED_SQ   (+2,10,)BOLD  edit 999999
  PRINT $ORIG_AMT   (,25,)  BOLD  edit $$$$$$9.99
  PRINT $FINAL_BILL_AMT    (,39,)  BOLD  edit $$$$$$9.99
  PRINT $ORIG_OPRID   (,55,)  BOLD
  PRINT $REBILLED_BY   (,72,)  BOLD
  PRINT $CANCEL_REASON          (,87,)  BOLD
  PRINT $TOTAL_DOLLAR_DIFF  (,101,) BOLD  edit $$$$$$9.99
  PRINT $ORIG_PER_DAY      (,113,) BOLD  edit $$$$$$9.99
  PRINT $FINAL_PER_DAY     (,128,) BOLD  edit $$$$$$9.99
  PRINT $FINAL-ORIG                      (,144,) BOLD  edit $$$$$$9.99
  PRINT $DIVISION   (,160,) BOLD



!********************************
End-Procedure  !Get_PRINT_OUTPUT_DETAIL    !Programed
!********************************
Begin-Procedure Get_PRINT_OUTPUT_SUMMARY
!********************************

       SHOW 'IN Get_PRINT_OUTPUT_SUMMARY PROCEDURE'


       alter-printer point-size=9 font=4 ! Change font

       PRINT $ACCT_ID       (+1,5,) BOLD
       PRINT $ORIG_AMT     (,19,)  BOLD  edit $$$$$$9.99
       PRINT $FINAL_BILL_AMT      (,35,)  BOLD  edit $$$$$$9.99
       PRINT $REBILLED_BY     (,51,)  BOLD
       PRINT $TOTAL_DOLLAR_DIFF      (,66,)  BOLD  edit $$$$$$9.99
       PRINT $ORIG_PER_DAY    (,82,)  BOLD  edit $$$$$$9.99
       PRINT $FINAL_PER_DAY    (,96,)  BOLD  edit $$$$$$9.99
       PRINT $FINAL-ORIG                  (,113,) BOLD  edit $$$$$$9.99
       PRINT $DIVISION       (,129,) BOLD
       PRINT $BREAK_LEVEL_A               (,142,) BOLD  On-Break
Print=Change/Top-Page



!********************************
End-Procedure  !Get_PRINT_OUTPUT_SUMMARY    !Programed
!********************************
Any help would be appreciated.
I would also like to print the count of each "Group" at the top of each
"New" Page for that group.
I have a count procedure but just have no idea what the necessary logic
would be to execute the printing of these values in the proper place.


-- 
Thank you,
M. Kane
Reports Developer (Crystal Reports/SQR)
PeopleSoft CIS Production Support
GES/New York, NY
702.349.5107

_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users