Skip to Content
0
Former Member
Dec 02, 2011 at 08:38 PM

How to refresh the result of an ALV

1030 Views

Hello,

I'm try to use an ALV Grid and I want to refresh the data with a request. It work the first time but not the others. This is my code :

REPORT  ZRAP_TRANS.
DATA it_lgu_log_hre TYPE TABLE OF ZLGU_LOG_HRE.

DATA: R_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
      R_GRID TYPE REF TO CL_GUI_ALV_GRID.

DATA: r_cont_date_beg TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
      r_calendar_date_beg TYPE REF TO CL_GUI_CALENDAR.

DATA: date_beg LIKE sy-datum,
      date_end LIKE sy-datum,
      hour_beg LIKE sy-timlo,
      hour_end LIKE sy-timlo.

date_beg = sy-datum.
date_end = sy-datum.
hour_beg = 28800.
hour_end = 61200.

SELECT * FROM ZLGU_LOG_HRE INTO TABLE it_lgu_log_hre.

MODULE POPULATE_LIST OUTPUT.
  CREATE OBJECT r_container
    EXPORTING
      CONTAINER_NAME = 'CONT_TRANSACTIONS'.

  CREATE OBJECT r_grid
    EXPORTING
      I_PARENT = r_container.


  CALL METHOD r_grid->set_table_for_first_display
    EXPORTING
      i_structure_name = 'ZTRANS'
    CHANGING
      it_outtab        = it_lgu_log_hre.
ENDMODULE. 

MODULE USER_COMMAND_9000 INPUT.
  CASE SY-UCOMM.
    WHEN 'SEARCH' OR 'PICK'.
      r_container->set_visible( visible = 'TRUE' ).
      SELECT * FROM ZLGU_LOG_HRE INTO TABLE it_lgu_log_hre WHERE AEDTM >= date_beg AND AEDTM <= date_end.
      r_grid->refresh_table_display( ).
    WHEN 'BACK'.
      SET SCREEN 0.
  ENDCASE.
ENDMODULE.

When I arrive in my Dynpro I see all my table. When I search the first time I view the correct result and when I search a second time, with diffrent data, I have the result of the first search.

Do you have an idea?

Thanks a lot.