Текущее время: Вс, июл 20 2025, 10:21

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Заполнение более одного поля экрана выбора из одного SearchHelp
СообщениеДобавлено: Чт, апр 25 2013, 14:09 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, июл 19 2007, 07:04
Сообщения: 1072
Пол: Мужской
На экране выбора собственного отчета есть два поля - номер договора SD и номер позиции SD. Есть средство поиска WTY_F4_VBAP, при тестировании в se11 - при выборе номера документа оно возвращает два поля VBELN и POSNR (т.е. POSNR заполняется автоматом). Можно ли как нибудь заполнить номер позиции на моем экране, в зависимости от того, какой номер документа выбрал пользователь?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение более одного поля экрана выбора из одного SearchHelp
СообщениеДобавлено: Чт, апр 25 2013, 17:48 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Help

Вкратце: если для требуемых полей создать таблицу(либо использовать существующую, где эти поля есть), привязать ср-во поиска к этим полям в таблице, а затем на экране объявить поля с типизацией созданной таблицы, то должно заработать.

Если средство поиска привязано на уровне эл-та данных или в экранном редакторе, то возвратится ВСЕГДА одно поле, солько бы параметров не содержало СП.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение более одного поля экрана выбора из одного SearchHelp
СообщениеДобавлено: Чт, апр 25 2013, 19:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Paul_80 написал:
затем на экране объявить поля с типизацией созданной таблицы, то должно заработать.

Для экранов выбора не работает.

Задача реализуется с помощью SELECTION-SCREEN ON VALUE-REQUEST и ФМ DYNP_VALUES_READ, F4IF_FIELD_VALUE_REQUEST, DYNP_VALUES_UPDATE.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение более одного поля экрана выбора из одного SearchHelp
СообщениеДобавлено: Чт, апр 25 2013, 19:25 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Удав написал(а):
Для экранов выбора не работает.


Сорри, проглядел, что речь об экранах выбора.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение более одного поля экрана выбора из одного SearchHelp
СообщениеДобавлено: Чт, апр 25 2013, 23:23 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
и на экране выбора должно работать, если правильно привязали


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Заполнение более одного поля экрана выбора из одного SearchHelp
СообщениеДобавлено: Пт, апр 26 2013, 08:04 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, июл 19 2007, 07:04
Сообщения: 1072
Пол: Мужской
Удав написал(а):
Paul_80 написал:
затем на экране объявить поля с типизацией созданной таблицы, то должно заработать.

Для экранов выбора не работает.

Задача реализуется с помощью SELECTION-SCREEN ON VALUE-REQUEST и ФМ DYNP_VALUES_READ, F4IF_FIELD_VALUE_REQUEST, DYNP_VALUES_UPDATE.

Спасибо.
Сделал так:
Code:
PARAMETERS:
  p_vbeln    type char10,
  p_posnr    type char6, " matchcode object WTY_F4_VBAP-POSNR,
  p_layout   type  disvariant-variant.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vbeln.
  perform vbeln_value_request changing p_vbeln.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_posnr.


Code:
form VBELN_VALUE_REQUEST  changing pp_vbeln.
  data: itab_return   type standard table of ddshretval,
        wa_return     type ddshretval,
        SHLP_DESCR    type SHLP_DESCR,
        dynpfields    LIKE dynpread OCCURS 1 WITH HEADER LINE.

  FIELD-SYMBOLS: <fs> like line of SHLP_DESCR-interface.

    CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
      EXPORTING
        SHLPNAME       = 'WTY_F4_VBAP'
      IMPORTING
       SHLP           = SHLP_DESCR.

    LOOP AT SHLP_DESCR-interface ASSIGNING <fs>.
      <fs>-valfield = '~'.
    ENDLOOP.

    CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
      EXPORTING
        SHLP                = SHLP_DESCR
      TABLES
        RETURN_VALUES       = itab_return.

  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  else.
    loop at itab_return into wa_return.
      case wa_return-fieldname.
        when 'VBELN'.
          pp_vbeln = wa_return-fieldval.
        when 'POSNR'.
          p_posnr = wa_return-fieldval.
      endcase.
    endloop.
  endif.

  REFRESH dynpfields.
  CLEAR   dynpfields.
  dynpfields-fieldname  = 'P_VBELN'.
  dynpfields-fieldvalue = p_vbeln.
  APPEND dynpfields.
  dynpfields-fieldname  = 'P_POSNR'.
  dynpfields-fieldvalue = p_posnr.
    APPEND dynpfields.

  CALL FUNCTION 'DYNP_VALUES_UPDATE'
    EXPORTING
      dyname     = sy-repid    "Program name
      dynumb     = sy-dynnr      "Screen number
    TABLES
      dynpfields = dynpfields
    EXCEPTIONS
      OTHERS     = 0.
endform.                    " VBELN_VALUE_REQUEST


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Заполнение более одного поля экрана выбора из одного SearchHelp
СообщениеДобавлено: Пт, апр 26 2013, 11:33 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 133
Откуда: Набережные Челны
Пол: Мужской
Создайте структуру в ABAP-словаре. Пропишите присвоение полей средства поиска. В программе объявите переменную с указанной структурой.
В select-opitons или в parameters (через LIKE) прописывайте поле структуры


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB