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

«Рестарт SAP ERP и влияние на SAP BW»
Олег Точенюк:
Да я прочитал, я вообще интересуюсь, вы где-то такое видели с копированием продуктивных мандантов (классическое заблуждение, не знаю кого) и ... если видели, то добавить мандант нужно было на этапе...
«Рестарт SAP ERP и влияние на SAP BW»
Олег Точенюк:
Илья, а Вы такое в жизни видели? Просто описанная вами схема с копированием первого квартала в новую систему и параллельный ввод данных уже в системы первого и второго кварталов показывают, что для...
«SAP NetWeaver BW и Xcelsius. Ра­сши­ре­нные опции инте­ра­кти­вной отче­тно­сти и аналитики при испо­льзо­ва­нии сводных таблиц Microsoft Excel 2007»
Андрей Лазеба:
Комментарий к статье из BIexpert  » Том 8 (2010) » Выпуск 1 Комментарий эксперта компании САПРАН к статье «SAP...

Об одной технологии работы с длинными текстами в SAP BW, BI-IP


3333
5

В сообщении описывается технология хранения в SAP BW текстов неограниченной длины, их ввода через формы SAP BI-IP  и отображения в отчетах SAP BEx. Данная технология успешно апробирована для средств SAP BW/BEx/BI-IP/SBOP Dashboards.

1.     Предпосылки

Пользователи форм SAP BI-IP нередко задают вопрос о возможности ввода (с последующим отображением) текстовых комментариев к введенным числовым значениям. В стандартном инструментарии SAP BI (BW/BI-IP/BEx) отсутствуют средства для хранения и отображения текстов длиннее 60-ти символов, а для ввода текстов средств вовсе нет. Предлагаемая технология обходит описанные ограничения.

2.     Решение

Решение в основе опирается на документы (27) и (28).

Решение включает следующие элементы:

  • Data Store Object (DSO) прямой записи для хранения текстов в привязке к ключам;
  • Форма Excel или BI-IP с VBA-расширением, позволяющая вводить и сохранять длинные тексты;
  • Функциональный модуль, вызываемый из VBA-расширения для записи длинного текста в DSO;
  • Запрос BEx, извлекающий текст по ключам из  DSO, и VBA-расширение, соединяющее фрагменты текста в одно целое.

Порядок действий, лежащий в основе решения, следующий:

  • Трансформировать длинный текст в упорядоченный, потенциально неограниченный, список строк длины до 60 символов каждая;
  • Привязать список к составному ключу;
  • Записать список в DSO;
  • При считывании данных соединить элементы списка в целый текст.

Ниже подробно рассматриваются элементы и процесс решения.

Data Store Object для записи длинного текста

Data Store Object (Рисунок 1) для записи длинного текста должен иметь:

  • Тип «прямая запись» п.1.;
  • Ключевое текстовое поле (в рассматриваемом примере – ZKEY) для хранения составного ключа в RAW-формате, п.2.;
  • Ключевое числовое поле (в рассматриваемом примере – ZKEY2) с номером подстроки исходного текста, п.3.;
  • Обычные ключевые поля (в рассматриваемом примере – 0CALDAY, ZBUKRS) для соединения с другими провайдерами и для отображения данных в запросах, п.4.;
  • Поле данных (в рассматриваемом примере – ZTXT0) для хранения подстроки исходного текста, п.5. ;
  • Обычные поля данных, п.6. .

Рисунок 1 Структура Data Store Object для записи длинного текста

Форма Excel или BI-IP

Это может быть произвольный документ Excel, как например (Рисунок 2) , или форма планирования BI-IP, как например (Рисунок 3).

Рисунок 2 Пример произвольной Excel-формы ввода

Рисунок 3 Форма BI-IP с функцией загрузки текстовых комментариев к отдельным позициям

VBA-расширение

VBA-расширение (Рисунок 4) вызывает функциональный модуль, управляющий записью в DSO, при этом:

  • Перед записью текста полезно выполнить функцию Application.WorksheetFunction.Clean(s) - для удаления «специальных» символов (с кодами от 0 до 31), не вполне допустимых в SAP BW;
  • Как результат, в DSO (Рисунок 5) появляется ряд записей, отвечающих отдельным строкам длинного текста, суммарная длина текста при этом теоретически не ограничена;
  • Технология допускает запись не только текстов, но и обычных показателей.

Рисунок 4 Пример  VBA-кода для записи в DSO

Рисунок 5 Результат записи в DSO

Функциональный модуль

Взаимодействие с DSO обеспечивает

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

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

Ключевые слова: BI/BW
Функциональная область: Информационные технологии / IT, Basis, ABAP
Ролевое назначение: SAP Консультант / Consultant
Комментарии:

Илья Муковоз (Рейтинг: 4972) 18:36, 08 апреля 2015

Более красивое решение: SAP BW - BusinessDocumentService (BDS).
12:28, 22 апреля 2015

Валерий Булевич (Рейтинг: 106)

Илья, поясни - предлагаемый тобой BDS обеспечит требуемую функциональность - работу с длинными текстовыми данными непосредственно в рабочих книгах (просмотр/редактирование)?

Виктор Долгов (Рейтинг: 161) 01:59, 22 апреля 2015

В текущей версии SAP BW 7.4 это уже не актуально.
Приведенное решение считаю сложным, т.к. в свое время делал проще.
В "куб верхнего уровня"(на котором строил отчет) добавлял N-ое количество аналитик с текстами по 60 символов, а на VBA производил "сборку" и "разборку" текстов.
Как минимум, отпадает необходимость в вызове ФМ из VBA.
С моей т.з. вызывать ФМ в цикле VBA не самое лучшее решение.
Насколько я помню, подобные рабочие книги и без этого отрабатывали не слишком быстро.
12:41, 23 апреля 2015

Алексей Рыбин (Рейтинг: 307)

Добрый день! Обсуждаемая технология, конечно, унаследована от давно известной нарезки на сегменты по 60, но, в свою очередь, дает возможность:
1)Вводить и редактировать тексты в BI-IP
2)Оперировать текстами неограниченной длины
В BW7.4 длина текста ограничена 1333-тью знаками (картинка ниже). Количество аналитик в DSO также ограничено.

Александр Злобин (Рейтинг: 10) 11:58, 14 мая 2015

Так 7.4 же поддерживает длинные тексты и ввод комментариев в формы BI-IP.
Такой подход не применим для Analysis for Office - оттуда не вызвать RFC

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