Всем добрый день проблема следующего рода: есть внешняя таблица выведенная через ALV с возможностью редактирования нескольких полей, все работает ровно до момента перезаписи, а точнее данные при редактировании сохраняются в таблицу er_data_changed->mt_mod_cells, потом по индексу строк выводятся в отдельную таблицу типа внешней строки которые должны быть отредактированны но со старым значением READ TABLE gt_zlvtab_firms INTO gs_zlvtab_firms INDEX ls_mod_cells-row_id. Вопрос??? КАК перезаписать данные из одной таблицы в другую, чтио бы отредактированные данные сохранились во внешнюю таблицу??? FORM handle_data_changed USING er_data_changed TYPE REF TO cl_alv_changed_data_protocol e_onf4 TYPE char01 e_onf4_before TYPE char01 e_onf4_after TYPE char01 e_ucomm TYPE sy-ucomm.
DATA: lt_mod_cells TYPE lvc_t_modi, ls_mod_cells TYPE lvc_s_modi, l_edit_row_num TYPE i, l_row_was_edited TYPE c.
LOOP AT er_data_changed->mt_mod_cells INTO ls_mod_cells. READ TABLE gt_zlvtab_firms INTO gs_zlvtab_firms INDEX ls_mod_cells-row_id. IF sy-subrc EQ 0. MOVE-CORRESPONDING gs_zlvtab_firms TO gs_modified. APPEND gs_modified TO gt_modified. ENDIF.
ENDLOOP.
MODIFY zlvtab_firms FROM TABLE gt_modified.
|
|