Hi Here is the code:
REPORT ZTWEAKED_APPRAISAL_MIGRATION." MESSAGE-ID ZMSG_HR_APPRAISAL.
INCLUDE ZTWKHR_APPSAL_MIGRATION_TOP_V3.
INCLUDE ZTWKHR_APPSAL_MIGRATION_MTD_V3.
INCLUDE ZTWKHR_APPSAL_MIGRATION_SCR_V3.
TABLES:ICON,SSCRFIELDS.
START-OF-SELECTION.
SET HANDLER: o_handler->handle_novalue FOR ALL INSTANCES,
o_handler->handle_exist FOR ALL INSTANCES,
o_handler->handle_noselection FOR ALL INSTANCES,
o_handler->handle_noreference FOR ALL INSTANCES.
CALL METHOD: o_upload->get_appraisal_type( lv_rb1 = rb_1
lv_rb2 = rb_2
lv_rb3 = rb_3
lv_rb4 = rb_4
lv_rb5 = rb_5 ).
CALL METHOD: o_upload->get_data_from_file( gv_path = p_fup ). "asc(add gv_path)
IF it_item[] IS INITIAL.
CALL METHOD o_upload->raise_novalue.
ENDIF.
CALL METHOD: o_upload->get_itab_from_excel. " process data
CALL METHOD: o_upload->display_logs.
"ASC *****************************************
CALL SCREEN 100.
END-OF-SELECTION.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'XXX'.
ENDMODULE. " STATUS_0100 OUTPUT
MODULE LIST OUTPUT.
DATA: R_CONTAINER TYPE REF TO cl_gui_custom_container,
R_GRID TYPE REF TO cl_gui_alv_grid.
DATA: gv_success_log TYPE c,
gv_error_log TYPE c.
DATA: it_report_error_log TYPE TABLE OF ZERRORLOGS,
it_report_success_log TYPE TABLE OF ZERRORLOGS,
it_report_log TYPE TABLE OF ZERRORLOGS,
wa_report_log TYPE ZERRORLOGS.
*TYPES: BEGIN OF typ_report_log,
* counter TYPE zreport_log-counter,
* choic TYPE choic,
* pernr TYPE pernr_d,
* type TYPE BAPI_MTYPE,
* Message TYPE BAPI_MSG,
* startdate TYPE pa0001-begda,
* enddate TYPE pa0001-endda,
* recordrow TYPE zreport_log-counter,
* END OF typ_report_log.
*DATA: it_report_log TYPE STANDARD TABLE OF typ_report_log,
* it_report_error_log TYPE STANDARD TABLE OF typ_report_log,
* it_report_success_log TYPE STANDARD TABLE OF typ_report_log,
* wa_report_log TYPE typ_report_log.
* wa_report_log-zrow = '0001'.
* wa_report_log-zmessage = 'asdasda'.
* wa_report_log-zstatus = 'E'.
* wa_report_log-zchangedby = 'ascalica'.
* wa_report_log-zchangeddate = '01/01/2013'.
* APPEND wa_report_log TO it_report_log.
* APPEND wa_report_log TO it_report_error_log.
IF r_container IS INITIAL.
CREATE OBJECT r_container
EXPORTING
container_name = 'CONTAINER'.
CREATE OBJECT r_grid
EXPORTING
i_parent = r_container.
IF gv_error_log = 'X'.
CALL METHOD r_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZERRORLOGS'
* is_layout = is_layout
CHANGING
it_outtab = it_report_error_log.
ELSEIF gv_success_log = 'X'.
CALL METHOD r_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZERRORLOGS'
* is_layout = is_layout
CHANGING
it_outtab = it_report_success_log.
ELSE.
CALL METHOD r_grid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZERRORLOGS'
* is_layout = is_layout
CHANGING
it_outtab = it_report_log.
ENDIF.
ENDIF.
ENDMODULE. " LIST OUTPUT
MODULE USER_COMMAND_0100 INPUT.
CASE sy-ucomm.
WHEN 'BCK'.
LEAVE TO TRANSACTION 'ZTWEAKED_APPRAISAL'.
WHEN 'ERRORLOG'.
gv_error_log = 'X'.
CALL METHOD r_grid->free( ).
FREE r_grid.
CALL METHOD r_container->free( ).
FREE r_container.
CALL SCREEN 100.
WHEN 'SUCCESSLOG'.
gv_success_log = 'X'.
CALL METHOD r_grid->free( ).
FREE r_grid.
CALL METHOD r_container->free( ).
FREE r_container.
CALL SCREEN 100.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT