Сегодня расскажу о SAP Report Connector – он открыл нам довольно много полезного.

Главный плюс – то, что не нужно повторять логику программы SAP, а результат программы можно затянуть, «почти» как обычную таблицу:

  1. Итак, создаём коннект.
  2. После этого нажимаем в QlikView кнопку Reports:SAP Report Connector
  3. Заполняем название программы (именно программы, а не транзакции) – поле Report, пункт 1 на скрине ниже.SAP Report Connector
  4. Далее заполняем поле Variant:

a) либо название варианта – п.2. На примере ниже это оправдано, так как никакие параметры задавать переменными нет необходимости,

b) либо же заполняем п.3, параметры вручную, по нажатию на кнопку «Select Options», которые уже в скрипте можно будет задать нужными переменными (об этом ниже).

Одновременно использовать 2 и 3 пункт нельзя.

  1. Далее перед нами появляется отчёт, на примере ниже это окно п.4. Здесь показывается, как коннектор распределил строки по типам (Category), далее некоторые типы строк можно фильтровать или определять, как строку заголовка. А также поле Action, которое указывает текущий статус строки, data, header или skipSAP Report Connector

Самые трудные для реализации пункты (в зависимости от программы) – это заполнение параметров по кнопке «Select Options», а также пункт с преобразованиями получившихся отчётов. Практически к каждому отчёту нужен свой подход и свои маневры – то на стороне SAP, то на стороне коннектора, то уже при обработке в QlikView.

В итоге после одного преобразования, «Rows per record» = 4, у меня получился отчёт, который я уже смог обработать в QlikView. Остальные преобразования не помогли, в частности «Field Delimeter» отрабатывал некорректно:

SAP Report Connector

В QlikView обработка выглядит следующим образом:

В итоге получилась таблица, которой уже можно полноценно пользоваться для создания отчётов:

SAP Report Connector

Примерная схема работы с SAP Report Connector для QlikView

За время работы с SAP Report Коннектором выработалась следующая схема работы:

Шаг 1: Попробовать сразу загрузить программу в QlikView, желательно используя заготовленный вариант в SAP с небольшим количеством данных, чтобы не ждать каждый раз, ведь время отклика в коннекторе равно времени отклика в SAP . Если есть какая-нибудь ошибка, что происходит довольно часто в начале работы с отчётом – обращаться к коллегам из SAP. Ошибки бывают следующие:

a) У пользователя, под которым был коннект недостаточно прав (либо на саму программу, либо на какой-либо модуль, используемый это программой), это исправляется довольно быстро консультантами SAP.

b) SAP возвращает какой-либо элемент, который коннектор не может принять (чаще всего это графический элемент), и здесь также помогает взаимодействие с коллегами-сапистами. Решается вопрос корректировками программы на стороне SAP – отдельным выводом данных для пользователя, под которым законнекчен QlikView.

c) Создание Spoof-файлов. Spoof-файлы – некий аналог сохранений результатов отчетов. Уточнить, создает ли программа spoof, нужно опять же у консультантов SAP. Далее нажимаем Get – ждём выполнение транзакции и получаем отчет.

Шаг 2: После устранения ошибок – можно более тесно знакомиться с нужным отчётом. В инструкции рекомендуют использовать варианты в SAP для подключения, но в этих вариантах нельзя использовать переменные, а так что для автоматической выгрузки идеально подходит самостоятельный выбор параметров.

Чтобы настроить параметры, необходимо сначала попробовать сделать это в интерфейсе самого коннектора:

У многих программ может быть совсем немного параметров и настроить их получится интуитивно. Как на примере ниже:

  1. Вводим имя нужной программы.
  2. Нажимаем «Select Options»
  3. Перед нами всего два параметра. Настраиваем нужные значения – возможности аналогичны возможностям в SAP, можно выбрать одно значение, можно несколько, можно указать диапазон или исключить ненужные значения:SAP Report Connector

Но бывает, когда список параметров более чем велик, как на примере ниже. Причём часть параметров содержит описание и примерно понятна, а часть без описания:

SAP Report Connector

Чтобы разобраться с подобными параметрами необходимо создать нужный вариант в SAP, а потом уже с помощь транзакции SE38, смотреть какие значения, каким полям присваиваются:

SAP Report Connector

Далее указываем имя вариант, предварительно созданного из транзакции:

SAP Report Connector

Далее получаем список значений, который уже можно переносить в коннектор, а нужные значения, к примеру «Финансовый год» и «Отчетные периоды» заменять на переменные, для дальнейших манипуляций в QlikView:

SAP Report Connector

Шаг 3: Расставив параметры и получив нужные данные, переходим к завершающему этапу – обработке данной таблицы и корректировке полученного скрипта:

В зависимости от таблицы нужно будет указать (при необходимости):

  • какие строки пропускать
  • какая строка будет заголовком
  • какой разделитель использовать (Field Delimeter)
  • сколько строк в одной записи (Rows per record)
  • при необходимости самостоятельно настроить количество символов разделителей полей.
  • и т.д.

На примере программы RFBILA00:

  • Сначала я настроил какие типы строк оставить, определил строку с заголовком.
  • Далее проверил, как коннектор разделил данные на поля. В данном случае не определилось поле между «Статья» и «Текст статьи баланса», поэтому я настроил в скрипте этот пункт:

FIELD_DELIMITER_POSITIONS (0, 11, 73, 93, 113, 133, 144)

SAP Report Connector

  • В скрипте настроил поля, значения которых определяются переменными в зависимости от текущей даты.

На сегодня все ☺ В следующий раз напишу о своем любимом Коннекторе – SAP BAPI Connector for QlikView.