22/05/2013

Print Purchase order Number with Top of Page and End of page

*&---------------------------------------------------------------------*
*& Module Pool       Z_ALV_MOD_PRINT_PURCHSE_NUMBER
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

PROGRAM  Z_ALV_MOD_PRINT_PURCHSE_NUMBER.
DATA : O_GRID TYPE REF TO CL_GUI_ALV_GRID,
       O_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER ,
       IT_EKKO     TYPE STANDARD TABLE OF EKKO,
       IT_EKPO     TYPE STANDARD TABLE OF EKPO,
       WA_EKKO     TYPE                   EKKO,
       WA_EKPO     TYPE                   EKPO,
       WA_PRINT    TYPE               LVC_S_PRNT.

CLASS LCL_EVENT DEFINITION.
PUBLIC SECTION.
METHODS : HANDLE_TOP_OF_PAGE  FOR EVENT PRINT_TOP_OF_PAGE OF CL_GUI_ALV_GRID,
          HANDLE_TOP_OF_LIST  FOR EVENT PRINT_TOP_OF_LIST OF CL_GUI_ALV_GRID,
          HANDLE_END_OF_PAGE  FOR EVENT PRINT_END_OF_PAGE OF CL_GUI_ALV_GRID,
          HANDLE_END_OF_LIST  FOR EVENT PRINT_END_OF_LIST OF CL_GUI_ALV_GRID.

ENDCLASS.

CLASS LCL_EVENT IMPLEMENTATION.

METHOD HANDLE_TOP_OF_PAGE.
   WRITE : 'TOP_OF_PAGE'.
ENDMETHOD.

METHOD HANDLE_TOP_OF_LIST.
  WRITE : 'END_OF_LIST'.
ENDMETHOD .

METHOD HANDLE_END_OF_LIST.
  WRITE 'END_OF_LIST'.
ENDMETHOD .

METHOD HANDLE_END_OF_PAGE.
    WRITE 'END_OF_PAGE '.
ENDMETHOD.
ENDCLASS.


*&---------------------------------------------------------------------*
*&      Module  FETCH_DATA  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE FETCH_DATA OUTPUT.
SELECT * FROM EKKO INTO TABLE IT_EKKO UP TO 100 ROWS .
ENDMODULE.                 " FETCH_DATA  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  STATUS_9001  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_9001 OUTPUT.
  SET PF-STATUS 'ZSTATUS'.
*  SET TITLEBAR 'xxx'.


  CREATE OBJECT O_CONTAINER
    EXPORTING
*      PARENT                      =
      CONTAINER_NAME               = 'CON1'
         .

  IF SY-SUBRC = 0.
    CREATE OBJECT O_GRID
      EXPORTING
*        I_SHELLSTYLE      = 0
*        I_LIFETIME        =
         I_PARENT          = O_CONTAINER
        .
    IF SY-SUBRC = 0.
      WA_PRINT-RESERVELNS =   3.

      CALL METHOD O_GRID->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
*          I_BUFFER_ACTIVE               =
*          I_BYPASSING_BUFFER            =
*          I_CONSISTENCY_CHECK           =
          I_STRUCTURE_NAME               = 'EKKO'
*          IS_VARIANT                    =
*          I_SAVE                        =
*          I_DEFAULT                     = 'X'
*          IS_LAYOUT                     =
*          IS_PRINT                      =
*          IT_SPECIAL_GROUPS             =
*          IT_TOOLBAR_EXCLUDING          =
*          IT_HYPERLINK                  =
*          IT_ALV_GRAPHICS               =
*          IT_EXCEPT_QINFO               =
*          IR_SALV_ADAPTER               =
        CHANGING
          IT_OUTTAB                      = IT_EKKO
*          IT_FIELDCATALOG               =
*          IT_SORT                       =
*          IT_FILTER                     =
*        EXCEPTIONS
*          INVALID_PARAMETER_COMBINATION = 1
*          PROGRAM_ERROR                 = 2
*          TOO_MANY_LINES                = 3
*          others                        = 4
              .
      IF SY-SUBRC <> 0.
*       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.

    ENDIF.

  ENDIF.


DATA : O_HANDLER TYPE REF TO LCL_EVENT.
CREATE OBJECT O_HANDLER .

SET HANDLER : O_HANDLER->HANDLE_TOP_OF_PAGE FOR O_GRID,
              O_HANDLER->HANDLE_TOP_OF_LIST FOR O_GRID,
              O_HANDLER->HANDLE_END_OF_LIST FOR O_GRID,
              O_HANDLER->HANDLE_END_OF_PAGE FOR O_GRID.

ENDMODULE.                 " STATUS_9001  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9001  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9001 INPUT.
CASE SY-UCOMM.
  WHEN 'BACK'.
  LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.                 " USER_COMMAND_9001  INPUT

No comments:

Post a Comment