Upload
vuongkien
View
283
Download
3
Embed Size (px)
Citation preview
©2014 SAP SE or an SAP affiliate company. All rights reserved. 1 Public
Генератор XML-отчетности в SAP
ERP
Тверитинов Алексей , Департамент разработки программного обеспечения, SAP Labs
2014 Russia Localization Summit Moscow, October 21-22,2014
©2014 SAP SE or an SAP affiliate company. All rights reserved. 2 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 3 Public
Обзор решения Поддерживаемые релизы
XML генератор доступен в следующих релизах:
•SAP ERP 6.00 SP 22
•SAP ERP 6.02 SP 12
•SAP ERP 6.03 SP 11
•SAP ERP 6.04 SP 12
•SAP ERP 6.05 SP 09
•SAP ERP 6.06 SP 04
©2014 SAP SE or an SAP affiliate company. All rights reserved. 4 Public
Обзор решения Оценка предметной области
•Россия : более 100 XML отчетов
•Украина : более 100 XML отчетов
•Казахстан : более 50 XML
отчетов, XSD не доступны
•Множество уникальных отчетов в
других странах
©2014 SAP SE or an SAP affiliate company. All rights reserved. 5 Public
Обзор решения Состав решения
Решение состоит из трех компонентов
•Визуальный редактор (J3RTAXREP) •Позволяет импортировать XSD/XML, либо создать иерархию «с нуля»
•Позволяет задать связь элементов иерархии с внешними данными
•Позволяет протестировать внесенные изменения
•Транзакция выгрузки XML (J3RXMLEXP) •Позволяет сгенерировать XML отчетность на основании выбранной иерархии
•Транзакция настройки связи с провайдерами данных (J3RTAXDPED) •Добавление и редактирование различных параметров провайдеров данных
•Добавление и изменение настроек внутренних переменных
©2014 SAP SE or an SAP affiliate company. All rights reserved. 6 Public
Сценарии применения
Прямое использование
Создание XML отчетности на основе данных системы без разработки кода
Преимущества:
•Описание селекционных экранов
•Прямой доступ к БД, в т.ч. FI/SL
•Легкость изменений
•Не требуются навыки программирования
©2014 SAP SE or an SAP affiliate company. All rights reserved. 7 Public
Сценарии применения
Внедрение в программы
Создание XML отчетности на основе данных конкретной программы
Преимущества:
•Возможность гибкой обработки данных
•Построение сложных селекционных критериев
•Возможность создания цепочек документов
©2014 SAP SE or an SAP affiliate company. All rights reserved. 8 Public
Обзор решения Централизация ведения электронной отчетности
Разделение функциональности
подготовки данных и формирования
отчетности. Произвольный отчет = одна программа +
различные данные
Преимущества:
•Разработчик реализует только логику
выборки данных
•Общее решение
•Структуры отчетов ведутся централизованно
•Изменение на стороне клиента не требует
изменения кода
Недостатки:
•Требуется обучение пользователей
©2014 SAP SE or an SAP affiliate company. All rights reserved. 9 Public
Обзор решения Обзор пользовательского интерфейса
©2014 SAP SE or an SAP affiliate company. All rights reserved. 10 Public
Обзор пользовательского интерфейса Редактор структуры
©2014 SAP SE or an SAP affiliate company. All rights reserved. 11 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 12 Public
Общая концепция решения XML генератора
User
XML
Engine
Select required
XML report
Load hierarchy
Selection
screen
generation
User input
on generated
screen
Processing
block
Data provides:
- custom reports
- SQL
- FI/SL
Final
XML
©2014 SAP SE or an SAP affiliate company. All rights reserved. 13 Public
Общая концепция решения XML генератора Ключевые особенности
•Динамическое создание селекционного экрана
•Возможность сбора данных
•Визуальный редактор наглядно представляющий структуру отчетности и
связь с данными
•Возможность обработки данных используя встроенный редактор
выражений
•Встроенные средства проверки корректности настроек и поиска ошибок
•Возможность формирования специфичных (не XML) форматов
отчетности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 14 Public
Общая концепция решения XML генератора Работа с формулами
Редактор формул это гибкий инструмент, предоставляющий следующую функциональность:
•Операции над строками (конкатенация, изменение регистра, выделение подстроки)
•Арифметические операции
•Операции агрегирования данных
©2014 SAP SE or an SAP affiliate company. All rights reserved. 15 Public
Общая концепция решения XML генератора Изменение структуры отчетности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 16 Public
Общая концепция решения XML генератора Изменения законодательства или новые разработки
Импорт структуры из тестового файла
•Импортируется структура отчетности
•Импортируются данные, для облегчения
отладки
©2014 SAP SE or an SAP affiliate company. All rights reserved. 17 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 18 Public
Провайдеры данных
•Провайдер данных - это внешняя, по отношению к программе
J_3RF_TAX_REPORT, сущность (отчет, SQL запрос и т.п.), способная
возвращать требуемые данные в строго определенном формате.
•В настоящий момент решение поддерживает две разновидности
провайдеров:
oВстроенные провайдеры
oВнешние провайдеры
•В системе может быть создано не ограниченное количество
провайдеров с произвольной структурой, удовлетворяющей
обязательным требованиям (SAP Note #1775539).
©2014 SAP SE or an SAP affiliate company. All rights reserved. 19 Public
Провайдеры данных Встроенные провайдеры данных
•Типы встроенных провайдеров данных:
oSQL
oFI/SL
•Встроенные провайдеры доступны во всех релизах, для которых
существует XML Generator.
•Встроенные провайдеры не требуют дополнительных настроек для их
корректного функционирования.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 20 Public
Провайдеры данных
Внешние провайдеры данных
•Типы внешних провайдеров данных: oОтчет (Report) – осуществляет передачу выходных данных в виде
плоской таблицы или структуры через SAP память (export to memory).
oФункциональный модуль – осуществляет передачу выходных
данных через выходные (exporting) параметры.
oСтатический метод класса – осуществляет передачу выходных
данных аналогично функциональному модулю.
•Для корректной работы внешние провайдеры данных должны быть
описаны в системных таблицах. Для настройки провайдера была
разработана программа J_3RF_TAX_DP_EDIT.
•Настройки провайдеров данных являются общими для всех мандатов.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 21 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 23 Public
Пример определения контекста
T001 – Список БЕ
KNB1 – Данные БЕ
BSID - вторичный
индекс для дебиторов
©2014 SAP SE or an SAP affiliate company. All rights reserved. 24 Public
Пример определения контекста
©2014 SAP SE or an SAP affiliate company. All rights reserved. 25 Public
Способы доступа к контексту
•В настоящий момент существуют два способа доступа к контексту:
oДоступ с использованием запроса к провайдеру данных
oДоступ с использованием формул
•Выбор конкретного способа доступа к контексту зависит от
структуры документа и требований по его заполнению.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 26 Public
Способы доступа к контексту (2)
Доступ к контексту с использованием запроса к провайдеру
данных
•Данный способ предоставляет возможность доступа из атрибута к
контексту узла, к которому присоединен атрибут.
•Подобный способ обращения к контексту рекомендуется для
применения в случае необходимости фильтрации данных на
основании сложных критериев.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 27 Public
Способы доступа к контексту (3)
Доступ к контексту с использованием формул
•Данный способ предоставляет гибкие инструменты для доступа к
контексту, а так же одновременной модификации выводимого
значения атрибута.
•При этом допускается спецификация условий обработки значения
атрибута, не зависящих от значений контекста (например, с
использованием внешних констант).
©2014 SAP SE or an SAP affiliate company. All rights reserved. 28 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 29 Public
Внутренние переменные
•Внутренние переменные используются для двух целей: oДля связи с внешними источниками данных.
oДля передачи внутренних параметров в процессе генерации XML.
•На стороне клиента список переменных может быть расширен
для решения собственных задач.
•Настройки внутренних переменных являются общими для всех
мандантов.
Список глобальных внутренних переменных используемых решением
приведен в приложенни
©2014 SAP SE or an SAP affiliate company. All rights reserved. 30 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 31 Public
Работа с редактором формул
Редактор формул представляет удобный инструмент для изменения и
агрегирования данных без написания ABAP кода.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 32 Public
Работа с редактором формул
С помощью формул возможно выполнять следующие операции: oАрифметические
oЛогические:
•IF_STR – логические выражения, результат в форме строки
•IF_NUM – логические выражения, результат в форме числа
oОперации с контекстом – извлечение из контекста числа или строки
•CONTEXT_STR – значение из контекста помещается в
строковую переменную
•CONTEXT_NUM – значение из контекста помещается в
числовую переменную
•Операции с таблицами
•Операции с провайдерами данных
©2014 SAP SE or an SAP affiliate company. All rights reserved. 33 Public
Работа с редактором формул
•Операции с таблицами провайдеров данных oTAB_SUM – суммирование значений в указанной колонке таблицы,
удовлетворяющей определенным критериям
oTAB_COUNT – подсчет количества записей в таблице удовлетворяющих
определенным критериям
oTAB_MIN – поиск минимального значения в указанной колонке таблицы,
удовлетворяющей определенным критериям
oTAB_MAX – поиск максимального значения в указанной колонке таблицы,
удовлетворяющей определенным критериям
oTAB_AVG – вычисление среднего арифметического значения для колонки
таблицы, удовлетворяющей определенным критериям
©2014 SAP SE or an SAP affiliate company. All rights reserved. 35 Public
Работа с редактором формул
•С помощью формул возможно выполнять следующие операции: •Операции агрегирования – суммирование определенных узлов,
выборка минимального/максимального атрибута, вычисление
среднего значения.
•Например: SUM_OF(NODE, attr_name, min_depth, max_depth )
•Строковые операции - выделение подстроки, конкатенация,
изменение регистра, преобразование в строку.
•Для всех функций, доступных в редакторе формул, существует
встроенная документация. Также их сигнатуры отображаются в окне
ввода формул.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 36 Public
Работа с редактором формул Использование переменных $SELF и $ROOT
•Переменная $SELF будет ссылаться
на узел, использующий атрибут, в
котором определена данная формула.
•Переменная $ROOT будет ссылаться
на родительский узел определяемого
атрибута.
В данном примере переменная $SELF будет указывать на узел «DEF», а
переменная $ROOT на узел «ABC».
Использование данных переменных является удобным способом реализации
вычислений внутри повторяемых узлов, в которых прямое обращение по
имени узла невозможно.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 37 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 38 Public
Встраивание генератора в собственные разработки
Встраивание XML генератора в собственные отчеты значительно
сокращает время на разработку программ, требующих
формирование выходных XML файлов.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 39 Public
Загрузка данных из провайдера «по требованию»
T001 – Список БЕ
KNB1 – Данные БЕ
BSID - вторичный
индекс для дебиторов
©2014 SAP SE or an SAP affiliate company. All rights reserved. 40 Public
Загрузка данных из провайдера «по требованию»
©2014 SAP SE or an SAP affiliate company. All rights reserved. 41 Public
Загрузка данных из провайдера «по требованию» Доступность в провайдерах
В провайдерах SQL и FI/SL данный функционал используется автоматически
В провайдерах на основе ABAP необходимо использовать выражения
RELOAD_DATA
©2014 SAP SE or an SAP affiliate company. All rights reserved. 42 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 43 Public
Проверка и отладка Проверка целостности иерархии
При создании собственных иерархий полезно проверить корректность
настроек. Данный механизм позволяет обнаружить типичные ошибки и
сократить время на поиск ошибок.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 44 Public
Проверка и отладка Проверка целостности иерархии
Найденные проблемы
классифицируются по важности:
•Критические
•Важные
•Незначительные
•Справочные
Найденные проблемы
классифицируются по предметной
области:
•Целостность данных
•Типизация данных
•Проблемы селекционного экрана
•Прочие
©2014 SAP SE or an SAP affiliate company. All rights reserved. 45 Public
Проверка и отладка
Работа с журналом генерации
•Использование журнала генерации позволяет получить детальную
информацию о процессе обработки иерархии и может существенно
сократить время отладки.
•Для включения данной функциональности необходимо определить
внутреннюю переменную LOG_ENABLED (тип: abap_bool).
•При работе в диалоговом режиме и включенной опции ведения
журнала пользователю будет показан диалог выбора пути к файлу для
сохранения. При работе в фоновом режиме содержимое журнала
будет передано вызывающей программе.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 46 Public
Проверка и отладка Работа с журналом генерации (2)
©2014 SAP SE or an SAP affiliate company. All rights reserved. 47 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 48 Public
Экспорт/импорт иерархий в файл
•С помощью функциональности импорта/экспорта пользователь может
сохранить иерархию в файл XML.
•Данная функциональность позволяет создавать резервные копии, а
также осуществлять перенос иерархий между системами без
использования транспортного слоя.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 51 Public
План семинара
•Обзор решения
•Общая концепция решения XML генератора
•Провайдеры данных
•Контекст и способы доступа к контексту
•Внутренние переменные
•Работа с редактором формул
•Встраивание XML генератора в собственные разработки
•Проверка и отладка
•Экспорт/импорт иерархий в XML файл
•Обзор новой функциональности
©2014 SAP SE or an SAP affiliate company. All rights reserved. 52 Public
Обзор новой функциональности
•1792064 •Улучшение производительности агрегатных функций
•Ведение журнала генерации
•Добавлены дополнительные функции в редакторе формул: CONTEXT_NUM /
CONTEXT_STR
•Добавлены функции поддержки булевой алгебры : IF_STR / IF_NUM
•Добавлена поддержка переменных $ROOT / $SELF в редакторе формул
• 1801834 •Экспорт/Импорт иерархий в xml файл
• 1818054 •Поддержка работы в фоновом режиме (только для встраиваемого
использования)
• 1833339 •Добавлены функции округления и заполнения строки символами в редакторе
формул
•1844669 •Поддержка формирования XML Based PDF, и поддержка формирования
печатных форм на основе XSL-FO (доступна только для SAP_BASIS начиная с
версии 7.02)
©2014 SAP SE or an SAP affiliate company. All rights reserved. 53 Public
Обзор новой функциональности
•1891920
Проверка целостности иерархии
•1987577
Улучшения парсера XSD
•2008677
Поддержка условий повторения основанная на нескольких таблицах
•2027566
Загрузка данных из провайдеров „по необходимости“
©2014 SAP SE or an SAP affiliate company. All rights reserved. 54 Public
Переменные для внутреннего использования
•DISPLAY_ALV - отображение сгенерированного XML отчета в табличном
виде. Данный функционал разработан для казахской локализации.
•SPLIT_COUNTER - разделение иерархий на файлы. В случае, когда одна
иерархия порождает несколько результирующих XML файлов, в данную
переменную заносится текущее значение счетчика цикла.
•SUPRESS_XML - отмена генерации XML файла. Может использоваться в
связке с переменными display_alv и x_adobe.
•XMLFULLPATH – указание полного путь для формируемого XML файла.
•XMLFILENAME – определение имени файла, полученного из
XMLFULLPATH.
•XMLPATH – определение пути без имени файла, полученного из
XMLFULLPATH.
•X_ADOBE – указание на необходимость формирования PDF файла
(функциональность находится в разработке).
©2014 SAP SE or an SAP affiliate company. All rights reserved. 55 Public ©2014 SAP SE or an SAP affiliate company. All rights reserved.
Thank you
Contact information:
Tveritinov Alexey [[email protected]]
©2014 SAP SE or an SAP affiliate company. All rights reserved. 56 Public
© 2014 SAP SE or an SAP affiliate company.
All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an
SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE
(or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional
trademark information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.
National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind,
and SAP SE or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or
SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and
services, if any. Nothing herein should be construed as constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related
presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated
companies’ strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be
changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment,
promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties
that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking
statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.
©2014 SAP SE or an SAP affiliate company. All rights reserved. 57 Public
© 2014 SAP SE oder ein SAP-Konzernunternehmen.
Alle Rechte vorbehalten.
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die
ausdrückliche schriftliche Genehmigung durch SAP SE oder ein SAP-Konzernunternehmen nicht gestattet.
SAP und andere in diesem Dokument erwähnte Produkte und Dienstleistungen von SAP sowie die dazugehörigen Logos sind Marken oder
eingetragene Marken der SAP SE (oder von einem SAP-Konzernunternehmen) in Deutschland und verschiedenen anderen Ländern weltweit.
Weitere Hinweise und Informationen zum Markenrecht finden Sie unter http://global.sap.com/corporate-de/legal/copyright/index.epx.
Die von SAP SE oder deren Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten.
Produkte können länderspezifische Unterschiede aufweisen.
Die vorliegenden Unterlagen werden von der SAP SE oder einem SAP-Konzernunternehmen bereitgestellt und dienen ausschließlich zu Informations-
zwecken. Die SAP SE oder ihre Konzernunternehmen übernehmen keinerlei Haftung oder Gewährleistung für Fehler oder Unvollständigkeiten in
dieser Publikation. Die SAP SE oder ein SAP-Konzernunternehmen steht lediglich für Produkte und Dienstleistungen nach der Maßgabe ein, die in der
Vereinbarung über die jeweiligen Produkte und Dienstleistungen ausdrücklich geregelt ist. Keine der hierin enthaltenen Informationen ist als zusätzliche
Garantie zu interpretieren.
Insbesondere sind die SAP SE oder ihre Konzernunternehmen in keiner Weise verpflichtet, in dieser Publikation oder einer zugehörigen Präsentation
dargestellte Geschäftsabläufe zu verfolgen oder hierin wiedergegebene Funktionen zu entwickeln oder zu veröffentlichen. Diese Publikation oder
eine zugehörige Präsentation, die Strategie und etwaige künftige Entwicklungen, Produkte und/oder Plattformen der SAP SE oder ihrer Konzern-
unternehmen können von der SAP SE oder ihren Konzernunternehmen jederzeit und ohne Angabe von Gründen unangekündigt geändert werden.
Die in dieser Publikation enthaltenen Informationen stellen keine Zusage, kein Versprechen und keine rechtliche Verpflichtung zur Lieferung von
Material, Code oder Funktionen dar. Sämtliche vorausschauenden Aussagen unterliegen unterschiedlichen Risiken und Unsicherheiten, durch die
die tatsächlichen Ergebnisse von den Erwartungen abweichen können. Die vorausschauenden Aussagen geben die Sicht zu dem Zeitpunkt wieder,
zu dem sie getätigt wurden. Dem Leser wird empfohlen, diesen Aussagen kein übertriebenes Vertrauen zu schenken und sich bei Kaufentscheidungen
nicht auf sie zu stützen.