SAP ABAP 子程序

子程序是代码的可重用部分。它是程序中的模块化单元,其中函数以源代码的形式封装。将程序的一部分放到子程序中,以更好地了解主程序,并多次使用相应的语句,如下图所示:

我们的程序 X 有 3 个不同的源代码块。每个块都有相同的 ABAP 语句。基本上,它们是相同的代码块。为了使这段代码更易于维护,我们可以将代码封装到一个子程序中。我们可以在我们的程序中调用这个子程序,调用次数随意。可以使用 FormEndForm 语句定义子程序。

以下是子程序定义的一般语法:

  1. FORM <subroutine_name>.
  2. <statements>
  3. ENDFORM.

我们可以使用 PERFORM 语句调用子程序。控件跳转到子程序中的第一条可执行语句。遇到 ENDFORM 时,控件跳回 PERFORM 语句后面的语句。


实例

  • 步骤 1 - 转到事务 SE80。打开现有程序,然后右键单击程序。在本例中,它是 ZSUBTEST

  • 步骤 2 - 选择 Create 创建”,然后选择 Subroutine 子程序。在字段中写入子例程名称,然后单击 continue 继续按钮。子例程名称为 Sub_Display,如下图所示:

  • 步骤 3 - 在 FORMENDFORM 语句块中编写代码。已成功创建子程序。

    我们需要包含 PERFORM 语句来调用子程序。让我们看看代码 :

  1. REPORT ZSUBTEST.
  2. PERFORM Sub_Display.
  3. * Form Sub_Display
  4. * --> p1 text
  5. * <-- p2 text
  6. FORM Sub_Display.
  7. Write: 'This is Subroutine'.
  8. Write: / 'Subroutine created successfully'.
  9. ENDFORM. " Sub_Display
  • 步骤 4 - 保存、激活和执行程序。

    结果如下:

  1. Subroutine Test:
  2. This is Subroutine
  3. Subroutine created successfully
因此,使用子程序可以使程序更加面向功能。它将程序的任务拆分为子功能,以便每个子程序负责一个子功能。您的程序变得更易于维护,因为对函数的更改通常只需在子程序中实现。