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

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

База знаний

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

412
1

Содержание

Введение

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

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

Введение

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).

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

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

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

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

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

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