Посмотрел, вроде как что-то сделал ...
Есть экранная таблица ST-ST.
Для нее есть ограничение ST_ST-LINES = 10.
Соответсвующая ей внутрення таблица TB_ST состоит из двух столбцов: ZZKST и ZZNST. Т.е. по выбору в SEARCHHELP значения ZZKST должно подставляться соотв. значение в ZZNST.
Оно подставляется, но почему-то делает это в последнюю строку моей экранной таблицы.
Вот мой код
экранная логика:
Code:
PROCESS ON VALUE-REQUEST.
field tb_st-zzkst module upd.
модуль upd
Code:
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'ZVST'
fieldname = 'ZZKST'
TABLES
RETURN_TAB = lt_return.
REFRESH DYNPFIELDS.
loop at lt_return.
concatenate 'TB_ST-' lt_return-fieldname into lt_return-fieldname.
MOVE lt_return-fieldname TO DYNPFIELDS-FIELDNAME.
MOVE lt_return-fieldval TO DYNPFIELDS-FIELDVALUE.
APPEND DYNPFIELDS.
endloop.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = sy-dynnr
TABLES
DYNPFIELDS = DYNPFIELDS.
могу предположить, что в DYNPFIELDS надо вместо поле TB_ST-ZZNST записывать TB_ST-ZZNST(NN). Но как определить этот NN?..