Здрасвуйте.
Вот не получается понять как работает er_data_changed->mt_good_cells.
Code:
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
.....................
METHODS:
handle_data_changed
for event data_changed of cl_gui_alv_grid
importing er_data_changed.
METHODS:
perform_semantic_checks
importing
er_data_changed type ref to cl_alv_changed_data_protocol.
.............
ENDCLASS.
................................
method handle_data_changed.
* проверка введенных фрахтователей
call method perform_semantic_checks( er_data_changed ).
DATA: ls_good TYPE lvc_s_modi.
LOOP AT er_data_changed->mt_good_cells INTO ls_good.
..........
endloop.
endmethod.
method perform_semantic_checks.
data: ls_good type lvc_s_modi
.
loop at er_data_changed->mt_good_cells into ls_good.
........................
endloop.
Вот в GUI статусе программы создал кнопку "Сохранить".
Вот изменяю значение в ячейке и нажимаю на кнопку или двойтой клик по ALV.
Code:
WHEN '&SAVE'.
call method g_grid->check_changed_data
importing e_valid = l_valid.
Все loop с er_data_changed->mt_good_cells into.. проскакивают.
Возможно дело в том что в отладчику внутр таблица остается не измненная. Пробую сделать refrech АЛВ возвращает в первоначальное значение.