так куда выводить-то? код я вполе (parameter) P_OBJID вписываю (результат выбора из F4-списка).
comment не подойдёт - оно же статическое? поле вывода на экран нужно.
ну вот как в SCC1 мандант, а справа расшифровка
А в этом смысле, там есть два варианта, это экран диалоговой транзакции или экран селекционный. У тебя разговор идет по поводу селекционного экрана, а это значит, что по-абапить придется. Там так просто не нарисовать все. В общем вот код работы для завода. Думаю пример для табельных номеров не сложно будет нарисовать, ну и причесать код. В общем виде практически надо самому перерисовать строку селекционного экрана и способ вызова кода поиска. Можешь данный код скопировать в систему и там думаю будет ясно как все работает.
*&---------------------------------------------------------------------*
*& Report Z_TEST_1000
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT z_test_1000.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 2(6) text-001 FOR FIELD p_werks. "text-001 = 'Завод' (текстовая переменная)
SELECTION-SCREEN POSITION 12.
PARAMETERS: p_werks TYPE werks_d.
SELECTION-SCREEN COMMENT 20(30) p_text FOR FIELD p_werks.
SELECTION-SCREEN END OF LINE.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Обработка параметров селекционного экрана
DATA: gt_dynpfields TYPE STANDARD TABLE OF dynpread WITH HEADER LINE,
gt_return_hlp TYPE STANDARD TABLE OF ddshretval WITH HEADER LINE.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
INITIALIZATION.
p_text = ''. "Текстовая переменная вывода описания к коду завода
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
* Описание к коду завода
SELECT SINGLE name1 INTO (p_text)
FROM t001w WHERE werks = p_werks.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Вызов кода поиска завода
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_werks.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'T001W'
fieldname = 'WERKS'
TABLES
return_tab = gt_return_hlp
EXCEPTIONS
field_not_found = 1
no_help_for_field = 2
inconsistent_help = 3
no_values_found = 4
OTHERS = 5.
IF sy-subrc = 0.
* Определение описания к коду завода
READ TABLE gt_return_hlp INDEX 1.
p_werks = gt_return_hlp-fieldval.
SELECT SINGLE name1 INTO (p_text)
FROM t001w WHERE werks = p_werks.
* Считать данные селекционного экрана
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
request = 'A'
TABLES
dynpfields = gt_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11.
* Установить данные завода
READ TABLE gt_dynpfields WITH KEY fieldname = 'P_WERKS'.
gt_dynpfields-fieldvalue = gt_return_hlp-fieldval.
MODIFY gt_dynpfields INDEX sy-tabix.
* Установить данные описания к коду завода
READ TABLE gt_dynpfields WITH KEY fieldname = 'P_TEXT'.
gt_dynpfields-fieldvalue = p_text.
MODIFY gt_dynpfields INDEX sy-tabix.
* Обновить экран
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = gt_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.
ENDIF.