Hi,
Few points to confirm.
1. Probably the output table is not cleared after each display. There must be some condition in your program like,
if it_data is initial.
fetch data.
endif.
If, so remove that condition.
If still not working at start of selection, after the user inputs data, before fetching data from database,
start of selection.
clear it_data.
select .....
2. The call for ALV display should be something like this.
if CONT1 is initial.
create object cont1 exporting container_name = 'CONT1'.
create object grid1 exporting i_parent = CONT1.
call method grid1->set_table_for_first_display
exporting
i_structure_name = 'itab'
is_layout = s_layo
changing
it_outtab = it_data
it_fieldcatalog = it_fieldcat.
else.
call method grid1->refresh_table_display.
endif.
3. In the PAI, use this code to return to initial screen.
MODULE user_command.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE to screen 0.