Monday, July 9, 2018

SET_PRINT_PARAMETERS

*&---------------------------------------------------------------------*
*& Report  ZQC_TEST_PRINT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zqc_test_print NO STANDARD PAGE HEADING LINE-COUNT 0(2).


DATA :archive_mode   LIKE  pri_params-armod VALUE '3',
      copies         LIKE  pri_params-prcop VALUE '5',
      department     LIKE  pri_params-prabt VALUE 'BASIS',
      destination    LIKE  pri_params-pdest VALUE 'LT50',
      expiration     LIKE  pri_params-pexpi VALUE ' ',
      immediately    LIKE  pri_params-primm VALUE 'X',
      layout         LIKE  pri_params-paart VALUE 'X_65_132',
      line_count     LIKE  pri_params-linct VALUE '54',
      line_size      LIKE  pri_params-linsz VALUE '20',
      list_name      LIKE  pri_params-plist VALUE 'TEST',
      list_text      LIKE  pri_params-prtxt VALUE `Test for User's Guide`,
      new_list_id    LIKE  pri_params-prnew VALUE 'X',
      receiver       LIKE  pri_params-prrec VALUE 'KELLERH',
      release        LIKE  pri_params-prrel VALUE ' ',
      sap_cover_page LIKE  pri_params-prsap VALUE 'X'.

PARAMETERS p TYPE i DEFAULT 10.

INITIALIZATION.

  CALL FUNCTION 'SET_PRINT_PARAMETERS'
    EXPORTING
      archive_mode   = archive_mode
      copies         = copies
      department     = department
      destination    = destination
      expiration     = expiration
      immediately    = immediately
      layout         = layout
      line_count     = line_count
      line_size      = line_size
      list_name      = list_name
      list_text      = list_text
      new_list_id    = new_list_id
      receiver       = receiver
      release        = release
      sap_cover_page = sap_cover_page.

START-OF-SELECTION.

  DO p TIMES.
    WRITE / sy-index.
  ENDDO.

TOP-OF-PAGE.

  WRITE: 'Page', sy-pagno.
  ULINE.

END-OF-PAGE.
  ULINE.
  WRITE: 'End of', sy-pagno.

----------------------------------------------------------------------------
*&---------------------------------------------------------------------*
*& Report  ZQC_DEMO_LIST_PRINT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZQC_DEMO_LIST_PRINT LINE-COUNT 10 LINE-SIZE 50.

DATA params LIKE pri_params.
DATA valid  TYPE c LENGTH 1.

PARAMETERS para TYPE c LENGTH 1.

CLASS print_demo DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS print IMPORTING text TYPE string.
ENDCLASS.

INITIALIZATION.

  CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
      destination    = 'LOCL'
      immediately    = ' '
      no_dialog      = 'X'
      line_count     = 10
      line_size      = 50
    IMPORTING
      out_parameters = params
      valid          = valid.

  IF valid <> 'X'.
    LEAVE PROGRAM.
  ENDIF.

  params-prtxt = 'Parameter 1'.
  CALL FUNCTION 'SET_PRINT_PARAMETERS'
    EXPORTING
      in_parameters = params.

START-OF-SELECTION.

  WRITE / 'AAAA'.

  params-prtxt = 'Parameter 2'.
  NEW-PAGE PRINT ON PARAMETERS params NO DIALOG.

  WRITE / 'BBBB'.

  CALL SCREEN 100.

  WRITE / 'GGGG'.

  NEW-PAGE PRINT OFF.

  WRITE / 'HHHH'.

MODULE status_0100 OUTPUT.

  SUPPRESS DIALOG.
  LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.

  WRITE / 'CCCC'.

  params-prtxt = 'Parameter 3'.
  NEW-PAGE PRINT ON PARAMETERS params NO DIALOG.
  WRITE / 'DDDD'.
  print_demo=>print( 'EEEE' ).
  NEW-PAGE PRINT OFF.

  WRITE / 'FFFF'.

ENDMODULE.

CLASS print_demo IMPLEMENTATION.
  METHOD print.

    params-prtxt = 'Parameter 4'.
    TRY.
        NEW-PAGE PRINT ON PARAMETERS params NO DIALOG.
      CATCH cx_sy_nested_print_on.
        NEW-PAGE PRINT ON PARAMETERS params NO DIALOG NEW-SECTION.
    ENDTRY.
    WRITE / text.
    NEW-PAGE PRINT OFF.

  ENDMETHOD.
ENDCLASS.

No comments:

Post a Comment