Crystal Reports carry forward totals from the previous page

Hi Experts,

I am developing a Crystal Report built on finanical data i.e. Date, Month, Debit, Credit, General Ledger Code

The report requires a sub-totals per ledger account, per month and have therefore inserted groups (new page used to start a new page per either Month or GLCode) and summary fields to deal with this.

The report output also requires that I show page totals, a brought forward in the page header and a carry forward in the page footer. The additional complexity comes that the page totals (bfwd and carry forward) should reset in accordance with the grouping.

So far I have:

Entered a formula in the details section of the report, to take the cumulative value of the debits and similarly one for the credits

WhilePrintingRecords;
NumberVar PageDeb_total;
PageDeb_total := PageDeb_total + {Command.DebitLC};

I have then entered a formula in the page footer as below, which shows the page (carry forward) balance correctly:

WhilePrintingRecords;
NumberVar PageDeb_total;

I am however struggling to define the formula to go in the page header which will bring forward the carry forward from the previous page firstly and secondly that will reset to 0 based on the grouping i.e. if either the month or ledger account changes.

Any help or expert tips would be gratefully welcomed.

Thanks experts
RSTOCKEWLLAsked:
Who is Participating?
 
James0628Commented:
What is @PageDebTotal?  If that's the formula that adds to your variable, then I think that's the problem.  What you're saying is if this is the first record, just display 0, otherwise evaluate that formula, which adds the value from the first record on the current page to the total.

 What you should have in the page header is just:

WhilePrintingRecords;
NumberVar PageDeb_total


 That should just output the current total, which should be from the last record on the previous page (or 0 for the first page).

 James
0
 
peter57rCommented:
The formula in the page header is the same as the one in the page footer.

For the reset I would have though you just needed a reset in the lowest level group - is that ledger code.  I can't see any point in resetting at a higher level because you must hit the lower level end first.

So in the group footer...

WhilePrintingRecords;
NumberVar PageDeb_total:=0;
""
0
 
mlmccCommented:
WHat do you need on the page footer and header when the group changes?

mlmcc
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
RSTOCKEWLLAuthor Commented:
Hi All,

I had tried initially using the below formula in the header:

WhilePrintingRecords;
NumberVar PageDeb_total;
//PageDeb_total := 0

If OnfirstRecord Then 0
else {@PageDebTotal}

Whilst this works on the first page of the report in that it starts the count from zero and similarly the totals at the footer of the page, based on the formula previously posted also shows the correct value e.g. CreditTotal = 4334.01 (this is correct). However when I look at the second page the Page Header displays an opening (brought forward) balance of 4590.21 and not 4334.01 as I would have expected. On examining this further I see that the difference between the values equates to the first 'credit' record (details section) in the second page and therefore that the balance displayed in the page header of page 2 is the 4334.01 brought forward + 1st record of the second page (details section) = 4590.21....

I guess I have overlooked something further.

Regards the resetting at the lowest level of groups, I think this will be the answer to the seconday problem and therefore just need to overcome this problem.

Thanks

Rick
0
 
RSTOCKEWLLAuthor Commented:
Excellent job, both of my problems resolved with the solutions suggested.

Great job

Thanks
0
 
James0628Commented:
You're welcome.  Glad I could help.

 James
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.