Текущее время: Вт, июл 22 2025, 22:59

Часовой пояс: 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 часа


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

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


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

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