Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => Тема начата: themax от Июль 12, 2017, 12:39:28 pm

Название: Средство поиска в select-options
Отправлено: themax от Июль 12, 2017, 12:39:28 pm
Доброго времени суток всем.

Пытаюсь сделать один отчёт, и на селекционном экране использовать поля с средством быстрого поиска, на данный момент мне нужно поле группа МВЗ. Нашёл одну из стандартных транзакций ksb1, где поле группа МВЗ на селекционном экране представлена как поле одной из структур и есть возможность вызывать средство быстрого поиска
Код: You are not allowed to view links. Register or Login
PARAMETERS KSTGR LIKE RKPLN-KSGRU MEMORY ID KSG.. Пытаюсь запихать к себе в отчёт эту же конструкцию, средство быстрого поиска не выходит, хотя в стандартной транзакции появляется. Пытался использовать поле
Код: You are not allowed to view links. Register or Login
setname like setleaf-setname,типа в табличке setleaf хранятся все группы всего, что есть в sap, средство поиска выходит, но это не то что мне надо. Может кто подскажет? Может кто делал?
Название: Re: Средство поиска в select-options
Отправлено: Uukrul от Июль 12, 2017, 02:50:11 pm
А с чего вы решили, что к полю таблицы есть средство поиска? Там его нет, это просто поле, там программный вызов. В общем долго расписывать не буду, работает вот так:

Код: You are not allowed to view links. Register or Login
TABLES: rkpln.

PARAMETERS kstgr LIKE rkpln-ksgru MEMORY ID ksg.
<далее ниже по тексту где-то пишет такой код>
Код: You are not allowed to view links. Register or Login
AT SELECTION-SCREEN ON VALUE-REQUEST FOR kstgr.
  PERFORM f4_groups USING    'KOSTL'
                             '1000'   "Код контролинговой единицы с которой работаем
                    CHANGING kstgr.
Ну собственно сама подпрограмма:
Код: You are not allowed to view links. Register or Login
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.