美文网首页
如何通过增强(Enhancement) 的方式给 SAP ABA

如何通过增强(Enhancement) 的方式给 SAP ABA

作者: _扫地僧_ | 来源:发表于2022-10-27 14:44 被阅读0次

ABAP 系统有比较完善的修改控制权限管控,比如笔者试图修改一个 SAP ABAP 系统里标准的函数,就会遇到如下的警告消息,然后修改的尝试会被阻止:

You are not authorized to make changes (authorization object S_DEVELOP)



但有的时候,出于项目需求,我们确实需要为一些 ABAP 标准程序增添新的功能。本文介绍如何采取 ABAP 增强(Enhancement) 的方式来完成我们的目的。ABAP 标准程序和其增强程序的存储是完全独立的。SAP 负责开发 ABAP 标准程序,而项目里的 ABAP 开发人员,即学习本教程的各位朋友,负责开发 ABAP 标准程序的增强程序。即使将来被增强的 ABAP 标准程序又有了更新或者 bug 修复,也不会影响到项目里的 ABAP 开发人员编写的增强程序。反之亦然。

本文通过一个实际的例子向大家介绍如何增强一个 ABAP 标准程序。

假设我们有一个 SAP 标准 ABAP 报表:ZSTANDARD,我用这个报表来模拟 SAP 标准程序。

REPORT z.

DATA: lt_data TYPE string_table.

FORM get_output CHANGING ct_data TYPE string_table.
  APPEND 'Hello' TO ct_data.
  APPEND 'World' TO ct_data.
ENDFORM.

FORM print_output USING it_data TYPE string_table.
  DATA: lv_line TYPE string.
  LOOP AT it_data INTO lv_line.
    WRITE:/ lv_line.
  ENDLOOP.

ENDFORM.

START-OF-SELECTION.

  PERFORM get_output USING lt_data.
  PERFORM print_output USING lt_data.

执行之后,打印两行数据:

Hello
World

非常简单的一个 ABAP 报表。

假设我们的需求是,不修改这个 ABAP 报表的源代码,就能让其打印三行数据,即在 World 后,增加第三行 Jerry 的打印。

下面是采用 SAP ABAP 自带的增强开发工具对其增强的详细步骤介绍。

总结

本文通过一个实际的例子,介绍了如何不通过修改 SAP 标准 ABAP 程序源代码的方式,对其的功能进行增强,即采取 ABAP 增强开发的方式进行二次开发,这是一种在实际 SAP 项目实施过程中使用非常广泛的技术。

相关文章

网友评论

      本文标题:如何通过增强(Enhancement) 的方式给 SAP ABA

      本文链接:https://www.haomeiwen.com/subject/utcftdtx.html