Покрокові рекомендації по створенню звітів з використанням sap query

У кінцевих користувачів системи SAP ERP часто виникає необхідність створення звіту, який містив би як частина полів стандартного звіту, так і додаткові поля. Як приклади таких звітів можна назвати: список клієнтів, історія за рахунком головної книги, відкриті рахунки-фактури від постачальників. В системі SAP ERP відповідні стандартні звіти містять надлишкову інформацію, є складним для розуміння і не містять «потрібного» користувачеві поля.

Функціональність SAP Query дає можливість створити «оптимізовані» звіти в потрібному форматі без значних трудовитрат.

У статті я детально розгляну процес створення «оптимізованого» звіту засобами SAP Query.

Основні кроки для створення запиту:

  • Створіть інфо-набір.
  • Створіть групу користувачів і надайте їй інфо-набір.
  • Створіть запит на базі інфо-набору.

Бізнес-кейс

Створення інфо-набору

Інфо-набір повинен містити поля, які повинні бути відображені в підсумковому звіті. Якщо будь-якого поля немає в інфо-наборі, то його не можна включити в запит. У нашому прикладі в інфо-набір будуть включені наступні поля: балансова одиниця, основний рахунок, сума у ​​внутрішній валюті, номер документа, дата документа, дата проводки, опис рахунку, номер тижня.

Запустіть транзакцію SQ02 (див. Малюнок 1).

  • Введіть ім'я Інфо-набору «ZZ_SAMPLE_ACCOUNTING» і натисніть кнопку Створено.
  • Визначте опис інфо-набору «Приклад інфо-набору: Бухоблік»
  • Введіть ім'я логічної бази даних SDF (див. Малюнок 2). Це стандартна логічна база даних, що містить дані по бухгалтерських документах і рахунках головної книги.

SAP пропонує кілька джерел для створення інфо-набору, це:

  • об'єднання таблиць (англ. join),
  • зчитування таблиці безпосередньо,
  • логічна база даних,
  • збір даних програмою.

Кожен з джерел даних має свої особливості, які не обговорюються в цій статті. Ми вибрали стандартний джерело даних - поставляється SAP логічну базу даних, яка являє собою програму, написану оптимальним і коректним чином, що забезпечує високу швидкість роботи інфо-набору і, як наслідок, запиту.

  • Підтвердіть введення, натиснувши кнопку підтвердження.

У вікні, ви побачите список таблиць, які входять в структуру логічної бази даних SDF.

  • Виберіть таблиці, які ви будете використовувати в інфо-наборі (див. Малюнок 3). У нашому прикладі це такі таблиці:

SKA1 Основні записи основних рахунків (план рахунків),

SKB1 Основні записи основних рахунків (балансова одиниця),

BSIS Бухгалтерія: вторинний індекс для основних рахунків.

Тепер ми перебуваємо на першому екрані ведення інфо-набору (див. Малюнок 4.) Екран розділений на три частини.

  1. Лівий блок - список таблиць і полів в них.
  2. Правий верхній блок - список груп полів. Групи полів відповідають таблиць, обраним для створення звіту. Щоб зробити поле доступним для запиту, необхідно включити його в групу полів. Чи не присвоєне групі поле не може бути включено до звіту.
  3. Правий нижній блок - детальні параметри поля. Тут можна змінити опис поля, яке буде відображатися в звіті. Подвійне клацання по полю з лівого блоку викличе відображення деталей поля в правому нижньому блоці.
  • Клацніть по групі полів Основні записи основних рахунків (план рахунків) у верхньому правому блоці.
  • Відкрийте папку Основні записи основних рахунків (план рахунків) в лівій секції, клацнувши по стрілці зліва від папки. Відкриється список полів таблиці.
  • Виділіть поле Номер основного рахунку одним клацанням миші.
  • Натисніть кнопку Додати поле. В результаті поле Номер основного рахунку переміщається в виділену групу полів.
  • Слідуючи цим крокам, акуратно перемістіть перераховані нижче поля до відповідних груп полів.
    • З таблиці SKA1: Основні записи основних рахунків (план рахунків)
      • План рахунків
      • Номер основного рахунку
    • З таблиці SKB1: Основні записи основних рахунків (балансова одиниця)
      • балансова одиниця
    • З таблиці BSIS: Бухгалтерія: вторинний індекс для основних рахунків
      • Номер бухгалтерського документа
      • Номер позиції бухгалтерського документа
      • Дата проведення документа
      • Сума у ​​внутрішній валюті
      • Місце виникнення витрат
  • Збережіть інфо-набір.
  • На цьому кроці система може запросити ключ розробника або запит на перенесення змін (див. Малюнок 5). Якщо ви не знаєте, які дані вводити, зверніться в вашу технічну команду.
  • Згенеруйте інфо-набір, натиснувши на кнопку генерації.
  • Натисніть кнопку Назад, щоб повернутися на перший екран ведення інфо-набору.

Покрокові рекомендації по створенню звітів з використанням sap query

Створення групи користувачів

Групи користувачів забезпечують контроль доступу до інфо-наборам і запитам. Інфо-набори і користувачі присвоюються до груп користувачів. Коли користувач створює або запускає запит, то група користувачів визначає список інфо-наборів, до яких у користувача є доступ.

У нашому прикладі група користувачів буде включати співробітників фінансового відділу. У разі, якщо доступ до бухгалтерської звітності потрібен іншим відділам, то група користувачів може бути присвоєна і їм.

Перейдіть по меню Середовище> Групи користувачів з першого екрану ведення інфо-набору.

Екран на малюнку 6 призначений для ведення груп користувачів і присвоєння інфо-наборів до груп користувачів.

  • Введіть ім'я групи користувачів «ZZ_SAPMLE».
  • Натисніть кнопку Створити.
  • Визначте опис групи користувачів «Приклад: Бухоблік» (малюнок 7).
  • Натисніть кнопку Зберегти. На цьому кроці система може запросити ключ розробника або запит на перенесення змін. Якщо ви не знаєте, які дані вводити, зверніться в вашу технічну команду.
  • Коли опис визначено, перейдіть назад і натисніть кнопку Присвоїти користувачів і інфо-набори.
  • Введіть користувачів, які працюють у фінансовій службі.
  • Натисніть кнопку Зберегти.
  • Натисніть кнопку Присвоїти інфо-набори (рисунок 8).
  • Система відобразить як стандартні, так і призначені для користувача інфо-набори. Прокрутіть список вниз, щоб знайти призначені для користувача інфо-набори (малюнок 9).
  • Виберіть інфо-набір, встановивши індикатор навпроти його.
  • Натисніть кнопку Зберегти.

Покрокові рекомендації по створенню звітів з використанням sap query

створення запиту

Ми створили інфо-набір і групу користувачів. Наступний крок - створення запиту. На цьому кроці поля інфо-набору включаються до звіту, визначається сортування і підсумовування, а також лічильник для кількості документів і можливість переходу в ведення рахунку та документа. Для доступу до запитів Запустіть транзакцію SQ01.

Переконайтеся, що ви працюєте з групою користувачів, створеної раніше. (Див. Назва групи у верхній частині екрану). Якщо немає, натисніть кнопку Інша група користувачів (перша кнопка зліва в ряду кнопок під назвою екрану на малюнку 10) і виберіть потрібну групу користувачів.

  • Введіть ім'я запиту «Z_ACCOUNTING».
  • Натисніть кнопку Створити.

Якщо група користувачів вже містить присвоєні їй запити, то вони будуть виведені на екран. Користувач може виконати будь-який із запитів в його групі користувачів, якщо має необхідні повноваження.

Система виведе список інфо-наборів, прив'язаних до групи користувачів (рисунок 11). Тільки один інфо-набір може бути обраний для створення запиту. Це означає, що всі поля, які ви хочете включити звіт, повинні бути в одному інфо-наборі. Двічі клацніть по інфо-набору для його вибору в якості бази для створення запиту.

Заголовок звіту з'являється на екрані, коли запит виконується.

Формат списку повинен відповідати існуючому формату друку в управлінні висновком, інакше звіт не може бути надрукований. Найбільш поширені формати: 65x132 і 65x80. У нашому прикладі ми залишили формат за замовчуванням: 0 рядків (без обмеження) і 83 стовпчика.

  • Введіть опис запиту «Приклад запиту: Бухоблік», як показано на малюнку 12.
  • Натисніть на кнопку Основний список у верхній частині екрану.

Відкриється графічний екран побудови запиту, як показано на малюнку 13. Запит в цілому будується на цьому екрані з використанням виділення об'єктів і їх перетягування.

Доступні поля для побудови запиту відображаються в лівій частині екрана у вигляді таблиці, як показано на малюнку 13.

  • Розкрийте кожну секцію зліва, щоб відобразити всі поля, включені в інфо-набір.
  • Для вибору полів, які будуть відображені в звіті, встановіть індикатор навпроти кожного поля в стовпці Поля списку. Виберіть з наступного поля: номер основного рахунку, текст основного рахунку, балансова одиниця, сума у ​​внутрішній валюті, дата проводки, номер бухгалтерського документа.
  • Визначте поля, які будуть відображені на екрані вибору, встановивши індикатор Поля вибору в рядку поля Номер бухгалтерського документа. Це другий стовпець. Деякі поля, наприклад, Номер основного рахунку. вже визначені для вибору і не можуть бути змінені. Це означає, що поле вже встановлено як поле для вибору в логічній базі даних. На екрані вибору запиту відображаються всі поля, помічені для вибору даних: і певні в логічній базі даних, і ті, які визначили ви.

Коли поле позначається для відображення як Поле списку. воно з'являється в правій верхній частині екрану. Саме в цьому порядку поля будуть відображені в звіті. Для зміни

Обмежений доступ

Для прочитання повної версії статті необхідно зайти як зареєстрований користувач.

Сподобалося 2 людям

В'ячеслав спасибі.
Невеликий питання до Вас.
У вас виходило прив'язати до запиту Z * таблиці. Зараз немає під рукою 6 версії, в 4.7 я просто не бачу ці таблиці.

Сьогодні поки що не сподобалося

Напевно все вже користувалися транзакціями з параметрами. Там нехитро виходить викликати квері за допомогою START_REPORT і набору параметрів
D_SREPOVARI-REPORT
D_SREPOVARI-EXTDREPORT
D_SREPOVARI-VARIANT
D_SREPOVARI-REPORTTYPE

І простіше цього придумати напевно складно. Не кажучи про генерацію звітів і т.д.

Сьогодні поки що не сподобалося

Сьогодні поки що не сподобалося

SET PARAMETER ID 'BES' FIELD <номер заказа>.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.

Або більш правильно використовувати спеціальний ФМ:

CALL FUNCTION 'ME_DISPLAY_PURCHASE_DOCUMENT'
EXPORTING
i_ebeln = <номере документа>
i_ebelp = <позиция документа>
i_enjoy = 'X'
EXCEPTIONS
OTHERS = 1.

Сьогодні поки що не сподобалося

Схожі статті