cancel
Showing results for 
Search instead for 
Did you mean: 

Page vice total in SAP Script

Former Member
0 Kudos

Hello Experts!!!

I have a script where the if no of line item is going above 15 it comes on next page and it give total of all items data.But my requirement is it should appear for each page mean the line items coming on that page only that total should calculated and shown.

Please help me out.

Waiting for replies.

Thanks,

Nahid

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi ,

in smartforms u can do this by just checkng abox , but in script u will have to handle it by yourself .

take a variable and keep on incrementing it and when u reach 14 line item u display ur varialble and then refresh it to 0 . i guess it can be done like this .

Thanks

ROhit

Reward if helpfull

Former Member
0 Kudos

Hi Rohit,

Thanks for the reply the problem is how print those values on new page should i use page-break or something else.

Thanks.

Nahid

Answers (1)

Answers (1)

Former Member
0 Kudos

Helpfull answers I got,Thanks

Former Member
0 Kudos

6.21 Summing a Program Symbol: SUMMING

The SUMMING command is used for accumulating a total value for a program symbol. The command should be specified just once. Then, each time the specified program symbol is formatted, its current value is added into the total symbol. Several program symbols may all be added into a single total symbol.

Syntax:

/: SUMMING program_symbol INTO total_symbol

SAPscript cannot create the field for the total dynamically. The symbol used must be defined in a TABLES structure in the calling program.

For details on summing and carrying forward, see Summing and Carrying Forward is Incorrect.

6.21.1 Summing and Carrying Forward is Incorrect

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 totalling.

• 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 window:

1. 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 fields).

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.

/: SUMMING &SUMTAB-AMOUNT& INTO &SUMTAB-TOTAL&

/: DEFINE &LASTPAGE& = ‘ ‘

2. 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 ‘X’:

/: DEFINE &LASTPAGE& = ‘X’

3. 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:

/E CARRY

  • &’Carry forward:,,’CARRY&

(CALL FUNCTION WRITE_FORM EXPORTING ELEMENT = ‘CARRY’

TYPE = ‘TOP’)

4. 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):

/: IF &LASTPAGE& = ‘X’

T1 <H>Grand total:,,&SUMTAB-TOTAL&</>

/: ELSE

T1 <H>Carry forward:,,&SUMTAB-TOTAL&</>

/: DEFINE &CARRY& = &SUMTAB-TOTAL&

/: ENDIF