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