Mime репозиторий - как верный помощник консультанта.

Стоит правда оговориться, что не только консультанта, но и программиста, который будет работать с консультантом.

О чем вообще тут пойдет речь?

Mime репозиторий - стандартное хранилище различного типа файлов, предназначенное под разные нужды.

См. MIME Repository MIME Repository Purpose The MIME Repository serves as storage for all MIME objects (for example, PDF files, images, ZIP files and so on) in a SAP system. The MIME objects are stored as development objects in the SAP database and are represented in the MIME Repository as a hierarchy of items and folders.

Если вы знакомы с процессом разработки WebDynpro или BSP приложений, то вам должно быть хорошо знакома процедура добавления, например, пользовательских картиночек, в свои приложения.

См. MIME Repository
Features For each Web Dynpro ABAP or BSP application, the system automatically creates an identically-named folder in the MIME Repository, which stores only application-specific MIME objects. The folder /SAP/PUBLIC contains MIME objects that can be used by multiple software components:

  • MIME objects accessible to all BSP applications are available at /SAP/BC/BSP/[namespace]/PUBLIC.
  • MIME objects accessible to all Web Dynpro applications are available at /SAP/BC/WebDynpro/[namespace]/PUBLIC.

Помимо различных изображений и документов, в репозитории можно хранить и исполняемые файлы (application/octet-stream)

См. Supported MIME Types

Допускаем, что перед вами стоит задача интеграции системы SAP с каким-нибудь внешним устройством, подключенным к локальной рабочей машине пользователя, либо к сетевому ресурсу. Необходимо "забрать" какую-то информацию с этого устройства и сохранить в системе. Сделать это напрямую из SAP не представляется возможным, но возможно выполнить с помощью сторонней утилиты, которая, после того как будет выгружена на локальную машину пользователя, работающего в системе SAP, выполнит свое предназначение и затем самоустранится. Ну или как-то так. Ниже представлено описание нескольких пунктов в качестве возможной реализации данного сценария.

1. Создание утилиты

В примере для этой заметки я воспользуюсь примитивным скриптом, скажем, на Python, следующего содержания:

Рисунок 1.

2. Загрузка в MIME репозиторий

Доступ в MIME репозиторий можно получить из транзакции SE80, выбрав одноименный раздел

Рисунок 2.

Выберите директорию, где будут лежать нужные вам файлы

См. Creating Folders

Я буду использовать следующий путь SAP -> PUBLIC -> zdemo. Кликните правой кнопкой мыши по только что созданной папке и выберите в контекстном меню Import MIME Objects

Рисунок 3.

Выберите файл для импорта и сохраните его в системе (в моем случае также необходимо согласиться с тем, что используемый мной тип файла несколько отличается от удобоваримых для SAP)

Рисунок 4.

3. Абапим

Ничего комментировать здесь не буду. Допустим

4. Тестируем

Тест будет проходить в несколько этапов:

  • Проверяю, что директория, куда должен выгрузиться файл пустая;
  • Запускаю ABAP-программу с параметром, при котором не будет выгружен скрипт. Проверяю, что данные условия выполнены;
  • Запускаю ABAP-программу с параметром, при котором будет выгружен и запущен скрипт. Проверяю, что данные условия выполнены;

Как всегда, с любовью. Обнимаю, ignatov.