Текущее время: Вс, июл 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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