Published using Google Docs
Title for ALV Using Commentary Writer
Updated automatically every 5 minutes

DATA : gfl_fcat       TYPE slis_fieldcat_alv.

DATA : git_fcat       TYPE slis_t_fieldcat_alv.

DATA : gfl_layout     TYPE slis_layout_alv,

       git_events     TYPE slis_t_event,

       git_title      TYPE slis_t_listheader,

       gfl_events     TYPE slis_alv_event,

       gfl_title      TYPE slis_listheader.

 

CONSTANTS : c_top_of_page TYPE slis_alv_event-name

                               VALUE 'TOP_OF_PAGE',

            c_top_routine TYPE slis_alv_event-form

********************************************************************************

 FORM set_events .

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

* EXPORTING

*   I_LIST_TYPE           = 0

     IMPORTING

       et_events             = git_events

     EXCEPTIONS

       list_type_wrong       = 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.

  SORT git_events BY name.

  READ TABLE git_events

        INTO gfl_events

        WITH KEY name = c_top_of_page BINARY SEARCH.

  IF sy-subrc EQ 0.

    MOVE c_top_routine  TO gfl_events-form.

    MODIFY git_events FROM gfl_events INDEX sy-tabix

                      TRANSPORTING form.

  ENDIF.

  CLEAR gfl_events.

ENDFORM.                    " SET_EVENTS

********************************************************************************

 FORM alv_display .

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program      = sy-repid

      i_callback_user_command = 'DOUBLE_CLICK'

      is_layout               = gfl_layout

      it_fieldcat             = git_fcat

      i_save                  = 'A'

      it_events               = git_events

    TABLES

      t_outtab                = git_final

    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.

ENDFORM.                    " ALV_DISPLAY

********************************************************************************

 FORM print_title.                                           "#EC CALLED

  CLEAR: gfl_title,

         git_title.

*----Set the title contents

  gfl_title-typ     = 'H'.

  gfl_title-info    = 'Croda Chemicals Limited'.

  APPEND gfl_title  TO git_title.

  CLEAR gfl_title.

  gfl_title-typ     = 'H'.              " Header

  gfl_title-info    = 'Retail Invoice - Work Sheet '.

  APPEND gfl_title  TO git_title.

  CLEAR gfl_title.

  gfl_title-typ     = 'S'.              " Date

  gfl_title-key     = 'Date :'.

  WRITE sy-datum    TO gfl_title-info.

  APPEND gfl_title  TO git_title.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      it_list_commentary = git_title.

*   I_LOGO                   =

*   I_END_OF_LIST_GRID       =

*   I_ALV_FORM               =

ENDFORM.                    "print_title

 *----------------------------------------------------------------------*

********************************************************************************

FORM double_click USING r_ucomm LIKE sy-ucomm

                   rs_selfield TYPE slis_selfield."#EC CALLED #EC NEEDED

  IF rs_selfield-fieldname = 'INVNO' AND

   rs_selfield-tabindex NE 0.

    SET PARAMETER ID 'VF' FIELD rs_selfield-value.

    CALL TRANSACTION 'VF02' AND SKIP FIRST SCREEN.

  ENDIF.

ENDFORM.                    "DOUBLE_CLICK