Приветствую, коллеги!
на экране поле сумма(вызвано из кода go_...->mv_summ) и контейнер с гридом. на гриде в каждой строчке флаг и поле с циферками, пользователь ставит флаг и циферка из поля с циферкой должна накапливаться в поле сумма на экране(чем больше флагов проставили, тем больше накопилось).
по нажатию флага в классе контроллера отрабатывает событие on_data_changed, собственно так флаг и проставляется.
Поле не обновляется
думал, что поможет DYNP_VALUES_UPDATE , но не помог.
Code:
DATA:
ls_outtab TYPE zhr_s_plan_pay_alv
, ls_dynpfields TYPE dynpread
, lt_dynpfields TYPE TABLE OF dynpread INITIAL SIZE 0
, lc_fieldname TYPE dynpread-fieldname VALUE 'GO_PAY_WORKER->MV_SUMM'
.
ls_dynpfields-fieldname = lc_fieldname.
ls_dynpfields-stepl = sy-index.
ls_dynpfields-fieldvalue = mv_summ.
APPEND ls_dynpfields TO lt_dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = lt_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.