Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => Тема начата: themax от Июль 12, 2017, 12:39:28 pm
-
Доброго времени суток всем.
Пытаюсь сделать один отчёт, и на селекционном экране использовать поля с средством быстрого поиска, на данный момент мне нужно поле группа МВЗ. Нашёл одну из стандартных транзакций ksb1, где поле группа МВЗ на селекционном экране представлена как поле одной из структур и есть возможность вызывать средство быстрого поиска PARAMETERS KSTGR LIKE RKPLN-KSGRU MEMORY ID KSG.
. Пытаюсь запихать к себе в отчёт эту же конструкцию, средство быстрого поиска не выходит, хотя в стандартной транзакции появляется. Пытался использовать поле setname like setleaf-setname,
типа в табличке setleaf хранятся все группы всего, что есть в sap, средство поиска выходит, но это не то что мне надо. Может кто подскажет? Может кто делал?
-
А с чего вы решили, что к полю таблицы есть средство поиска? Там его нет, это просто поле, там программный вызов. В общем долго расписывать не буду, работает вот так:
TABLES: rkpln.
PARAMETERS kstgr LIKE rkpln-ksgru MEMORY ID ksg.
<далее ниже по тексту где-то пишет такой код>
AT SELECTION-SCREEN ON VALUE-REQUEST FOR kstgr.
PERFORM f4_groups USING 'KOSTL'
'1000' "Код контролинговой единицы с которой работаем
CHANGING kstgr.
Ну собственно сама подпрограмма:
FORM f4_groups USING VALUE(v_field) LIKE rgsbs-field
VALUE(v_searchfield) TYPE any
CHANGING c_group TYPE c.
DATA: ld_searchfield LIKE rgsbs-searchfld.
ld_searchfield = v_searchfield.
CALL FUNCTION 'K_GROUP_SELECT'
EXPORTING
field_name = v_field
searchfld = ld_searchfield
searchfld_input = space
set = c_group
IMPORTING
set_name = c_group
EXCEPTIONS
no_set_picked = 1
OTHERS = 2.
IF sy-subrc NE 0. CLEAR c_group. ENDIF.
ENDFORM.