Текущее время: Пн, июл 28 2025, 12:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: FOR ALL ENTRIES IN itab
СообщениеДобавлено: Пн, янв 30 2006, 16:57 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 06 2005, 17:52
Сообщения: 559
После отработки ФМ получил itab, в которой в поле id храняться коды объектов В НУЖНОМ ПОРЯДКЕ. Т.е. смысл ФМ как раз в сортировке иерархии из исходной таблицы, скажем ххх, в котором, ессно, тоже есть поле id.

Нужно сделать запрос по этой же таблице, но в порядке заданном в itab.
Чтоб было понятнее, типа (хотя такая конструкция недопустима)
SELECT id FROM xxx
FOR ALL ENTRIES IN itab
WHERE id = itab-id
ORDER BY itab-id.

Как это сделать, если ORDER BY при FOR ALL ENTRIES IN itab не разрешен? Единственный вариант - прокручивать LOOP itab, а не впихивать ее в запрос? хочеться просто сделать все одним махом.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, янв 30 2006, 19:04 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 02 2005, 20:19
Сообщения: 133
Откуда: Moscow
Если хочешь обойтись одним SELECT'ом, то можно, например, так:

**********
DATA: BEGIN OF t_id OCCURS 0,
id LIKE ...,
ix LIKE sy-tabix,
END OF t_id.

CHECK NOT itab[] is initial.
SELECT id FROM ... INTO TABLE t_id
FOR ALL ENTRIES IN itab
WHERE id = itab-id.

LOOP AT itab.
t_id-ix = sy-tabix.
MODIFY t_id TRANSPORTING ix WHERE id = itab-id.
ENDLOOP.
SORT t_id BY ix.


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

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


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

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


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

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