Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Refresh problem in ALV OOPS

suresh_kumar53
Participant
0 Kudos

Hi all,

I have 3 alv screens which is developed with oops in that 2nd is the result of 1st and 3rd is the result of 2nd. First time output is coming perfectly as required. But if I come back from 2nd to 1st screen and did some changes then if execute second screen changes are not reflecting to that screen (internal tables are perfectly updating). In the 2nd screen if I click on standard refresh button the output is coming perfectly. Same thing happens to 3rd screen also.

I wrote code like this.

If grid not initial.

Create object containeru2026u2026u2026u2026..

Create object gridu2026u2026u2026..

Grid-> set_table_for_first_displayu2026u2026u2026u2026.

Else.

Grid->refresh_table_display.

Endif.

For grid I used methods for event TOOLBAR USER_COMMAN only.

Suggest me what I need to do this.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

first you need to pass the i_save = 'X'

second, in data changed (or calling data changed from user command event) you need to modify the table. then call screen 2, similarly for 3

4 REPLIES 4

Former Member
0 Kudos

first you need to pass the i_save = 'X'

second, in data changed (or calling data changed from user command event) you need to modify the table. then call screen 2, similarly for 3

0 Kudos

Yes Soumyaprakah, It works fine for the next screen.

If I click on temp save in 3rd screen and the come to second screen then 2nd screen should overwrite with 3rd. My internal tables are populated perfiectly but not refreshing the 2nd screen with 3rd. I wrote the code in USER_COMMAND that when TSAVE ITAB_2NDSCREEN = ITAB_3RDSCREEN.

Pls suggest me on this.

0 Kudos

keep a debugger on PBO modules of each screen and check the internal tables..

former_member1330258
Participant
0 Kudos
If grid not initial.
Create object containeru2026u2026u2026u2026..
Create object gridu2026u2026u2026..
Grid-> set_table_for_first_displayu2026u2026u2026u2026.
Else.
Grid->refresh_table_display.
Endif.

I think your problem is in

If grid not initial.

because your grid is not initial and your program wasn't able to pass these lines. Therefore, even if your internal tables are updated your grid or container are not updated by the program.