SAP的BAPI API是专有的,还是仅仅是其他东西的包装器?

时间:2009-10-08 17:53:13

标签: php soap sap bapi

所以,我刚刚被卷入涉及SAP的项目中。具体来说,我需要使用SAPs BAPI API从“客户端”SAP系统中提取大量信息。鉴于SAP是一个封闭的平台,我一直难以找到SAP和BAPI的人/事/地点/时间/方式的高级概述。具体地

  1. BAPI只是SOAP和/或XML-RPC的包装器,还是完全专有的通信格式?

  2. 是否有用于处理这些API的PHP扩展或库?

  3. 我已经看到了ABAP的首字母缩略词。它意味着什么,它适合什么?

  4. 此时我正在寻找可以给我10,000英尺视野的好资源。我意识到你可以花一辈子的时间来使用这些ERP系统,但仍然不了解整个事情。我只想要一个基本的概述,这样我就可以和“客户”的SAP人员交谈,而不是一个完整的新手。

4 个答案:

答案 0 :(得分:7)

好的,我会试一试......

  1. ABAP是大多数SAP系统编写的编程语言。它基本上是一个4 / GL版本的COBOL,其中添加了一些SQL。

  2. BAPI(“Business API”)是SAP的接口规范,是一种从系统中获取信息的方法。我想说最简单的方法是作为对SAP系统的远程过程调用,让您可以访问SAP中的数据和功能(在ABAP中写入)。它为您提供了一些API来从系统中提取数据(例如订单),在您的应用程序中更改它(例如在订单中添加位置)然后将其发回并调用业务功能(例如发布此订单以便进一步在SAP系统中处理。)

  3. 有从多种语言调用BAPI的包装器。只需谷歌或在SAP的帮助系统或sdn.sap.com的在线SAP开发者网络中搜索

  4. 祝你听起来不像是新手......或者只是承认它......祝你好运!

答案 1 :(得分:7)

BAPI代表 B usiness A 应用 P 编程 I nterface。

SAP在引入BAPI时的目标是提供......

  • 良好定义
  • 稳定
  • 实施无关
  • 证据充分的

业务API,在语义层面上提供对SAP解决方案的标准化访问。

仍然,BAPI是专有的SAP接口。

BAPI接口提供对应用程序级功能的统一访问, 独立于调用类型:同步和异步处理都可以 通过使用这些接口触发。

BAPI的同步处理将导致执行RFC(远程函数调用,SAP的专有RPC协议)。

异步处理透明地使用ALE(Application Link Enabling,SAP的专有EDI格式)。

webMethods SAP Adapter(又名SAP Business Connector)等产品提供对BAPI的双向服务级别访问,以及远程目标的低级RFC和ALE协议。

使用这些工具无需担心ABAP,4GL编程语言实现了所有SAP业务逻辑。

还为BAPI(以及RFC和IDoc)定义了几个XML映射,允许在XML信封中传输业务文档。这些是最引人注目的

  • bXML(Content-Type:application / x-sap.busdoc)
  • RFC-XML(Content-Type:application / x-sap.rfc)
  • IDoc-XML(Content-Type:application / x-sap.idoc)

以及SOAP。

答案 2 :(得分:4)

  1. 暂时忘掉bapi。 SAP拥有一种称为RFC(远程函数调用)的专有通信协议。 SAP提供了一个dll(或* nix的共享库),可用于从c调用SAP中的函数。 SAP还为java和.net提供了这个dll的包装器。这个dll的开源包装器适用于php,python,perl和ruby。所以这个过程就是。 a)有人在abap中开发(远程启用)功能。 b)您可以使用rfc dll,使用您选择的语言包装器,并调用此sap函数。 c)每个人都很开心。

    让我们回到BAPI。基于上一节中描述的技术。 SAP决定创建一组执行业务的功能。他们决定称他们为BAPI。因为名称“做商业用途的功能”并不酷。

  2. 以下是调用sap的php extention。您还可以在sap sdn

  3. 中找到有关php和sap的大量信息
  4. ABAP是sap平台的语言。

答案 3 :(得分:1)

BAPI是远程启用的功能模块,如果想要将它们称为“BAPI”,则将一些编程“标准”附加到它们上,例如,以某些格式返回的消息,参数以某种方式键入。它们实际上只不过是通过单选按钮启用远程通信的SAP功能模块。

我不同意不应该编写SAP代码,因为SAP提供了很多BAPI来覆盖大部分标准内容。几乎每个实现都需要代码,而SAP交付的东西只是基础。经理和销售类型会有不同的说法,但这不是现实。