Как автоматически заполнить поле с помощью отношения внешнего ключа в SM30?

#foreign-keys #abap #sap-data-dictionary

Вопрос:

Извините, если мое название не имеет смысла, но мне было трудно его описать! У меня есть таблица Z в SAP TM:

Z таблица

С отношением внешнего ключа к стандартной таблице /SAPAPO/LOC

/САПАПО/LOC

Но я хочу иметь обслуживание SM30, в котором пользователь заполняет /SAPAPO/LOC-LOCNO поле (т. Е. Хранилище), а LOCID скрыт и заполняется автоматически. Возможно ли это? Вот мое мнение:

Вид

Но в SM30 депо закрывается после входа. Я думаю, что смогу заставить его работать, возясь с автоматически сгенерированным экраном, но я предпочел бы следовать стандарту SAP.

Комментарии:

1. Изменение автоматически сгенерированного экрана полностью в порядке. В представлении обслуживания есть несколько событий (вы найдете их в меню), вы можете добавить туда собственную логику.

2. У вас должно быть поле на экране, вы можете, по крайней мере, сделать так, чтобы оно отображалось только (я не знаю, означает ли «H», что поле находится на экране, но скрыто или вообще отсутствует), а затем вы можете найти или создать справку по поиску, которая автоматически заполняет LOCNO из таблицы на основе значения, введенного в LOCID (вам нужно назначить справку по поиску для вашей таблицы).

Ответ №1:

Я решил пойти другим путем, включив LOCNO в свою таблицу Z вместо LOCID, а затем создав пользовательскую таблицу проверки (скопированную из /SAPAPO/LOCNO_V). Таким образом, пользователь вводит имя хранилища, и оно проверяется на соответствие /SAPAPO/LOC.

Ответ №2:

Связь с внешним ключом не выполняет автоматическое заполнение в режиме обслуживания, она выполняет проверку ввода при вводе идентификатора местоположения вручную на экране обслуживания.

Отвечая на ваш вопрос: да, это возможно.

Вам необходимо использовать события просмотра обслуживания, в частности события, 05 Creating a new entry и самостоятельно кодировать это население.

Учебное пособие для мероприятий: https://saptechnical.com/Tutorials/ABAP/TableMaintenance/events.htm