1

一段时间以来,我一直在处理通过 Web 服务与 SAP 交互的应用程序,并且我也想着手编写 Web 服务背后的 BAPI。我的公司一直在使用 SAP 顾问进行 BAPI 编程,我也想担任该职位。

作为最终用户,我对 SAP 的核心功能有相当多的经验,所以我在这方面并不完全陌生。但我以前从未做过任何 BAPI 编程,而且我很难找到好的初学者指南。我想为有经验的程序员找到一些东西,将您从 SAP 的“hello world”等价物带到编写业务关键 BAPI。

我听说 BAPI 编码类似于 SQL 中的编码,是这样吗?

另外,我想找到一个免费的在线指南,但我意识到这可能是一厢情愿的想法,所以任何综合性书籍也会有所帮助。

4

3 回答 3

4

我不确定在线资源,但是有几本很好的书可以学习 ABAP 编程,您会寻找 ABAP 基础知识和/或 ABAP 对象(后者听起来更好,更“高级”,但通常是只是该语言的更现代版本)。我过去使用过的一个非常有用的建议是这本书。由于这些是“企业书籍”,因此请准备好花比平装书更多的钱。

应涵盖的主题:

  • 数据字典(用于定义表、结构等的 SAP 术语)
  • 报告编程
  • GUI 编程(不是必需的)
  • 函数(不确定“Funktionsbaustein”的英文翻译,它是一个带有参数等的函数,但在数据字典中定义)
  • 交易

这将是您在了解 BAPI 之前应该了解的一些基础知识。

BAPI 只是 SAP 提供的函数(以 ABAP 编码并且可扩展),它们在版本之间更“稳定”(即它们不会发生太大变化),并且可以从 SAP 系统内部或从“外部”(另一个SAP 系统或非 SAP 程序)。

SAP 提供了很多 BAPI(如果需要,可以添加自己的),允许程序执行很多/更多用户可以通过 SAPGUI 执行的操作。尽管 SAP 的偏好“每天”都在变化,但它是在比 ABAP 更高级别上对 SAP 系统进行编程的首选方式,可与纯 Java 与使用复杂类库的编程相媲美。

很多 ABAP 编程就像在 4GL 中工作(这就是它曾经被称为 ABAP/4 的原因),大量处理您正在读取/写入数据库的数据,而且还要将这些数据输出给用户并处理用户输入。我将其描述为 COBOL 和 VB 之间的一种奇怪的混合体,当然,这是一项很好的技能。

于 2009-01-31T08:05:02.613 回答
1

您的开发人员所说的“BAPI 编码”实际上是 RFC 编码。BAPI 是一种面向对象的编码方法,其中每个方法都是一个 RFC。如果你想编写 RFC(远程功能调用),那么这里有一个很好的循序渐进的 RFC 教程:

http://help.sap.com/saphelp_nw04/helpdata/en/26/64f61dfa8911d386e70000e82011b8/content.htm (只有第 1 步和第 2 步对您来说真正重要)

最大的初学者错误是:

  • 设置远程可调用标志

但请注意,ABAP 看起来很简单,而且我见过一些开发人员编写的糟糕的东西,他们认为了解语法和 SE11 就足够了。作为初级 ABAPer,您应该始终让高级 ABAP 编码人员审查您的规范/代码。

于 2009-02-04T15:27:00.677 回答
0

BAPI 编程也有一些细节——不仅仅是接口是稳定的,或者是 RFC 功能模块的花哨名称。

如果要将可远程调用的 ABAP 功能模块称为 BAPI,则它必须满足特定的事务标准 (ACID)。

请参阅http://help.sap.com/saphelp_nw04/helpdata/en/a5/3ec8654ac011d1894e0000e829fbbd/frameset.htm

于 2009-05-11T09:14:32.570 回答