Являются ли API-интерфейсы SAP BAPI проприетарными или просто оболочкой для чего-то другого?

StackOverflow https://stackoverflow.com/questions/1539461

  •  20-09-2019
  •  | 
  •  

Вопрос

Итак, я только что оказался втянутым в разгар проекта с участием SAP.В частности, мне нужно использовать API SAPs BAPI для извлечения большого объема информации из системы SAP "Клиента".Учитывая, что SAP является закрытой платформой, у меня возникли проблемы с поиском высокоуровневого обзора того, кто / что / где / когда / как работает SAP и BAPI.В частности

  1. Является ли BAPI просто оболочкой для SOAP и / или XML-RPC, или это полностью проприетарный формат общения?

  2. Существует ли расширение PHP или библиотека для работы с этими API?

  3. Я видел распространенную аббревиатуру ABAP.Что это значит и как это соотносится с действительностью?

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

Это было полезно?

Решение

БАПИ расшифровывается как Bполезность Aдополнение Pпрограммирование Яповерхность.

Целью SAP при внедрении BAPI было обеспечить...

  • четко очерченный
  • стабильный
  • реализация -независимая
  • хорошо документированный

бизнес-API, которые обеспечивают стандартизированный доступ к решениям SAP на семантическом уровне.

Тем не менее, BAPI - это проприетарные интерфейсы SAP.

Интерфейсы BAPI обеспечивают унифицированный доступ к функциям прикладного уровня, независимо от типа вызова:Как синхронная, так и асинхронная обработка может быть запущена с помощью этих интерфейсов.

Синхронная обработка BAPI приведет к выполнению RFC (удаленный вызов функции, проприетарный протокол RPC SAP).

Асинхронная обработка обеспечивает прозрачное использование ALE (включение связи с приложением, проприетарный формат EDI SAP).

Такие продукты, как webMethods SAP Adapter (он же SAP Business Connector), обеспечивают двунаправленный доступ на уровне сервиса к протоколам BAPI, а также к протоколам RFC и ALE более низкого уровня из / в удаленное место назначения.

Используя эти инструменты, нет необходимости беспокоиться об ABAP, языке программирования 4GL, на котором реализована вся бизнес-логика SAP.

Существует также несколько XML-сопоставлений, определенных для BAPI (а также RFC и IDOC), которые позволяют передавать деловые документы в XML-конверте.Они наиболее заметны

  • bXML (Тип содержимого:приложение/x-sap.busdoc)
  • RFC-XML (Тип содержимого:приложение/x-sap.rfc)
  • IDoc-XML (Тип содержимого:приложение /x-sap.idoc)

так же, как и МЫЛО.

Другие советы

Хорошо, я попробую...

  1. ABAP — это язык программирования, на котором написана большая часть системы SAP.По сути, это версия COBOL 4/GL с добавлением некоторого количества SQL.

  2. BAPI («Бизнес API») — это спецификация интерфейса SAP и способ получения информации из системы.Я бы сказал, что самый простой способ взглянуть на это — это как на удаленный вызов процедуры в системе SAP, предоставляющий вам доступ к данным и функциям (написанным на ABAP), которые находятся в SAP.Он дает вам некоторый API для извлечения данных из системы (например.заказ), измените его в своем приложении (например.добавить позиции в заказ), а затем отправить его обратно, а также вызвать бизнес-функции (например,опубликовать этот заказ для дальнейшей обработки в системе SAP).

  3. Существуют оболочки для вызова BAPI на нескольких языках.Просто выполните поиск в Google или в справочной системе SAP или в онлайн-сети разработчиков SAP на сайте sdn.sap.com.

Удачи и не походите на новичка..или просто признайся в этом...Удачи!

  1. Забудьте на секунду о бапи.SAP имеет собственный протокол связи под названием RFC (удаленный вызов функции).SAP предоставляет dll (или общую библиотеку для *nix), которую вы можете использовать для вызова функций в SAP из c.SAP также предоставляет оболочки этой dll для Java и .net.И есть оболочки с открытым исходным кодом этой dll для php, python, perl и Ruby.Итак, процесс такой.а) кто-нибудь разработает функцию (с удаленным включением) в abap.б) вы можете использовать dll rfc с оболочкой для выбранного вами языка и вызвать эту функцию SAP.в) все счастливы.

    Вернемся к BAPI.На основе технологии, описанной в предыдущем разделе.SAP решила создать набор функций, которые занимаются бизнесом.И они решили назвать их БАПИ.Потому что название «Функции, которые занимаются бизнесом» не круто.

  2. Здесь расширение PHP для вызова сапа.Вы также можете найти много информации о php и SAP в SAP SDN.

  3. АБАП это язык платформы SAP.

BAPI — это удаленно активируемые функциональные модули, к которым прикреплены некоторые «стандарты» программирования, если кто-то хочет называть их «BAPI», напримерсообщения возвращаются в определенных форматах, параметры вводятся определенным образом.На самом деле это не что иное, как функциональные модули SAP, обеспечивающие удаленную связь с помощью переключателя.

Я не согласен с тем, что не нужно писать код SAP, потому что SAP предоставила так много BAPI, чтобы охватить большую часть стандартных вещей.Практически для каждой реализации требуется код, а поставляемый SAP материал — это лишь основа.Менеджеры и продавцы скажут другое, но это не реальность.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top