Mentor SAP
2017-03-05 Submitted by:- Admin
*&---------------------------------------------------------------------*
*& Report  ZGS_ALV_TOP_OF_PAGE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZGS_ALV_TOP_OF_PAGE_EVENTS.

TABLES: vbap.

SELECT-OPTIONS s_vbeln FOR vbap-vbeln.

TYPE-POOLS slis.

DATA fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.

DATA abc TYPE slis_layout_alv.

DATA : events TYPE slis_t_event,
       wa like line of events .

DATA: BEGIN OF itab OCCURS 0,
           vbeln LIKE vbap-vbeln,
           posnr LIKE vbap-posnr,
           ernam LIKE vbap-ernam,
           netwr LIKE vbap-netwr,
      END OF itab.

START-OF-SELECTION.

  SELECT vbeln
         posnr
         ernam
         netwr
    INTO TABLE itab
    FROM       vbap
    WHERE vbeln IN s_vbeln.

  fcat-seltext_l  = 'Sales Doc No.'.
  fcat-col_pos    = '1'.
  fcat-fieldname  = 'VBELN'.
  fcat-tabname    = 'ITAB'.
  fcat-outputlen  = '15'.
  APPEND fcat.
  CLEAR fcat.

  fcat-seltext_l  = 'Item No.'.
  fcat-col_pos    = '2'.
  fcat-fieldname  = 'POSNR'.
  fcat-tabname    = 'ITAB'.
  fcat-outputlen  = '12'.
  APPEND fcat.
  CLEAR fcat.

  fcat-seltext_l  = 'Name of Person'.
  fcat-col_pos    = '3'.
  fcat-fieldname  = 'ERNAM'.
  fcat-tabname    = 'ITAB'.
  fcat-outputlen  = '25'.
  APPEND fcat.
  CLEAR fcat.

  fcat-seltext_l  = 'Net Value of Order'.
  fcat-col_pos    = '4'.
  fcat-fieldname  = 'NETWR'.
  fcat-tabname    = 'ITAB'.
  fcat-outputlen  = '20'.
  fcat-do_sum     = 'X'.
  APPEND fcat.
  CLEAR fcat.

*  abc-no_vline = 'X'.
*  abc-no_hline = 'X'.
  abc-zebra    = 'X'.

  wa-name = 'TOP_OF_PAGE'.
  wa-form = 'MYFORMTOP'.
  APPEND wa to events.
  CLEAR wa.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
   i_callback_program                = sy-cprog
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
*   I_CALLBACK_TOP_OF_PAGE            = ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*   I_STRUCTURE_NAME                  =
*   I_BACKGROUND_ID                   = ' '
*   I_GRID_TITLE                      =
*   I_GRID_SETTINGS                   =
     is_layout                         = abc
     it_fieldcat                       = fcat[]
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
   it_events                         = events[]
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   I_HTML_HEIGHT_TOP                 =
*   I_HTML_HEIGHT_END                 =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
    TABLES
      t_outtab                          = itab
* EXCEPTIONS
*   PROGRAM_ERROR                     = 1
*   OTHERS                            = 2
            .
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

*&--------------------------------------------------------------------*
*&      Form  myformtop
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
FORM myformtop.

  DATA list_header TYPE slis_t_listheader WITH HEADER LINE.

  list_header-typ  = 'H'.
  list_header-info = 'Sales Document: Item Data'.
  APPEND list_header.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary       = list_header[]
      i_logo                   = 'ENJOYSAP_LOGO'
*     I_END_OF_LIST_GRID       =
            .
ENDFORM.                    "myformtop