У меня есть требование от клиента, которое включает в себя представление информации в транзакции VA42 (контракты), которая сохраняется в нескольких настраиваемых таблицах. Данные недоступны через структуру добавления на VBAK, и я не могу внести это изменение самостоятельно.
Я зарегистрировал экран 8309
и начал добавлять на него свои поля. Таким образом, я создал модуль PBO
, чтобы иметь место для сопоставления данных с полями на экране. Я установил точку останова в модуле, он запускается, и данные, которые я хочу представить, извлекаются. Я пока ничего не сделал, хотя не записывал это в поле программы выхода пользователя.
Что я пробовал:
- Я присвоил полям «идентификатор параметра», чтобы можно было использовать
GET
иSET PARAMETER ID
. Это не работает, поля остаются пустыми после использования этого оператора.
http://hastebin.com/qinerexola.sql
- Я дал полям обычное имя вместо того, чтобы называть поле в структуре / имени, и попытался с помощью
DYNP_VALUES_UPDATE
сопоставить данные с предоставленным полем. Sy-subrc возвращает 0, но поле не обновляется.
http://hastebin.com/anakirikah.sql
- Я дал полям имя (структура) - (поле) и попытался использовать указанный выше функциональный модуль. Это тоже не сработало.
- Я зациклился на
screen
и увидел имя моего поля, но эта структура не имеет информации о его значении или, по крайней мере, о том, что я могу видеть.
У меня нет возможности добавлять поля в VBAK, можно ли заполнить поля расширенных экранов пользовательскими данными из таблиц клиентов?
FIELD contract-req_ref.
(илиFIELD ZSD_VA_ADD_FIELDS-REF_REGEX.
, в зависимости от того, что в вашем случае) перед вызовом модуля? Это вводит значение поля в область видимости, чтобы вы могли читать и писать в него внутри модуля. - person gkubed   schedule 23.11.2016SET PARAMETER
, так иDYNP_VALUES_UPDATE
, но ничего не вышло. - person user7199471   schedule 24.11.2016