Меню

Инструкция по созданию отчёта в транзакции SQVI

|

SAP QuickViewer (транзакция SQVI) – инструмент создания простых отчетов, представляющих выборку данных из таблицы или нескольких связанных таблиц. В отличие от SQ01/SQ02/SQ03, имеет урезанный функционал, исключает возможность использования локальных полей и каких-либо попыток встроить ABAP код. Применим при отсутствии знаний ABAP и ограничениях в полномочиях, при которых SQVI доступна, а транзакции, позволяющие вывести данные из таблиц (SE16N и т.п.), недоступны. Среди минусов можно также отметить довольно низкую производительность в сравнении с Z* отчетами, построенными грамотным ABAP разработчиком. Также рассмотрим способы поиска таблиц, используемых в построении нашего отчета в SQVI.

Содержание

Введение

Постановка эадачи

Реализация решения

Введение

SAP QuickViewer (транзакция SQVI) – инструмент создания простых отчетов, представляющих выборку данных из таблицы или нескольких связанных таблиц. В отличие от SQ01/SQ02/SQ03, имеет урезанный функционал, исключает возможность использования локальных полей и каких-либо попыток встроить ABAP код. Применим при отсутствии знаний ABAP и ограничениях в полномочиях, при которых SQVI доступна, а транзакции, позволяющие вывести данные из таблиц (SE16N и т.п.), недоступны. Среди минусов можно также отметить довольно низкую производительность в сравнении с Z* отчетами, построенными грамотным ABAP разработчиком. Также рассмотрим способы поиска таблиц, используемых в построении нашего отчета в SQVI.

Постановка задачи

В рамках данной статьи будем решать задачу построения отчета, отображающего список заказов на закупку по их виду, в разрезе завода. Большей части данного кейса соответствует своим наполнением таблица EKKO (Заголовок документа закупки), но в ней отсутствует аналитика по заводам (Plant), для этого необходимо сделать JOIN с таблицей EKPO (Позиция документа закупки), содержащей поле EKPO-WERKS (Завод).

Предпосылки/Поиск таблицы для использования в SQVI

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


Рисунок 1. Техническая информация

Причина в том, что в технической информации указывается не таблица, а структура (см. Рис.  2)

Рисунок 2. Техническая информация

В таком случае, можем попробовать определить таблицу трассировкой, для этого запускаем транзакцию ST05, нажимаем Activate Trace (Рис. 3)

Рисунок 3. ST05 Трассировка

В отдельном окне запускаем транзакцию в которой отображаются данные, по которым мы планируем построить отчет; так как это ME23n, вводим /oME23n, после этого переключаемся на окно с трассировкой (транзакция ST05) и нажимаем сперва Deactivate Trace, а затем Display Trace (Рис. 3), в открывшемся окне проверяем, чтобы была установлена галочка на «SQL Trace», и чтобы указанное в окне время соответствовало нашей трассировке и запускам (Рис. 4).

  

Рисунок 4. ST05 Трассировка. 2

Нам отобразились результаты трассировки, копируем все из колонки «Object Name» (Рис. 5) и удаляем дубликаты (например, в Excel), в дальнейшем потребуется сравнить эти объекты, среди которых есть искомые нами таблицы с таблицами, в которых встречается поле из транзакции ME23n.

Рисунок 5. Результаты трассировки

В транзакции ME23n нажимаем один раз левой кнопкой мыши по номеру заказа, затем жмем F1, в открывшемся окне жмем на «молоток» (Рис. 6)

Рисунок 6. Транзакция ME23n – заказ на закупку

В открывшемся окне с технической информацией нажимаем два раза левой кнопкой мыши на EBELN, чтобы провалиться в элемент данных EBELN (Рис. 7)

Рисунок 7. Элемент данных

Теперь нажимаем на кнопку «Журнал использования» (Ctrl+Shift+F3) (Рис. 8), чтобы выяснить где применяется указанный элемент данных.

Рисунок 8. Журнал использования

Из всего списка предложенных вариантов выбираем только «Поля таблиц» (Рис. 9) и нажимаем Enter.

Рисунок 9. Журнал использования 2

Отобразился список таблиц, в которых используется элемент данных EBELN, всего их 353, для того, чтобы сократить этот список используем фильтр (Рис. 10). перечисляя в списке таблиц найденные трассировкой (ST05)

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти

Обсуждения Количество комментариев8

Комментарий от  

Олег Точенюк

  |  09 января 2018, 21:59

Ну это вы погорячились вязать код БЕ заголовка, с кодом БЕ позиции. Код БЕ заголовка отвечает за то, где будет отражена кредиторская задолженность, а код БЕ в позиции отвечает за то, где будет поставка, а это значит код БЕ в позиции копируется из привязки завода, который указан в позиции и это значит там могут быть разные БЕ. Да и вообще таблицы эти вяжутся по первичным ключам, так как это стандартная мастре-детэйл связка, и БЕ там вообще никаким боком.

Комментарий от  

Максим Столяров

  |  18 января 2018, 07:44

Добрый день.
 
Интересный функционал, получается пользователь в продуктивной системе сам может штамповать для себя нужные ему отчёты, правда пользователь не знает в каких таблицах и что находится. А нет возможности из этой транзакции с генерированный отчёт засунуть в запрос и перенести в продуктивную систему?

Комментарий от  

Константин Дудура

  |  18 января 2018, 12:47

Добрый день.
 
Интересный функционал, получается пользователь в продуктивной системе сам может штамповать для себя нужные ему отчёты, правда пользователь не знает в каких таблицах и что находится. А нет возможности из этой транзакции с генерированный отчёт засунуть в запрос и перенести в продуктивную систему?

SQVI не предоставляет такую возможность.
 
Похожий функционал есть в SAP Query, но это уже не пользовательский инструмент.

Комментарий от  

Анастасия Степанова

  |  25 января 2018, 11:09

Добрый день!
После связи таблиц между собой (рисунок 16) не понятно, что необходимо сделать, чтобы перейти к рисунку 17 для выбора полей на селекционном экране.

Комментарий от  

Алексей Гелемеев

  |  26 января 2018, 20:27

Добрый день!
После связи таблиц между собой (рисунок 16) не понятно, что необходимо сделать, чтобы перейти к рисунку 17 для выбора полей на селекционном экране.

Если не изменяет память, нажать "назад". Где-то на работе имеется самопальная инструкция, могу поделиться, но в вашем профиле не нашел контактных данных.

Комментарий от  

Анастасия Степанова

  |  30 января 2018, 08:47

Если не изменяет память, нажать "назад". Где-то на работе имеется самопальная инструкция, могу поделиться, но в вашем профиле не нашел контактных данных.

Благодаря Вас, Алексей! Вы верно сказали надо нажать "Назад". Почитала, нашла на blogs.sap.com.
Буду благодарна, если поделитесь материалами - профиль исправила.

Комментарий от  

Елена Ткаличенко

  |  07 сентября 2018, 10:08

Если не изменяет память, нажать "назад". Где-то на работе имеется самопальная инструкция, могу поделиться, но в вашем профиле не нашел контактных данных.

Добрый день!
Алексей, а можно и мне самопальную инструкцию?
Заранее спасибо

Комментарий от  

Алексей Науменко

  |  25 декабря 2021, 18:11

Добрый день! можно ли и если да то как - выгрузить в формате SQL запроса - схему составленную в SQVI ? (с учетом например ограничений  - задаваемых на селекционном экране для отмеченных галочками полей)? есть ли такая возможность?