Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8545

Re: TOP_OF_PAGE event for ALV using OOP

$
0
0

Hi Akshay,

 

This is all using CL_SALV_TABLE

 

1. Create a local class as Event Handler and handle TOP OF PAGE events in that,

 

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

**       CLASS lcl_handle_events DEFINITION

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

CLASS LCL_HANDLE_EVENTS DEFINITION.

   PUBLIC SECTION.

     METHODS : TOP_OF_PAGE FOR EVENT TOP_OF_PAGE

                           OF CL_SALV_EVENTS_TABLE

                           IMPORTING R_TOP_OF_PAGE PAGE TABLE_INDEX,

 

               END_OF_PAGE FOR EVENT END_OF_PAGE

                           OF CL_SALV_EVENTS_TABLE

                           IMPORTING R_END_OF_PAGE PAGE.

ENDCLASS.                    "LCL_HANDLE_EVENTS DEFINITION

 

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

**       CLASS lcl_handle_events IMPLEMENTATION

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

CLASS LCL_HANDLE_EVENTS IMPLEMENTATION.

   METHOD TOP_OF_PAGE.

 

   ENDMETHOD.                    "ON_TOP_OF_PAGE

 

   METHOD END_OF_PAGE.

 

   ENDMETHOD.                    "ON_END_OF_PAGE

ENDCLASS.                    "lcl_handle_events IMPLEMENTATION



2. Build the Header before displaying ALV


PERFORM BUILT_HEADER CHANGING LR_CONTENT.

   LR_TABLE->SET_TOP_OF_LIST( LR_CONTENT ).

 

*&---------------------------------------------------------------------*

*&      Form  BUILT_HEADER

*&---------------------------------------------------------------------*

*       text

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

FORM BUILT_HEADER  CHANGING P_LR_CONTENT.

 

DATA: LR_GRID   TYPE REF TO CL_SALV_FORM_LAYOUT_GRID,

            LR_GRID_1 TYPE REF TO CL_SALV_FORM_LAYOUT_GRID,

            LR_LABEL  TYPE REF TO CL_SALV_FORM_LABEL,

            LR_TEXT   TYPE REF TO CL_SALV_FORM_TEXT,

            L_TEXT    TYPE STRING.

 

DATA : L_SMONTH TYPE T247-KTX,

             L_EMONTH TYPE T247-KTX.

 

DATA : LV_TEXT TYPE STRING.

 

    CREATE OBJECT LR_GRID.

          CONCATENATE ' HEADER TEXT HERE '

                                   ' header text'

                           INTO L_TEXT.

 

   LR_GRID->CREATE_HEADER_INFORMATION(

     ROW    = 1

     COLUMN = 1

     TEXT    = L_TEXT

     TOOLTIP = L_TEXT ).

 

   LR_GRID->ADD_ROW( ).

   LR_GRID_1 = LR_GRID->CREATE_GRID(

                 ROW    = 2

                 COLUMN = 1 ).

 

   LR_LABEL = LR_GRID_1->CREATE_LABEL(

     ROW     = 1

     COLUMN  = 1

     TEXT    = 'HEADING 2 '

     TOOLTIP = 'HEADING 2' ).

   LR_LABEL->SET_LABEL_FOR( LR_TEXT ).

 

   LR_LABEL = LR_GRID_1->CREATE_LABEL(

     ROW    = 3

     COLUMN = 1

     TEXT    = LV_TEXT

     TOOLTIP = LV_TEXT ).

   LR_LABEL->SET_LABEL_FOR( LR_TEXT ).

 

   P_LR_CONTENT = LR_GRID.

ENDFORM.                    " BUILT_HEADER


3. Then Display ALV


Regards,

Vijay


Viewing all articles
Browse latest Browse all 8545

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>