Текущее время: Ср, июл 23 2025, 05:48

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: SELECT-OPTIONS. Вопрос.
СообщениеДобавлено: Чт, июн 09 2011, 16:51 
Ассистент
Ассистент

Зарегистрирован:
Вт, авг 11 2009, 16:49
Сообщения: 45
Всем доброго времени суток!

Есть вопрос. На сел. экране в выполняемой программе есть сел опт. Объявлен как:
Code:
SELECT-OPTIONS so_objid FOR objec-objid NO INTERVALS.


Далее, вызываю ср. поиска вот таким вот образом:
Code:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR so_objid-low.

  PERFORM zf_objid_f4. " Средство поиска для группы курсов.


В подпрограмме zf_objid_f4 вызывается ФМ RH_OBJID_REQUEST. Выбираю объекты. Затем, на основе того, что выбрал, заполняется so_objid. Допустим, выбрал 3 ид. объекта.
Возвратились на сел. экран. Нажимаю кнопка многократного выбора у so_objid и вижу, что место одного(к примеру, первого) выбранного объекта в списке занял другой(последний). Таким образом, стало 2 одинаковых объекта на 1 и 3 позициях.
В чем может быть дело? Почему вместо выбранных мною объектов в списке, место, к примеру, первого объекта занял другой. При этом их количество осталось прежним?


Последний раз редактировалось Ark555 Пт, июн 10 2011, 10:29, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SELECT-OPTIONS. Вопрос.
СообщениеДобавлено: Чт, июн 09 2011, 17:17 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Покажите что у Вас в PERFORM zf_objid_f4.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SELECT-OPTIONS. Вопрос.
СообщениеДобавлено: Пт, июн 10 2011, 10:24 
Ассистент
Ассистент

Зарегистрирован:
Вт, авг 11 2009, 16:49
Сообщения: 45
Разобрался. Первоначально был код в zf_objid_f4:
Code:
  CALL FUNCTION 'RH_OBJID_REQUEST'
    EXPORTING
      plvar             = gv_plvar
      otype             = gc_otype_d
      seark_begda       = so_per-low
      seark_endda       = so_per-high
      set_mode          = 'X'
      dynpro_repid      = sy-repid
      dynpro_dynnr      = sy-dynnr
    TABLES
      sel_objects       = lt_f4_sel_objects
      base_objects      = lt_base_objects
    EXCEPTIONS
      cancelled         = 1
      wrong_condition   = 2
      nothing_found     = 3
      illegal_mode      = 4
      internal_error    = 5
      OTHERS            = 6.


  IF sy-subrc EQ 0.
    CLEAR: so_objid[], so_objid.
    so_objid-option = 'EQ'.
    so_objid-sign = 'I'.
    LOOP AT lt_f4_sel_objects ASSIGNING <fs_sel_object>.
      so_objid-low    = <fs_sel_object>-objid.
      APPEND so_objid.
    ENDLOOP.
  ENDIF.


После этого кода надо было добавить
Code:
  IF NOT so_objid[] IS INITIAL.
    READ TABLE so_objid INDEX 1.
  ENDIF.

Иначе значение в значение headera в таблице с header line заносилось последнее значение.
P.s. Честно говоря, таблицы с заголовком меня раздражают...


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

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


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

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


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

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