Добрый день! Пожалуйста, помогите разобраться.
Делал ALV-отчет через SALV, обнаружил, что, к сожалению, не так просто открыть поля на редактирование в отчете...
Нашел в гугле, как можно сделать, вызвав метод get_grid() и, как бы получить стандартную ALV-ху.
Вот код:
Code:
METHOD set_edit_mode.
DATA lo_alv TYPE REF TO cl_gui_alv_grid.
DATA lt_fcat TYPE lvc_t_fcat.
DATA ls_fcat TYPE lvc_s_fcat.
FIELD-SYMBOLS <fs_fcat> LIKE LINE OF lt_fcat.
lo_alv ?= lcl_salv_model=>get_grid( go_alv ).
CHECK lo_alv IS BOUND.
lo_alv->get_frontend_fieldcatalog( IMPORTING et_fieldcatalog = lt_fcat ).
LOOP AT lt_fcat ASSIGNING <fs_fcat> WHERE fieldname = 'main_data' OR fieldname = 'older'
OR fieldname = 'type_s''.
<fs_fcat>-edit = id_edit.
ENDLOOP.
lo_alv->set_frontend_fieldcatalog( EXPORTING it_fieldcatalog = lt_fcat ).
IF id_edit = abap_true.
lo_alv->set_ready_for_input( 1 ).
ELSE.
lo_alv->set_ready_for_input( 0 ).
ENDIF.
ENDMETHOD. "set_edit_mode
Если устанавливаю edit 'true', то поля открываются на редактирование.
Все заработало, ввожу данные в табличку, закинул на форму кнопку, чтобы провалиться в отладчик, а введенные данные во внутреннюю таблицу не приходят! Ничего не пришло, просто пустота.
Что делать? Подскажите, плиз, по-моему в стандартной AlV-хе все сразу сохраняется, что ввели.
Я junior, помогите, пожалуйста.