Ещё по теме

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

«MVC или как писать отчеты быстро и просто»
Олег Точенюк:
>>"Самое главное - это расположить инклуды с моделью и представлением до инклуда с контроллером"   А может проще написать в начале что-то типа: CLASS: <имя> DEFINITION...
«MVC или как писать отчеты быстро и просто»
Иван Тюменьев:
Это первая статья и она вводная. Не хотелось запихивать все и сразу. Пример использования нескольких контролов обязательно будет в дальнейшем.
«MVC или как писать отчеты быстро и просто»
Юрий Жуков:
Передавать таблицу в display не совсем правильно с точки зрения ООП, вроде. Например, появиться требование вывести кроме таблицы, ещё какую-нибудь заголовочную часть. Потребуется вносить изменения...

База знаний

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

3292
6

Содержание

Введение

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

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

Введение

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)

Ограниченный доступ

Для прочтения полной версии статьи необходимо зайти как зарегистрированный пользователь.

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

Олег Точенюк (Рейтинг: 10635) 21:59, 09 января 2018

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

Максим Столяров (Рейтинг: 23) 07:44, 18 января 2018

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

Константин Дудура (Рейтинг: 225)

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

Анастасия Степанова (Рейтинг: 66) 11:09, 25 января 2018

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

Алексей Гелемеев (Рейтинг: 78)

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

Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП»