Здравствуйте!
В соответствии с You are not allowed to view links.
Register or
Login написал вот такой код:
FORM modification.
DATA: tmp TYPE i,
wa TYPE zvsz0002,
t_index TYPE sytabix,
e_index TYPE sytabix.
LOOP AT total.
IF <action> EQ neuer_eintrag OR
<action> EQ aendern.
t_index = sy-tabix.
MOVE-CORRESPONDING total TO wa.
IF wa-szkls IS INITIAL.
READ TABLE extract WITH KEY <vim_xtotal_key>.
IF sy-subrc IS INITIAL.
e_index = sy-tabix.
ELSE.
CLEAR e_index.
ENDIF.
CASE wa-szkod.
" тут осуществляется модификация данных
ENDCASE.
CHECK t_index GT 0.
CHECK e_index GT 0.
total = wa.
MODIFY total INDEX t_index.
extract = wa.
MODIFY extract INDEX e_index.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR sy-subrc.
ENDFORM. " MODIFICATION
Соответственно, вношу изменения в таблицы "extract" и "total".
После нажатия на кнопку "Сохранить" выводится сообщение об успешном сохранении данных, но по факту изменения в таблицу не вносятся и при перезапуске транзакции ракурса ведения новые строчки не отображаются, а модифицированные выводятся со старыми значениями. При тестировании выяснил, что если внести изменения в ещё какое-нибудь поле, то запись сохраняется. Видимо взводится какой-то флаг на сохранение данных. (например, попробовал использовать "UPDATE_FLAG" но безрезультатно)
Подскажите, пожалуйста, что я делаю не так и почему не сохраняются данные?..