Skip to Content
Jun 18, 2021 at 12:35 PM

CL_SALV_TABLE - refresh sometimes does nothing

312 Views Last edit Jun 18, 2021 at 12:53 PM 2 rev

I wrote about this already 12 years ago (!) - - no solution so far.

I have a very strange issue with CL_SALV_TABLE regarding the refresh of a table. Since my program is very big (~100 classes) I can not paste the coding here. I will try to describe the issue with screen shots

My SALV is this table on the screen. Now, I delete the line we see and do a refresh afterwards

The delete( ) deletes the row from the database using a BAPI call. It then reloads the data in the model.

Now I step into the refresh( ) method

init_alv( ) does nothing, because the ALV object is already instantiated.

Now I step into get_data( ).

time_confirmations is the output table of my ALV. As we can see, it now is empty.

Now let's go on to the refresh:

I do a display - but also a refresh causes the same problem. Pressing F8, the table is NOT refreshed:

However, if I do a simple sort operation:

Voilà - the table is refreshed!

Now the same class has also a function (the "all confs" button), that does something very similar:

This call sets up a filtering in the model, so a different set of lines will be passed during refresh. Surprisingly, this call works perfect...

It's making me mad. I can not deliver my program like this, and I have no idea about a workaround.

Any help is welcome.