Скажите пожалуйста, можно каком-либо образом вернуть из SH 2 значения или целую запись, а не одно только поле ?
Вот что я имею ввиду, допустим есть внутренняя таблица в диалоговом отчете, представленная на экране. Эта таблица среди прочих имеет поля MATNR и MEINS. Я хочу повесить SH на поле MATNR
в котором можно было бы возвращать значения сразу 2-х упомянутых полей выбранной записи. Про то что нужно писать field exit я знаю, и принцип его написания я изучил. Мне непонятно как вернуть значения 2-х полей или может сразу запись?
(Некоторое время назад я уже спрашивал про field exit'ы - и мне исчерпывающе эдесь исчерпывающе рассказали какие бывают ФМ. Но их достаточно много, структура данных сложна, поэтому хотелось бы узнать номер курса, где бы об этом подробно говорилось или отошлите к исчерпывающему примеру. Опять же перерыл архив этого форума, но ничего не нашел

) Точнее нашел, вот только разобраться в нем не могу.
Я уже подумал что нельзя сделать такого стандартными средствами и нашел программку, форму из которой хочу привести ниже, однако она замечательно работает при возврате одного значения, но категорически отказывается возвращать 2 значения.
я наивно полагал что таблица FIELDS_OUT_TAB, которая отлично работает для одного значения, для 2-х значений будет содержать
2-е записи для 2-х значений - увы, это оказалось не так.
Все это для версии 4.0B
Code:
*** здесь начинается код
FIELD = 'MATNR'.
FIELD2= 'MEINS'.
DATA: SHLP TYPE SHLP_DESCR_T.
DATA: CALL_CONTROL LIKE DDSHF4CTRL.
DATA: FIELDS_OUT_TAB LIKE TABLE OF DDSHRETVAL WITH HEADER LINE.
DATA: WA_INTERFACE LIKE DDSHIFACE.
CLEAR: SHLP, CALL_CONTROL, FIELDS_OUT_TAB, WA_INTERFACE, RESULT.
REFRESH: FIELDS_OUT_TAB.
* получить описание Search help
CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
EXPORTING
SHLPNAME = 'MAT1W'
IMPORTING
SHLP = SHLP
EXCEPTIONS
OTHERS = 1.
CHECK SY-SUBRC = 0.
* отметить поля, для которых надо вернуть значения
READ TABLE SHLP-INTERFACE WITH KEY SHLPFIELD = FIELD
INTO WA_INTERFACE.
CHECK SY-SUBRC = 0.
WA_INTERFACE-VALFIELD = FIELD.
MODIFY SHLP-INTERFACE FROM WA_INTERFACE INDEX SY-TABIX.
READ TABLE SHLP-INTERFACE WITH KEY SHLPFIELD = FIELD2
INTO WA_INTERFACE.
CHECK SY-SUBRC = 0.
WA_INTERFACE-VALFIELD = FIELD2.
MODIFY SHLP-INTERFACE FROM WA_INTERFACE INDEX SY-TABIX.
* вызвать Search help
CALL FUNCTION 'F4_SEARCH_HELP'
EXPORTING
SHLP = SHLP
CALL_CONTROL = CALL_CONTROL
STARTING_X = STARTING_X
STARTING_Y = STARTING_Y
TABLES
FLDS_OUT_TAB = FIELDS_OUT_TAB
EXCEPTIONS
OTHERS = 1.
CHECK SY-SUBRC = 0.
* найти выбранные значения
READ TABLE FIELDS_OUT_TAB WITH KEY SHLPNAME = SHLPNAME
FIELDNAME = FIELD.
CHECK SY-SUBRC = 0.
RESULT = FIELDS_OUT_TAB-FIELDVAL.
READ TABLE FIELDS_OUT_TAB WITH KEY SHLPNAME = SHLPNAME
FIELDNAME = FIELD2.
CHECK SY-SUBRC = 0.
RESULT2 = FIELDS_OUT_TAB-FIELDVAL.
*** здесь код заканчивается