Текущее время: Пн, июл 21 2025, 22:23

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: суммирование во внутренней таблице
СообщениеДобавлено: Пт, мар 14 2008, 10:44 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, дек 22 2006, 17:08
Сообщения: 86
Откуда: Ростов-на-Дону
Пол: Мужской
Доброго всем дня!

Подскажите как лучше поступить. Имеется внутренняя таблица (позиции сбытового заказ) в которой один и тот же материал может встречаться в разных строках, а для проверки хочется знать их общее количество в заказе. Куда лучше смотреть в сторону COLLECT или SELECT ... SUM.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: суммирование во внутренней таблице
СообщениеДобавлено: Пт, мар 14 2008, 10:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
SELECT с внутренними таблицами не работает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 14 2008, 11:00 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, дек 22 2006, 17:08
Сообщения: 86
Откуда: Ростов-на-Дону
Пол: Мужской
так можно сразу при выборе во внутреннюю таблицу, извиняюсь, что допустил неточность (про селект и внутренню).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: суммирование во внутренней таблице
СообщениеДобавлено: Пт, мар 14 2008, 11:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Werwolf написал:
Доброго всем дня!

Подскажите как лучше поступить. Имеется внутренняя таблица (позиции сбытового заказ) в которой один и тот же материал может встречаться в разных строках, а для проверки хочется знать их общее количество в заказе. Куда лучше смотреть в сторону COLLECT или SELECT ... SUM.

Тут все связано с производительностью. Как БД отреагирует на то, что вы переложите на нее нагрузку суммирования. По мне лучше выгрузить во внутреннюю и там просуммировать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 14 2008, 11:21 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, дек 22 2006, 17:08
Сообщения: 86
Откуда: Ростов-на-Дону
Пол: Мужской
В первую очередь интересует сама организация подсуммирования, чтобы в loopе не гонять после упорядочивания результатов селекта.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 14 2008, 11:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Werwolf написал:
В первую очередь интересует сама организация подсуммирования, чтобы в loopе не гонять после упорядочивания результатов селекта.

Цитата:
СУММИРОВАНИЕ ВО ВНУТРЕННИХ ТАБЛИЦАХ
В твоем коде при объявлении внутренней таблицы поле materialcode должно быть первым полем, а zakaz вторым полем.

Сортируем внутреннюю таблицу по materialcode и zakaz:
SORT ITAB BY materialcode zakaz
loop at itab.
at end of zakaz.
read itab index sy-tabix. ""чтобы избежать немногих областей, населенных с *** вместо значений
itab_final-zakaz = itab-zakaz.
itab_final-materialcode = itab-materialcode.
sum.
* - область quanity всех отчетов с тем же самым materialcode и zakaz ..., будет сложен и сохранен в itab-quantity

itab_final-quantity_sum = itab-quantity.
append itab_final.
clear itab_final.
endat.
endloop.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: суммирование во внутренней таблице
СообщениеДобавлено: Пт, мар 14 2008, 12:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
ROKO написал:
Тут все связано с производительностью. Как БД отреагирует на то, что вы переложите на нее нагрузку суммирования. По мне лучше выгрузить во внутреннюю и там просуммировать.

Я думаю, что агрегирование данных по существующему индексу для БД почти всегда дешевле, чем перекачка данных через сеть на сервер приложений (даже если они на одном хосте). Особенно, если агрегирование эффективное, т.е., например, 10:1 и выше.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, мар 14 2008, 12:16 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, дек 22 2006, 17:08
Сообщения: 86
Откуда: Ростов-на-Дону
Пол: Мужской
Спасибо буду пробовать!


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

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


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

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


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

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