2007 Jan 16 1:29 AM
I have request is to create a dialog transaction using SAP GUI Controls. The internal table is passed to the GUI Control which is on the next screen. The user should be able to changerows, adding rows, delete rows & display the values in the gui control, and changes get updated in database table, can any one let me know which classes / methods are used to accomplish this task.
Thanks for your help.
Nag
I have request is to create a dialog transaction using SAP GUI Controls. The internal table is passed to the GUI Control which is on the next screen. The user should be able to changerows, adding rows, delete rows & display the values in the gui control, and changes get updated in database table, can any one let me know which classes / methods are used to accomplish this task.
Thanks for your help.
Nag
2007 Jan 16 1:43 AM
Check these programs
demo_dynpro_tabcont_loop
demo_dynpro_tabcont_loop_at
for basic idea on how to display the data from the internal table.
For deleting the rows check this program
RSDEMO_TABLE_CONTROL
basically what u need to do is to place table contorl on ur custom screen.where in u can display all the data. for changing , deleting, adding, etc... u need to handle them in the user_command of that screen flow logic.
Regards
Gopi
2007 Jan 16 6:29 AM
Thank u gopi for your response.
Without using the Table Control, can the display of all the data. for changing , deleting, adding, etc... can be accomplished on the ALV Grid ?
2007 Jan 16 1:44 AM
2007 Jan 16 7:46 AM
Dear Rich Heilman,
Appreciate your response, these programs should help me.
Thanks and best regards,
Nag
2007 Jan 16 11:57 PM
i have a question, i was checking the program BCALV_EDIT_01, this program has capabilities of editing like change/display, adding rows , changing rows, deleting etc....., once user makes any changes to the rows and press 'BACK' button, in which class/method these changes are stored, so that i can compare the original values with the changed values.
Thanks for your help.
best regards,
Nagabushan
2007 Jan 16 2:49 AM
HI,
Its easy to use a table control for your requirement.
Please check the examples of table control.
Regards
Subramanian
2007 Jan 17 6:04 AM
have a question, i was checking the program BCALV_EDIT_01, this program has capabilities of editing like change/display, adding rows , changing rows, deleting etc....., once user makes any changes to the rows and press 'BACK' button, in which class/method these changes are stored, so that i can compare the original values with the changed values.
Thanks for your help.
best regards,
Nag
2007 Jan 17 6:11 AM
there is no method or class as such to store the changes.
what happens is the internal table will be updated and the ALV grid is being displayed with the changed data. which means only the values in teh internal table are updated.
Regards
Gopi
2007 Jan 17 8:29 AM
Hello Nag
When the user makes changes of an editable ALV list (e.g. modifying cell values, adding/deleting rows) this happens at the <b>frontend (= grid control).</b> The <b>backend (= your ABAP report)</b> does not take notice of the changes. In order to "transport" the changes from the frontend to the backend (i.e. the itab used for the ALV list) you have to call method go_grid-><b>CHECK_CHANGED_DATA</b>. If the ALV list has been changed this method will raise event <b>DATA_CHANGED</b>. You can handle this event using an event handler method.
After this method call the itab in your ABAP report will reflect the changed data displayed on the ALV list.
If you want to know what the user has changed have a look at the attributes of the "data change object" <b>ER_DATA_CHANGED</b> (class CL_ALV_CHANGED_DATA_PROTOCOL) in the interface of event DATA_CHANGED, e.g.:
- MT_MOD_CELLS (table of modified cells)
- MT_MOD_ROWS (table of modified rows)
- MT_DELETED_ROWS
- MT_INSERTED_ROWS
Regards
Uwe
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |