Hello friends,
Can someone give me a clue on what I doing wrong?
Problem:
I have developed a dypro with three Buttons.
Button 1: To display table content 1 in ALV
Button 2: To display table content 2 in ALv
Button 3: To display table content 3 in ALV
At user command for Button 1, table content is displayed as desired
Problem:
At user command for Button 2, table content of 1 is displayed instead of table content 2.
How can I solve this problem? Please see part of my code:
PROCESS BEFORE OUTPUT.
MODULE STATUS_2000.
MODULE INIT_2000.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_2000.
MODULE EXIT AT EXIT-COMMAND.
MODULE USER_COMMAND_2000 INPUT.
DATA: LV_STRUCTUER_NAME TYPE DD02L-TABNAME.
DATA: LV_TITLE_TEXT TYPE STRING.
IF SY-DYNNR = '2000'.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'ORDERS'.
CLEAR: LV_STRUCTUER_NAME, LV_TITLE_TEXT.
LV_TITLE_TEXT = XXXXXXXX.
LV_STRUCTUER_NAME = XXXXXXXX.
PERFORM DISPLAY_ALV USING LV_STRUCTUER_NAME
LV_TITLE_TEXT
CHANGING GT_DELIVERY.
WHEN 'T_ORDERS'.
CLEAR: LV_STRUCTUER_NAME, LV_TITLE_TEXT.
LV_TITLE_TEXT = XXXXXXXXXX.
LV_STRUCTUER_NAME = 'LTAK'.
PERFORM DISPLAY_ALV USING LV_STRUCTUER_NAME
LV_TITLE_TEXT
CHANGING GT_LTAK.
ENDCASE.
ENDIF.
ENDMODULE. " USER_COMMAND_2000 INPUT
FORM DISPLAY_ALV USING LV_STRUCTUER_NAME
LV_TITLE_TEXT
CHANGING P_GT.
DATA START_DATE(10) TYPE C.
DATA END_DATE(10) TYPE C.
DATA LV_TITLE TYPE LVC_TITLE.
WRITE P_DODATE-LOW TO START_DATE DD/MM/YYYY.
WRITE P_DODATE-HIGH TO END_DATE DD/MM/YYYY.
CONCATENATE LV_TITLE_TEXT
START_DATE 'to' END_DATE INTO LV_TITLE SEPARATED BY SPACE.
DATA: GRID TYPE REF TO CL_GUI_ALV_GRID
,G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER
.
TRY.
CLEAR: GRID, OBJ_ZSD_DISTR_METRICS.
IF G_CUSTOM_CONTAINER IS INITIAL.
CREATE OBJECT G_CUSTOM_CONTAINER
EXPORTING
CONTAINER_NAME = 'CONTAINER'
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
OTHERS = 6.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT GRID
EXPORTING
I_PARENT = G_CUSTOM_CONTAINER
I_APPL_EVENTS = SPACE
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
I_FCAT_COMPLETE = SPACE
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
OTHERS = 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
CATCH CX_ROOT.
CLEANUP.
ENDTRY.
IF SY-SUBRC EQ 0.
TRY.
CALL METHOD GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = LV_STRUCTUER_NAME
CHANGING
IT_OUTTAB = P_GT
IT_FIELDCATALOG =
IT_SORT =
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD GRID->SET_GRIDTITLE
EXPORTING
I_GRIDTITLE = LV_TITLE.
CALL SELECTION-SCREEN 3000.
CATCH CX_ROOT.
CLEANUP.
ENDTRY.
ENDIF.
ENDFORM. " DISPLAY_ALV
Screen 3000 (All ALV should be displyed here)
Container is properly named
PROCESS BEFORE OUTPUT.
MODULE STATUS_3000.
*
PROCESS AFTER INPUT.
MODULE EXIT_3000.