Hi I have used a screen painter to have buttons in my alv and Im new in using it. Can you help me because I'm having a dump .
Whenever I click on a button the dump appears.
I've put breakpoint in my Module LIST and it's not passing here it jumps automatically in the MODULE USER_COMMAND_0100 INPUT. The module List shoud run before clicking a button. Ive checked se 51 as well:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
Below is the Code:
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.
TYPES: BEGIN OF typ_logs,
ZROW TYPE ZLOGS_UPLOAD_APPRAISAL-ZROW,
ZMESSAGE TYPE ZLOGS_UPLOAD_APPRAISAL-ZMESSAGE,
ZSTATUS TYPE ZLOGS_UPLOAD_APPRAISAL-ZSTATUS,
ZCHANGEDBY TYPE ZLOGS_UPLOAD_APPRAISAL-ZCHANGEDBY,
ZCHANGEDDATE TYPE ZLOGS_UPLOAD_APPRAISAL-ZCHANGEDDATE,
END OF typ_logs.
DATA: it_report_error_log TYPE TABLE OF typ_logs,
it_report_success_log TYPE TABLE OF typ_logs,
it_report_log TYPE TABLE OF typ_logs.
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 = 'ZREPORT_LOG'
* 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 = 'ZREPORT_LOG'
* 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 = 'ZREPORT_LOG'
* is_layout = is_layout
CHANGING
it_outtab = it_report_log.
ENDIF.
ENDMODULE. " LIST OUTPUT
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'ZSTATUS'.
SET TITLEBAR 'xxx'.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
MODULE USER_COMMAND_0100 INPUT.
CASE sy-ucomm.
WHEN 'BCK'.
LEAVE TO TRANSACTION 'ZTWEAKED_APPRAISAL_MIGRATION'.
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
DUMP ERROR:
Access via 'NULL' object reference not possible.
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_REF_IS_INITIAL', was not
caught and
therefore caused a runtime error.
The reason for the exception is:
You attempted to use a 'NULL' object reference (points to 'nothing')
access a component (variable: "R_GRID").
An object reference must point to an object (an instance of a class)
before it can be used to access components.
Either the reference was never set or it was set to 'NULL' using the
CLEAR statement.