Hi Anshika,
In your ALV you were passing the "TOP_OF_PAGE" to parameter "i_callback_html_top_of_page", where it has to be passed to "i_callback_top_of_page" parameter.
Than pass the same value (i.e. TOP_OF_PAGE) to the all the FM parameter "i_callback_top_of_page".
Check the below modified code.
TYPE-POOLS: slis .
TABLES : kna1 .
TYPES : BEGIN OF ty_kna1 ,
kunnr TYPE kna1-kunnr ,
name1 TYPE kna1-name1 ,
land1 TYPE kna1-land1 ,
END OF ty_kna1 .
TYPES : BEGIN OF ty_vbak ,
vbeln TYPE vbak-vbeln ,
erdat TYPE vbak-erdat ,
netwr TYPE vbak-netwr ,
END OF ty_vbak .
TYPES : BEGIN OF ty_vbap ,
posnr TYPE vbap-posnr ,
arktx TYPE vbap-arktx ,
werks TYPE vbap-werks ,
END OF ty_vbap .
DATA : x TYPE i .
DATA : t_kna1 TYPE STANDARD TABLE OF ty_kna1 INITIAL SIZE 1 ,
t_vbak TYPE STANDARD TABLE OF ty_vbak INITIAL SIZE 1 ,
t_vbap TYPE STANDARD TABLE OF ty_vbap INITIAL SIZE 1 .
DATA : w_kna1 TYPE ty_kna1 ,
w_vbak TYPE ty_vbak ,
w_vbap TYPE ty_vbap .
DATA : w_fcat TYPE slis_fieldcat_alv .
DATA : t_fcat TYPE slis_t_fieldcat_alv .
DATA : t_fcat1 TYPE slis_t_fieldcat_alv .
DATA : t_fcat2 TYPE slis_t_fieldcat_alv .
DATA : w_comments TYPE slis_listheader .
DATA: t_comments TYPE slis_t_listheader .
DATA : w_events TYPE slis_alv_event .
DATA : t_events TYPE slis_t_event .
DATA : w_events1 TYPE slis_alv_event .
DATA : t_events1 TYPE slis_t_event .
DATA : w_events2 TYPE slis_alv_event .
DATA : t_events2 TYPE slis_t_event .
DATA : v_prog TYPE sy-repid .
v_prog = sy-repid .
SELECT-OPTIONS : s_kunnr FOR kna1-kunnr .
w_fcat-col_pos = 1 .
w_fcat-fieldname = 'KUNNR '.
w_fcat-seltext_m = 'CUST NO'.
APPEND w_fcat TO t_fcat .
w_fcat-col_pos = 2 .
w_fcat-fieldname = 'NAME1 '.
w_fcat-seltext_m = 'CUST NAME'.
APPEND w_fcat TO t_fcat .
w_fcat-col_pos = 3 .
w_fcat-fieldname = 'LAND1 '.
w_fcat-seltext_m = 'CUST COUNTRY'.
APPEND w_fcat TO t_fcat .
w_fcat-col_pos = 1.
w_fcat-fieldname = 'VBELN '.
w_fcat-seltext_m = 'ORDER NO'.
APPEND w_fcat TO t_fcat1 .
w_fcat-col_pos = 2 .
w_fcat-fieldname = 'ERDAT '.
w_fcat-seltext_m = 'ORDER DATA'.
APPEND w_fcat TO t_fcat1 .
w_fcat-col_pos = 3.
w_fcat-fieldname = 'NETWR '.
w_fcat-seltext_m = 'NET VALUE'.
APPEND w_fcat TO t_fcat1 .
w_fcat-col_pos = 1.
w_fcat-fieldname = 'POSNR '.
w_fcat-seltext_m = 'SALES ITEM '.
APPEND w_fcat TO t_fcat2 .
w_fcat-col_pos = 2.
w_fcat-fieldname = 'ARKTX '.
w_fcat-seltext_m = 'SALES DESC'.
APPEND w_fcat TO t_fcat2 .
w_fcat-col_pos = 3.
w_fcat-fieldname = 'WERKS '.
w_fcat-seltext_m = 'PLANT'.
APPEND w_fcat TO t_fcat2 .
w_comments-typ ='H'.
w_comments-info ='CUSTOMER DATA'.
APPEND w_comments TO t_comments .
w_comments-typ ='S'.
w_comments-key ='CUST NO'.
w_comments-info ='0000001000'.
APPEND w_comments TO t_comments .
*W_EVENTS-NAME ='TOP_OF_PAGE'.
*W_EVENTS-FORM ='SUB'.
*APPEND W_EVENTS2 TO T_EVENTS2 .
w_events-name = 'USER_COMMAND'.
w_events-form = 'SUB1'.
APPEND w_events TO t_events .
w_events1-name = 'USER_COMMAND'.
w_events1-form = 'SUB2'.
APPEND w_events1 TO t_events1 .
DATA: ls_line TYPE slis_listheader,
it_top_of_page TYPE slis_t_listheader.
ls_line-typ = 'H'.
ls_line-info = 'Customer Detail'.
APPEND ls_line TO it_top_of_page.
CLEAR ls_line.
SELECT kunnr
name1
land1 FROM kna1 INTO TABLE t_kna1
WHERE kunnr IN s_kunnr .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = v_prog
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = 'TOP_OF_PAGE'
* i_callback_html_top_of_page = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT =
it_fieldcat = t_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
it_events = t_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
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = t_kna1
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
*FORM SUB .
*CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
* EXPORTING
* IT_LIST_COMMENTARY = T_COMMENTS
** I_LOGO =
** I_END_OF_LIST_GRID =
** I_ALV_FORM =
* .
*ENDFORM .
************************************************************************
* FIRST DETAILED LIST *
************************************************************************
FORM sub1 USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield .
*IF FNAME = 'KNA1-KUNNR' .
SELECT vbeln
erdat
netwr FROM vbak INTO TABLE t_vbak
WHERE kunnr = rs_selfield-value .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = v_prog
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = '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 =
it_fieldcat = t_fcat1
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
it_events = t_events1
* 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
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = t_vbak
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
ENDFORM . "SUB1
*&---------------------------------------------------------------------*
*& Form SUB2
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->R_UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM sub2 USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
SELECT posnr
arktx
werks FROM vbap INTO TABLE t_vbap
WHERE vbeln = rs_selfield-value .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = '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 =
it_fieldcat = t_fcat2
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
it_events = t_events1
* 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
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = t_vbap
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
ENDFORM . "SUB2
*&---------------------------------------------------------------------*
*& Form top_of_page
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_top_of_page
i_logo = ''.
ENDFORM. "top_of_page
Regards
Abhishe