Sap analysis for microsoft excel не запускается
Статья предназначена в первую очередь для консультантов и архитекторов, работающих с продуктами SAP, перед которыми стоит задача проектирования и реализации решения по подготовке отчетности в формате Excel.
В настоящее время все большую популярность набирают облачные решения для визуализации данных, демонстрируя двузначный рост год-к-году по большинству показателей. Однако не все компании - клиенты поставщиков облачных решений могут позволить себе использовать “облака” по самым разным причинам: от требований безопасности данных до недостаточной функциональности или даже более высокой стоимости владения по сравнению с on-premise.
Поэтому время от времени возникают задачи подготовки отчетности для визуализации в on-premise-инструментах. Автор долгое время работал и продолжает работать с решениями SAP, поэтому именно решения SAP (SAP BW/4, SAP S/4), как поставщики данных для отчетности, наиболее близки. Однако предлагаемый подход может быть скопирован и на другие системы-источники. Никаких препятствий к этому нет.
Задача формулируется так: реализовать on-premise решение по автоматической и регулярной подготовке отчетов по бизнес-данным SAP-систем (BW/4 или S/4).
Технические требования к отчетам:
минимальное время отклика при открытии отчета пользователем (2-4 сек)
возможность смотреть отчеты как на настольном, так и на мобильном устройстве (планшет, телефон)
комбинация табличных и графических представления данных на одной странице
несколько страниц (вкладок) с отчетами
корректное разбиение на страницы при печати на принтере/PDF.
отдельные табличные представления могут содержать большое число строк и/или столбцов (более 1 млн ячеек совокупно).
реализуют кросс-табличный формат
содержат итоги, подитоги по строкам и столбцам.
содержат иерархические группировки
содержат данные нарастающим итогом по календарным аналитикам
поддерживают функции “автофильтр”, “фиксация прокрутки” и некоторые другие функции Excel (например, комментарии к ячейкам, merge cells)
добавление статических картинок
условное форматирование ячеек
построены по csv-выгрузкам данных из исходных систем. Это означает, что отчеты содержат данные, сформированные на момент выгрузки данных из исходных систем. Чем чаще выполняется выгрузка, тем более актуальные данные в отчетах.
Наиболее близкими стандартными инструментами SAP, подходящими для этой задачи, является a)SAP BW on HANA + Broadcaster или b)SAP BW/4 HANA + SAP BI Platform + SAP Crystal Report Enterprise + Publishing.
Вариант a) подходит для клиентов, остающихся пока на решении SAP BW on HANA.
Вариант b) - для клиентов, перешедших на новое перспективное решение SAP BW/4 HANA и имеющих лицензии SAP BI Platform
Однако, оба этих варианта имеют те или иные ограничения, которые может быть крайне непросто или даже невозможно преодолеть, в т.ч. даже с добавлением “точечной” разработки (макросы VBA, ABAP-программы или кода на встроенном script-языке в Crystal Reports). Даже если в первоначальной постановке задачи нерешаемых требований нет, это не означает, что в будущем такие требования не появятся. Это означает, что лучше с самого начала выбрать подход, достаточно гибкий для решения как известных сейчас, так и неизвестных, но ожидаемых будущих требований.
Очевидно, что реализация третьего варианта, варианта с) будет с высокой долей собственной разработки отдельных компонентов целевого решения. Какие же опции могут существовать для технологических решений SAP в этом случае?
Существуют классы из библиотеки ABAP2XLSX (Apache2 licence model). Написанные на ABAP, они содержат методы по генерации XLSX-файла без использования Excel: XLSX-файлы создаются напрямую из кода на ABAP. Создав программную “обертку” для этих классов внутри S/4 или BW, вы можете генерировать XLSX-файлы с требуемым форматированием. Запускать эту генерацию возможно как диалоговом, так и в пакетном (batch) режиме, что позволяет настроить автоматическую публикацию, рассылку и пр. по расписанию или событиям.
Таким образом, все стадии процесса: извлечение данных, преобразования в формат отчета и генерация XLSX реализуются на одном языке (ABAP), и являются неотъемлемой частью хорошо знакомой в SAP-мире инфраструктуры жизненного цикла и среды выполнения ABAP-кода.
Но представляет интерес и альтернативный подход, который при определенном масштабе более эффективен и функционален. Речь идет о генерации XLSX-файла в коде на Python. Существует минимум две очень популярные python-библиотеки генерации Excel-кода: openpyxl и xlsxwriter. Это дает больше гибкости при выборе и развитии вашего решения, чем использование единственно возможной библиотеки на ABAP.
Процессы целевого решения могут выглядеть, например, так:
Данные системы-источника выгружаются на регулярной основе в текстовые csv-файлы. Файлы выгружаются в каталоги сервера приложений SAP или на выделенный файловый сервер или даже в облачный каталог, если это позволяют политики безопасности.
csv-файлы считываются Python-программой, которая затем выполняет обработку данных (расчет подитогов, итогов, расчет нарастающих итогов, объединение нескольких наборов данных, подтягивание наименований к кодам аналитик и т.п и т.д.), генерацию и публикацию XLSX-файла
Архитектура целевого решения состоит из:
SAP-системы-источника данных, которая генерирует csv-файлы. Генератором файлов может быть:
В последнем случае легко настроить считывание данных из т.н. BW-запросов, в которых нередко реализуют сложную логику расчета бизнес-показателей пользовательских отчетов. Инструмент создания BW-моделей и -запросов (SAP HANA Studio BWMT) нельзя назвать инструментом “конечного пользователя”, но тем не менее он обладает мощным функционалом, позволяющим в создании даже сложных объектов во многих случаях обходиться без программирования. Однако, верно и то, что с помощью этого инструмента добиться желаемой производительности (см. требования выше) практически не представляется возможным. Поэтому результат работы BW-запроса - [кросс-]табличное представление данных - приходится визуализировать в Excel не стандартным инструментом SAP Analysis for Excel, а просто Excel. Но XLSX-файл нужно ещё подготовить и где-то разместить. А для этого применяются.
Python-программы, использующие библиотеки:
работы с данными - pandas;
генерации XLSX-файлов - openpyxl или/и xlsxwriter;
любые другие библиотеки Python для дополнительных преобразований считанных из файлов данных;
Сервер для запуска Python-программ. При наличии лицензий, можно рассмотреть SAP Data Intelligence, но подойдут и другие решения. На самых начальных этапах, при небольшом количестве Python-программ - генераторов XLSX-файлов можно обойтись средствами планирования задач операционной системы
Полученный XLSX-файл конечный пользователь может просмотреть как в Excel, так и его opensource-аналогах (LibreOffice, OpenOffice). Последнее особенно важно для компаний, в которых не используются продукты Microsoft Office или планируется от них отказаться. Использование же стандартного on-premise SAP-инструмента для визуализации данных BW-отчетов - SAP Analysis for Excel невозможно без Excel, т.к. технически он является его addOn.
Несколько слов про центральную часть архитектуры - Python-программы. Принимая во внимание, что генерировать XLSX-файл можно и с помощью ABAP-библиотеки, в Python это делать во многих аспектах удобнее:
существенно больше программистов на Python, чем на ABAP. Python изучают чуть ли не в школах, не говоря уже о ВУЗах. Нетрудно предположить, что и уровень зарплатных ожиданий для Python также ниже при прочих равных
Существенно больше готовых и бесплатных Python-библиотек, которые выполнят необходимые преобразования и расчеты.
возможно разрабатывать Python-код для генерации XLSX-файлов без доступа к SAP-системам, практически в offline-режиме. Так удобнее отдавать работу на outsource.
проще пользоваться всеми возможностями git-репозиториев. Да, в ABAP это тоже возможно, но это гораздо менее распространено.
Более лаконичный код, чем на ABAP.
Например, при таких исходных данных для визуализации
следующий компактный код
выполняет преобразование строк в исходном массиве: разбивает строку на поля, разделенные ;. Последние 2 поля, которые по смыслу есть “показатели”, сохраняются как числа float. Первые 4 поля - это аналитики и хранятся как строки.
На выходе кода - кросс-таблица, в которой по строкам - развертка по полям A и B, а по столбцам - развертка по полям C и D. Поле E - один (из двух в исходных данных) показателей, используемый в кросс-таблице.
Если добавить код для расчета подитогов и итогов по строкам и столбцам (еще 5 - 6 строк кода), получится
Очевидно, что это уже почти готовая “матрица” для публикации в XLSX, после чего останется только применить форматирование [опять же, методами Python-библиотеки генерации XLSX] и файл готов. Файл можно публиковать средствами Python или операционной системы, и затем открывать в Excel, LibreOffice и т п.
Что касается производительности и потребления системных ресурсов при выполнении всех шагов процесса, начиная от выгрузки данных в csv из SAP и заканчивая генерацией XSLX-файла в Python-программе, то предложенная архитектура позволяет управлять распределением нагрузки, перенося ее с одних компонент на другие.
Например, если Python-код потребляет слишком много памяти при выполнении подготовки данных (слишком сложные расчеты или/и миллионы строк в выгрузке), то можно, не меняя степени параллелизации выполнения Python, и не выполняя аппаратного масштабирования, рассмотреть перенос вычислений или/и большее уплотнение данных на стороне SAP-сервера. Возможно и обратное, когда уменьшать нагрузку следует уже на SAP-сервер.
Полезные настройки программы и реестра для работы с Analysis.
Решение проблемы с подключением. Решение с доступом с ошибкой Com.Sap.Cof.Interfaces.Connection.ConnectionException для SAP GUI 7.4 и выше.
В случае возникновения ошибки Com.Sap.Cof.Interfaces.Connection.ConnectionException (SAP.Middleware.Connector.RfcCommunicationException) при подключении к системам SAP через BO Analysis for Excel, есть два решения этой проблемы (актуально до версии 2.7 включительно):
- Правка реестра. Изменение настройки в HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP\SAPLogon, значение LandscapeFormatEnabled.Значение 1 — SAPUILandscape.xml. Будет использоваться файл xml для доступа к системам. С такой настройкой может не работать. Значение 0 — saplogon.ini. С такой настройкой используется саплогон для доступа к системам. С такой настройкой может работать.
- Настройка программы BO Analysis. В настройках Analysis для Excel снимаем галочку с UseSapUILandscapeComApi. После этого Analysis будет использовать свой парсер файла SAPUILandscape.xml. Делается в Файл/Analysis/Настроить Analysis/Техническая конфигурация. В версии 2.8 эта галочка уже должна быть снята по умолчанию.
Для открытия надстройки Analysis в новом режиме, блокируя работу других надстроек:
В реестре: HKEY_CLASSES_ROOT\SAP.AO.Xl.Launch\shell\Open\command
Открываем параметр «По умолчанию» и дописываем соответствующий параметр /CreateProcess.
Для 32х по умолчанию так:
C:\Program Files\SAP BusinessObjects\Office AddIn\BiOfficeLauncher.exe» /app XLS /CreateProcess /launchfile «%1
Для 64х по умолчанию так:
C:\Program Files (x86)\SAP BusinessObjects\Office AddIn\BiOfficeLauncher.exe» /app XLS /CreateProcess /launchfile «%1
Для корректного открытия книг Analysis из меню системы BW
Settings for the Analysis Plug-in — информация про галочку ForceRefreshConnectionInfo.
ForceRefreshConnectionInfo — использовать файл saplogon.ini для SNC (Secure Network Communications).
Вариант 1
Отключить в Excel защищенный просмотр для файлов из Интернета
Файл (File) -Параметры (Options) -Центр управления безопасностью (Trust Centr) -Параметры центра управления безопасностью (Trust Centr Settings) -Защищенный просмотр(Protected View) -снять флажок с Включить защищенный просмотр для для файлов из Интернета (Enable Protected View for files originating from the Internet)
Надо понимать, что сработает только если надстройки были скачаны с интернета. Хотя обновление безопасности итак только для таких файлов запрет ставит.
Вариант 2
Добавить папку с нужной надстройкой/надстройками в Надежные расположения
Файл (File) -Параметры (Options) -Центр управления безопасностью (Trust Centr) -Параметры центра управления безопасностью (Trust Centr Settings) -Надежные расположения (Trusted Locations) -Добавить новое расположение (Add new location) . В диалоговом окне выбрать папку, в которой хранится файл надстройки. Можно поставить галочку Так же доверять всем вложенным папкам (Subfolders of this location are also trusted) , если это необходимо(например, если у вас одна папка с надстройками, но надстройки поделены на категории и каждая в своей подпапке).
Убедиться, что галочка Отключить все надежные расположения отключена (Disable All Trusted Locations) .
Эти два варианта не рекомендуется самим Microsoft, т.к. потенциально снижают безопасность. Хотя для второго пункта очевидно, что надо просто не кидать в надежные расположения все файлы подряд.
Вариант 3
Разблокировать файл
- полностью закрыть Excel(все файлы и приложение целиком)
- перейти в папку с нужной надстройкой и найти там файл надстройки
- правая кнопка мыши по файлу -Свойства. На вкладке Общие нажать кнопку Разблокировать(так же это может быть флажок блокировки - тогда его надо снять)
- нажать кнопку Применить -OK
Проделать действие со всеми нужными файлами надстроек.
Вариант 4
Небольшой финт , за который отдельное спасибо Захарову Владимиру, известному на форумах под ником ZVI
- полностью закрыть Excel(все файлы и приложение целиком)
- перейти в папку с нужной надстройкой и найти там файл надстройки
- запаковать в ZIP или RAR архив файл надстройки, удалить саму надстройку и затем извлечь из архива файл надстройки обратно в ту же папку
Вариант 5
Еще один финт , за который опять же спасибо Захарову Владимиру(ZVI)
I'm not able to use the Analysis for Microsoft Excel after some updates run in my laptop.
The message show in Load Behavior: Not loaded. A run time error occurred during the loading of the COM Add-in.
The error message appeared when try to add Analysis in the COM Add-in: The given assembly name or codebase was invalid (Exception from HRESULT: 0x80131047).
This thread is locked. You can follow the question or vote as helpful, but you cannot reply to this thread.
Report abuse
Harassment is any behavior intended to disturb or upset a person or group of people. Threats include any threat of suicide, violence, or harm to another. Any content of an adult theme or inappropriate to a community web site. Any image, link, or discussion of nudity. Any behavior that is insulting, rude, vulgar, desecrating, or showing disrespect. Any behavior that appears to violate End user license agreements, including providing product keys or links to pirated software. Unsolicited bulk mail or bulk advertising. Any link to or advocacy of virus, spyware, malware, or phishing sites. Any other inappropriate content or behavior as defined by the Terms of Use or Code of Conduct. Any image, link, or discussion related to child pornography, child nudity, or other child abuse or exploitation.
Replies (9)
Report abuse
Harassment is any behavior intended to disturb or upset a person or group of people. Threats include any threat of suicide, violence, or harm to another. Any content of an adult theme or inappropriate to a community web site. Any image, link, or discussion of nudity. Any behavior that is insulting, rude, vulgar, desecrating, or showing disrespect. Any behavior that appears to violate End user license agreements, including providing product keys or links to pirated software. Unsolicited bulk mail or bulk advertising. Any link to or advocacy of virus, spyware, malware, or phishing sites. Any other inappropriate content or behavior as defined by the Terms of Use or Code of Conduct. Any image, link, or discussion related to child pornography, child nudity, or other child abuse or exploitation.
Was this reply helpful?
Sorry this didn't help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
Here are my suggestions may help you:
You could compare your Office version(go to Excel> select File>Account, version number is in About Excel, don’t click About Excel) with the Update history for Office 365 to confirm whether your Office version is the latest or not.
1. You system version and Office version(go to Excel>select File>Account and take the screenshot of Product Information, do not click About Excel)
3. Since you have mentioned the issue happens when you try to add Analysis, the Analysis ToolPak is a default Excel add-in and already presents in Excel add-ins. If you added another add-in, then what is the detailed name of add-in ?
-----------------------
* Beware of scammers posting fake support numbers here.
* Once complete conversation about this topic, kindly Mark and Vote any replies to benefit others reading this thread.
Report abuse
Harassment is any behavior intended to disturb or upset a person or group of people. Threats include any threat of suicide, violence, or harm to another. Any content of an adult theme or inappropriate to a community web site. Any image, link, or discussion of nudity. Any behavior that is insulting, rude, vulgar, desecrating, or showing disrespect. Any behavior that appears to violate End user license agreements, including providing product keys or links to pirated software. Unsolicited bulk mail or bulk advertising. Any link to or advocacy of virus, spyware, malware, or phishing sites. Any other inappropriate content or behavior as defined by the Terms of Use or Code of Conduct. Any image, link, or discussion related to child pornography, child nudity, or other child abuse or exploitation.
Was this reply helpful?
Sorry this didn't help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
Thanks for your reply.
I tried to use the online repairing and updated to latest version. issue still not resolve.
I'm going to get admin to help me uninstall and see how it goes.
Thanks & best regards,
Report abuse
Harassment is any behavior intended to disturb or upset a person or group of people. Threats include any threat of suicide, violence, or harm to another. Any content of an adult theme or inappropriate to a community web site. Any image, link, or discussion of nudity. Any behavior that is insulting, rude, vulgar, desecrating, or showing disrespect. Any behavior that appears to violate End user license agreements, including providing product keys or links to pirated software. Unsolicited bulk mail or bulk advertising. Any link to or advocacy of virus, spyware, malware, or phishing sites. Any other inappropriate content or behavior as defined by the Terms of Use or Code of Conduct. Any image, link, or discussion related to child pornography, child nudity, or other child abuse or exploitation.
Was this reply helpful?
Sorry this didn't help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
As you're contacting your IT admin for re-installing Office application, we will wait for the latest update from your end and please provide the update when you have time.
In addition, please provide the information requested in the first reply for better understanding and moving further. That is, as the analysis add-in is the default add-in in Excel, do you mean the error prompts when you try to tick it (enable the add-in option)?
-----------------------
* Beware of scammers posting fake support numbers here.
* Once complete conversation about this topic, kindly Mark and Vote any replies to benefit others reading this thread.
Report abuse
Harassment is any behavior intended to disturb or upset a person or group of people. Threats include any threat of suicide, violence, or harm to another. Any content of an adult theme or inappropriate to a community web site. Any image, link, or discussion of nudity. Any behavior that is insulting, rude, vulgar, desecrating, or showing disrespect. Any behavior that appears to violate End user license agreements, including providing product keys or links to pirated software. Unsolicited bulk mail or bulk advertising. Any link to or advocacy of virus, spyware, malware, or phishing sites. Any other inappropriate content or behavior as defined by the Terms of Use or Code of Conduct. Any image, link, or discussion related to child pornography, child nudity, or other child abuse or exploitation.
Was this reply helpful?
Sorry this didn't help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
IT admin already helped me to uninstalled and re-installed the App (Analysis for Microsoft Excel), but issue still unable to resolve.
please see below screen shots as requested:
1. Office version
2. System version
3. Error message - This is the error prompt when I try to start the launcher
4. Error message - This is the error prompt when I try to tick "Analysis" in COM Add-ins
Hope I've provided all necessary information to you.
Thanks & best regards,
Carol
[PII is masked by George Jiang MSFT Support]
Report abuse
Harassment is any behavior intended to disturb or upset a person or group of people. Threats include any threat of suicide, violence, or harm to another. Any content of an adult theme or inappropriate to a community web site. Any image, link, or discussion of nudity. Any behavior that is insulting, rude, vulgar, desecrating, or showing disrespect. Any behavior that appears to violate End user license agreements, including providing product keys or links to pirated software. Unsolicited bulk mail or bulk advertising. Any link to or advocacy of virus, spyware, malware, or phishing sites. Any other inappropriate content or behavior as defined by the Terms of Use or Code of Conduct. Any image, link, or discussion related to child pornography, child nudity, or other child abuse or exploitation.
Was this reply helpful?
Sorry this didn't help.
Great! Thanks for your feedback.
How satisfied are you with this reply?
Thanks for your feedback, it helps us improve the site.
How satisfied are you with this reply?
Thanks for your feedback.
Thanks for posting back. Sorry for my late reply.
According to the error message in the screenshot, I recommend you can follow the steps below to troubleshoot your issue:
1. Open registry editor and go to “HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins” to check whether your add-in is installed correctly. By default, the value of LoadBehavior is “3”, with which the Analysis Add-in will be loaded when you launch Excel, if LoadBehavior value of your add-in is not “3”, you can try to change it to “3”. Open Excel to check whether the add-in works well.
2. Since the error message shows it is a vsto add-in, you could try to re-enable the add-in and check whether the add-in works well.
1. Did your colleagues in your organization have the same issue?
2. Since the issue happens when you try to add Analysis, there is no such add-in in my COM Add-ins, is it a 3rd party add-in? If so, you could contact to the add-in provider. If not, could you provide us the official document for it?
If you have any concerns, please feel free and come back to share with us. We are always willing to help you.
-----------------------
* Beware of scammers posting fake support numbers here.
* Once complete conversation about this topic, kindly Mark and Vote any replies to benefit others reading this thread.
Report abuse
Harassment is any behavior intended to disturb or upset a person or group of people. Threats include any threat of suicide, violence, or harm to another. Any content of an adult theme or inappropriate to a community web site. Any image, link, or discussion of nudity. Any behavior that is insulting, rude, vulgar, desecrating, or showing disrespect. Any behavior that appears to violate End user license agreements, including providing product keys or links to pirated software. Unsolicited bulk mail or bulk advertising. Any link to or advocacy of virus, spyware, malware, or phishing sites. Any other inappropriate content or behavior as defined by the Terms of Use or Code of Conduct. Any image, link, or discussion related to child pornography, child nudity, or other child abuse or exploitation.
На проектах внедрения отчетности с использованием хранилища данных SAP BW многим архитекторам и консультантам приходится решать задачи подготовки больших форматированных отчетов: разнообразных ведомостей, выписок и т.п. Такие отчеты обычно характеризуются:
- Нестандартными относительно инструментов SAP требованиями к форматированию;
- Фиксированным числом столбцов;
- Значительным количеством столбцов и строк (соответственно, десятки и десятки тысяч и более);
- Требованием наличия Excel-представления;
- Требованием к времени выполнения не более нескольких минут
Консультантом создается рабочая книга BW-BEx, которая содержит один или несколько BW-BEx-отчетов. Отчеты выгружаются на отдельные листы этой книги, которые обычно скрывают от пользователей. Видимым оставляют лишь один лист книги, содержащий целевую форму отчета с необходимым форматированием.
Работа пользователя с таким отчетом выглядит следующим образом:
- в зависимости от используемого Excel-инструмента SAP BW, пользователь запускает BW-BEx Analyzer или SBOP Analysis for Office, подключается к серверу SAP BW, выбирает из роли рабочую книгу и запускает ее на выполнение.
Через несколько секунд (иногда – десятка секунд) появляется селекционный экран.
На экране пользователь выбирает значения параметров. Например, год-месяц, балансовую единицу, группу материала и т.п. Затем нажимает кнопку «выполнить». - Теперь настала очередь «поработать» для SAP BW: все BW-BEx-отчеты рабочей книги выполняются последовательно, отчет за отчетом, передавая на рабочие листы Excel свои данные.
- После получения в Excel данных каждого отчета запускается VBA-макрос. Логика работы макроса такова, что он ничего не делает, пока данные всех отчетов не будут получены на Excel-листы.
- Когда данные последнего отчета поступили на Excel-лист, VBA-макрос выполняет основную работу по подготовке форматирования отчета.
- Когда VBA-макрос завершил работу, пользователь может увидеть результат отчета в своем Excel.
Чего только не придумывают консультанты, чтобы, оставаясь в рамках стандартного подхода, качественно сделать-таки большой отчет. Но почти всегда ничего не получается. «Почти» означает компромиссы, послабления в требованиях. Бизнес-пользователи либо соглашаются применять более ограничивающие фильтры и отчет возвращает меньше данных, либо ждать выполнения подольше, либо вручную сводить несколько фрагментов отчета в один.
Чтобы все-таки не говорить клиенту «нет, мы не можем этого реализовать при таких требованиях», необходимо для начала сделать правильные выводы из очевидного: каждый инструмент предназначен для своей задачи.
Инструменты BW BEx Analyzer и SBOP Analysis for Office в общем случае не предназначены для реализации эффективных отчетов с большим количеством ячеек, с числом около 750000 и более (см SAP-ноту 1040454). Поэтому, используя модель данных SAP BW, надо выбрать другой инструмент, другой подход в реализации. Тогда решение не только обязательно получится, но и будет при этом эффективным.
Последние версии SAP Netweaver, SAP BW и HANA внесли большее разнообразие подходов публикации BW-данных в Excel, без использования BW BEx. Можно упомянуть такие:
- Подключение Excel через OData-сервисы напрямую к SAP Netweaver или даже к SAP HANA
- Подключение Excel к SAP HANA, как к базе данных, напрямую, через MDX
Я хочу рассказать о подходе, гораздо менее требовательном к новизне версий используемых продуктов, и в чем-то менее сложным. Речь идет о публикации данных отчетов в шаблон Excel-документа через OLE-интерфейс. Excel-шаблон при этом хранится в репозитории BDS на стороне SAP BW.
Преимущества подхода с OLE очевидны:
- Работает на любых современных версиях продуктов SAP и Microsoft Excel
- Никаких ограничений на объемы данных в отчете, кроме собственных в Excel
- Обеспечивает максимальную производительность передачи данных от сервера BW в Excel через OLE. Пример: выборка 525000 ячеек (70 колонок на 7500 строк) передается за 7 сек.
- Подготовка данных на «сервере BW» выполняется в ABAP-отчете, который, собрав выборку во внутреннюю таблицу, передает ее через OLE в Excel-шаблон, полученный из BDS.
- Централизованное (в одной BW-системе) ведение всех объектов, релевантных для отчета: шаблон Excel, модель данных BW, программа ABAP для заполнения шаблона.
- Соответствие обычным SAP-стандартам по разграничению доступа, разработке, транспорту настроек и пр.
Сложности в ABAP могут возникнуть при получении данных из модели BW. Возможные варианты: вызов BEx-отчета в ABAP, вызов FM RSDRI_INFOPROV_READ, SQL-SELECT по таблицам модели данных. Но это обычно есть в арсенале навыков опытного BW-консультанта. Глубокие знания программировании ABAP понадобятся, если возникнет потребность еще более ускорить работу кода по подготовке данных за счет тюнинга ABAP-программы или даже распараллеливания вычислений. Последнее, кстати, невозможно архитектурно в подходе с рабочими книгами BW BEx.
Вкратце, порядок создания отчета с использованием подхода с OLE следующий.
Читайте также: