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: 

Need to display remaining row ( or multiple rows ) after first processig of ALV.

Former Member
0 Kudos

Following is the logic that need to be implemented.

In ALV there are 10 rows, first column is checkbox, user selected any 3 records And click the button for further processing . User command is triggered , then the messages are displayed as failure or success after processing of selected rows. Now ALV should get refresh and should display remaining 7 rows again for selection and process . I am using SALV classes for ALV display (Cl_SALV class).

5 REPLIES 5

JL23
Active Contributor
0 Kudos

Wrong primary and secondary tag - I removed them

SAP Forum and SAP Select are SAP events, like TechEd is a SAP Event, using this tag people can talk about this event. Your question is not related to this event.

Please use tags that reflects your working area. Kindly post with the most relevant primary tag to get the attention of the right experts who can help. Posting with wrong tags adds just garbage to the activity stream of the people who follow this tag. Without the proper tag, the right people will not see your question and those that do see are not likely be able to provide a solution.

You can find the list of primary tags here: http://sapassets.edgesuite.net/tools/SAP-Community-Tags.xlsx

former_member235395
Contributor
0 Kudos

Hi Bhupesh,

I think, you have many options for handle ALV processing. It depends that what do you need to do with rows processed. Maby, you can lock(display check column processed rows locked) or hide rows processed. If you prefer hide rows processed and those rows not are important, you can delete those rows processed of your table or add new field where you can handle a status field, for rows processed, you can checked rows too and before do REFRESH ALV, you can delete records based on STATUS FIELD.

Remember... ALV only is a container of Internal Table.

Regards,

0 Kudos

Hi David,

Can you elaborate please,

Actually, I am displaying ALV using module pool program (Online)program. On first screen (screen 9000) user provides some parameter and based on it the list is displayed on second screen (screen 9001). Once user selects the 3 entries (using check boxes for selection) out of 10, these rows gets deleted from custom table and popup message is displayed for successful rows deletion.

Once this is done user wants that the ALV should now display remaining 7 rows to be available for selection and to do the further processing. I have had tried refreshing ALV in PAI but it didn't work.

Also, if possible please explain along with the sample program OR piece of code with event.

Thank you .

Former Member
0 Kudos

Hi Shubhamoy,

Thank you for your reply,

But I don't want to hide any column. For more understanding please see below description of my question ;

I am displaying ALV using module pool program (Online)program. On first screen (screen 9000) user provides some parameter and based on it the list is displayed on second screen (screen 9001). Once user selects the 3 (rows) entries (using check boxes for selection) out of 10 rows, these rows gets deleted from custom table and popup message is displayed for successful rows deletion.

Once this is done user wants that the ALV should now display remaining 7 rows to be available for selection and to do the further processing without repeating the process of providing parameters on first screen .

I have had tried refreshing ALV in PAI but it didn't work.

Also, if possible please explain along with the sample program OR piece of code with event.

Thank you .

Former Member
0 Kudos

Hi Bhupesh,

Got your point. Please try this one below, if still it persists, I will try to make a custom program and test this and then revert.

As per my knowledge, when the deletion is done in the custom table, after that, you have to re-select the entries from the database each time because, the internal table that is used for ALV display is not refreshed after that deletion.

So, the easy solution would be, after successful deletion , you mark those records in the internal table, and then delete those marked records and go for ALV re-display.

So, the first iteration of ALV display, the check you are going to make for the marker you set would turn to be FALSE. hence, you get 10 rows in ALV.

Then, you perform delete and mark those records, based on that deletion indicator,you futher delete the already processed records in internal table and go for ALV display.

Thanks !!