SAP NEW-PAGE PRINT ABAP Statements

Get Example source ABAP code based on a different SAP table
  



NEW-PAGE - spool_options

Short Reference


ABAP Syntax ... { PRINT ON [NEW-SECTION] PARAMETERS
pri_params
[ARCHIVE PARAMETERS arc_params]
NO DIALOG }
| { PRINT OFF } ... .

ABAP Addition
1 ... PRINT ON [NEW-SECTION]
2 ... PARAMETERS pri_params
3 ... ARCHIVE PARAMETERS arc_params
4 ... NO DIALOG
5 ... PRINT OFF

What does it do? The addition PRINT ON writes all subsequent output statements to a spool list. The additions [ARCHIVE] PARAMETERS are used to define the spool parameters and the archiving parameters of the spool request . The addition PRINT OFF closes a spool list that has been started with the addition PRINT ON.
• PRINT ON NEW-PAGE
• NEW-SECTION NEW-PAGE

ABAP Addition

What does it do? The addition PRINT ON creates a new spool list level. The first output statement after NEW-PAGE PRINT ON opens a new spool request and writes to a spool list in the SAP spool system. The number of the spool request is passed to sy-spono by the first output statement. While it is being created, the spool list is sent page by page to the SAP spool system. If the current list is a screen list, its creation is interrupted and the new spool list level is stacked in it.
If the current list is a spool list not created with NEW-PAGE PRINT ON, its creation is interrupted and the new spool list level is stacked in it.
If the current list is a spool list created using NEW-PAGE PRINT ON and the addition NEW-SECTION is not used, a handleable exception of the class CX_SY_NESTED_PRINT_ON is raised.
If the current list is a spool list created using NEW-PAGE PRINT ON, the addition NEW-SECTION is used, the specified spool parameters match those of the newly created list, and the spool parameter PRNEW in the structure pri_params is initial, no new spool request is opened and the output is written to the current spool list. If the spool parameters define the output of a cover sheet, the cover sheet is printed again before the following output as a spacer sheet.
If the current list is a spool list created using NEW-PAGE PRINT ON, the addition NEW-SECTION is used, and the specified spool parameters do not match those of the newly created list or the spool parameter PRNEW in structure pri_params is not initial, the current spool request is closed implicitly by NEW-PAGE PRINT OFF and a new spool request is created.

It is not possible to use NEW-PAGE PRINT ON to stack another spool list level directly on to a spool list level created using NEW-PAGE PRINT ON.

A spool list level created using NEW-PAGE PRINT ON can be closed by either NEW-PAGE PRINT OFF, NEW-PAGE PRINT ON NEW-SECTION, the end of the program, or by leaving a screen sequence.

Latest notes:Each statement NEW-PAGE PRINT ON should be closed explicitly using NEW-PAGE PRINT OFF before the program end or before leaving a dynpro sequence.
The addition NEW-SECTION can be used to avoid the exception CX_SY_NESTED_PRINT_ON. When using NEW-SECTION, the output can also be continued into the previous spool list, which is not possible when an exception is handled with CATCH.
As well as the addition NEW-SECTION, the obsolete statement NEW-SECTION can also be used outside of classes. However it does not allow you specify spool parameters.



Example ABAP Coding
See Lists, Spooling.

• PARAMETERS NEW-PAGE PRINT ON
• ARCHIVE PARAMETERS NEW-PAGE PRINT ON
• NO DIALOG NEW-PAGE PRINT ON

ABAP Addition

ABAP Addition

ABAP Addition

What does it do? These additions provide the spool request with spool parameters and archiving parameters. The latter are necessary if you want to archive the spool list using ArchiveLink.

The addition PARAMETERS passes the spool parameters in a structure pri_params of data type PRI_PARAMS from ABAP Dictionary. If archiving is specified in pri_params, archiving parameters must be passed using the addition ARCHIVE PARAMETERS in a structure arc_params of data type ARC_PARAMS from ABAP Dictionary.

Structures of data types PRI_PARAMS and ARC_PARAMS must be filled by the function module GET_PRINT_PARAMETERS. When calling the function module, you can set individual or all spool parameters in the program and/or display a spool dialog window. The function module creates a set of valid spool and archiving parameters for use as pri_params and arc_params and adds these to its output parameters.

If the structures pri_params or arc_params are initial, the spool parameters or archiving parameters created by a call of the function modules GET_PRINT_PARAMETERS with initial input values are used.

The addition NO DIALOG suppresses the spool dialog window that by default appears when using the PRINT ON addition.

Latest notes:These additions must always be used as indicated here. It is particularly important that the standard spool dialog box be suppressed. When using the default spool dialog window, the Back function is not available because the system can not return to a point before a statement after spooling has been switched on by such a statement. Printing can only be exited using Exit, which ends the entire program. If the user exits the window by choosing Cancel, inconsistent spool parameters can be produced. Instead, the spool dialog window can be displayed by calling the function module GET_PRINT_PARAMETERS. This function module has an output parameter VALID that indicates the consistency of the spool parameters created. The use of the addition NO DIALOG without simultaneously passing spool parameters is allowed only outside of ABAP Objects and produces a warning in the syntax check. In other objects, the spool parameters are derived from the user master record, if possible. As well as the additions shown here, there is a range of other additions for an obsolete specification of spool parameters, which should no longer be used.



Example ABAP Coding
Creates spool lists during the list event
AT LINE-SELECTION. The spool parameters are defined by the function module GET_PRINT_PARAMETERS before the basic list is created. REPORT demo NO STANDARD PAGE HEADING.

DATA: spfli_wa TYPE spfli,
sflight_wa TYPE sflight.

DATA: print_parameters TYPE pri_params,
valid_flag TYPE c LENGTH 1.

START-OF-SELECTION.

CALL FUNCTION 'GET_PRINT_PARAMETERS'
IMPORTING
out_parameters = print_parameters
valid = valid_flag
EXCEPTIONS
invalid_print_params = 2
OTHERS = 4.

IF valid_flag = 'X' AND sy-subrc = 0.
SELECT carrid connid
FROM spfli
INTO CORRESPONDING FIELDS OF spfli_wa.
WRITE: / spfli_wa-carrid, spfli_wa-connid.
HIDE: spfli_wa-carrid, spfli_wa-connid.
ENDSELECT.
ELSE.
...
ENDIF.

AT LINE-SELECTION.
NEW-PAGE PRINT ON PARAMETERS print_parameters
NO DIALOG.
SELECT *
FROM sflight
INTO sflight_wa
WHERE carrid = spfli_wa-carrid AND
connid = spfli_wa-connid.
WRITE: / sflight_wa-carrid, sflight_wa-connid,
sflight_wa-fldate ...
ENDSELECT.
NEW-PAGE PRINT OFF.
• PRINT OFF NEW-PAGE

ABAP Addition

What does it do? The addition PRINT OFF closes a spool list level created using NEW-PAGE PRINT ON, sends the current page to the SAP spool system, and releases the associated spool request. Output statements that follow NEW-PAGE PRINT OFF write to the screen list or spool list where the spool list level closed by PRINT OFF was stacked. When the system returns to the print list, the system field sy-spono is switched to the number of the associated spool request directly when the statement NEW-PAGE PRINT OFF is executed.

NEW-PAGE PRINT OFF is ignored by spool list levels not been created using NEW-PAGE PRINT ON.



Latest notes:At the end of the program and at every list event
AT LINE-SELECTION, AT PFnn, and AT USER-COMMAND, the statement NEW-PAGE PRINT OFF is executed implicitly.



Runtime Exceptions

Catchable Exceptions
CX_SY_NESTED_PRINT_ON
Reason for error:
Stacked NEW-PAGE PRINT ON.
Runtime error:
NESTED_PRINT_ON

Return to menu