Skip to Content
0
Former Member
May 15, 2008 at 02:53 PM

Outputing ALV display on Dynpro

66 Views

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.