Assume that for a multiple-page
invoice, you want to print the current total as carry forward
amount or subtotal on the current page and on the subsequent page.
However, the carry forward amount is incorrect or missing.
The following causes are possible:
You do not use program symbols with Dictionary reference for
You place the carry forward amount into the BOTTOM area.
SAPscript processes the BOTTOM area at the beginning of a page;
therefore it is not suited for carry forward amounts.
If you place the carry forwards amount into the TOP area of the
main window on the subsequent page, the carry forward amount may be
higher than it should be: This happens if the last part of text of
the previous page does not fit onto the page, but the text is held
together, for example, by a PROTECT command. In this case, a local
text symbol must receive the carry forward amount.
You must place the carry forward amount on the current page into
a window of type VAR. On the subsequent page, use a local text symbol to print the amount in the TOP area of the main
At the beginning of the form main text (before printing the
first text element), define the amount variable and the total
variable (both must be program symbols or Dictionary amount
In the example below, we use the SUMMING command to determine that for each output of
&SUMTAB-AMOUNT& the system automatically sums up the amount
in the total variable &SUMTAB-TOTAL&. At the end of the
page, &SUMTAB-TOTAL& contains the carry forward amount of
the current page or the grand total, respectively.
In this example, we also define a local symbol &LASTPAGE&
to print the grand total on the last page.
At the end of the form main text
(when printing the last text element of the main window), set the
local textsymbol &LASTPAGE& to a different value, such as
&LASTPAGE& = ‘X’
To print the carry forward amount in the TOP area of the
subsequent page including the pre-text 'Carry forward' and a tab,
we use the local text symbol &CARRY. The corresponding text
element is also defined in the main window:
* &’Carry forward:,,’CARRY&
(CALL FUNCTION WRITE_FORM EXPORTING ELEMENT = ‘CARRY’
TYPE = ‘TOP’)
Define the carry forward window on
the current page as type VAR and position it at the end of the main
window of the page. Print the carry forward amount there and define
the local text symbol &CARRY& to print the amount again in
the TOP area of the subsequent page. Use the local text symbol
&LASTPAGE& to print the grand total on the last page. The
carry forward window then contains the following text (define it as
paragraph T1 with tab):