Текущее время: Пн, дек 17 2018, 19:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Технология передача range на нижние уровни иерархии из CDS-view
СообщениеДобавлено: Пт, дек 14 2018, 10:27 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, фев 01 2006, 17:49
Сообщения: 1950
Откуда: Питерский Москвич
Пол: Мужской
Коллеги, доброе утро.

Требуется мнение экспертов в разработке.
Есть отчет, он основан на нескольких CDS-view, которые представляют собой иерархию из нескольких уровней.
Сейчас на нижнем уровне выбирается очень много данных, далее выполняется много обогащенный (join) и только на верхнем уровне происходит фильтрация по параметрам селекционного экрана. В результате может остаться 1 запись, а выбирается несколько миллионов...
CDS-view параметрические, но на селекционном экране SELECT-OPTIONS, и их не передать на нижний уровень CDS-view.
Предлагается следующее решение:
0. Делаем таблицу БД, ключ: имя пользователя, таймштамп, имя поля, счетчик. Далее поля для range.
1. При запуске отчета данные с СЭ из SELECT-OPTIONS сохраняются в таблицу.
2. Commit and wait.
3. По иерархии CDS через параметры передаем имя пользователя и таймштамп.
4. В CDS нижнего уровня делаем join ACDOCA с данными выбранными из нашей таблицы по параметрам.
5. Выбираются только нужные данные.
6. При выводе ALV чистим таблицу по нашим ключам запуска. Чтобы не накапливался мусор при неудачных запусках отчета (дамп по причине недостатка памяти), чистим все данные в нашей таблице старее 1 суток. Commit and wait.

С виду бред, но почему нет?

_________________
Цифровая трансформация в массы - использую S/4 HANA на домашнем сервере для семейной бухгалтерии...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Технология передача range на нижние уровни стека CDS-view
СообщениеДобавлено: Пт, дек 14 2018, 11:07 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 17:25
Сообщения: 3019
Пол: Мужской
CDS не понимает SO в чистом виде, его можно передать только строкой, но и в таком случае его не применить в самом CDS.
Это делается через AMDP (можно использовать в "чистом виде" вызвав AMDP класс в ABAP, можно вызвать AMDP через CDS).

https://blogs.sap.com/2018/03/21/select-options-in-cds-using-table-function/

https://blogs.sap.com/2015/03/30/handling-of-select-options-parameters-within-amdp/


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Технология передача range на нижние уровни иерархии из CDS-view
СообщениеДобавлено: Пт, дек 14 2018, 15:26 
Ассистент
Ассистент

Зарегистрирован:
Пт, фев 01 2013, 11:27
Сообщения: 31
Добрый день.
Интереса ради.

То есть вы делаете SELECT из верхнеуровнего CDS VIEW с WHERE par IN s_params, и наблюдается падение производительности из - за большого кол - ва записей в нижестоящих CDS ?
Или аномальное потребление оперативки в Hana?
Просто думал, что Hana должна объединить автоматом все CDS в один супер-джойн и как - то оптимально его отфильтровать.
Случай то в общем стандартный ...


По вопросу - вроде в версии 7.52 появились Global Temporary Tables, которые можно использовать для join-a в CDS


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Технология передача range на нижние уровни иерархии из CDS-view
СообщениеДобавлено: Пн, дек 17 2018, 17:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 12:11
Сообщения: 963
Иногда проще заменить выборку из CDS ракурса на выборку из исходных таблиц,
например CDS ракурс VFCLMMMALL - http://files.rsdn.org/6151/VFCLMMMALL_groups.png


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Технология передача range на нижние уровни иерархии из CDS-view
СообщениеДобавлено: Пн, дек 17 2018, 17:52 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, фев 01 2006, 17:49
Сообщения: 1950
Откуда: Питерский Москвич
Пол: Мужской
Спасибо за советы. Там уже часть CDS заменили на ABAP...

_________________
Цифровая трансформация в массы - использую S/4 HANA на домашнем сервере для семейной бухгалтерии...


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

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


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

Сейчас этот форум просматривают: BingBot


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

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