SAP ABAP - 子程序



子程序是可重用的代码段。它是程序内的模块化单元,其中函数以源代码的形式封装。您可以将程序的一部分分页到子程序中,以获得主程序的更好概述,并在下图所示的情况下多次使用相应的语句序列。

Subroutine Reusable Section

我们有程序 X,其中包含 3 个不同的**源代码块**。每个块都包含相同的 ABAP 语句。基本上,它们是相同的代码块。为了使此代码更易于维护,我们可以将代码封装到子程序中。我们可以在程序中根据需要多次调用此子程序。子程序可以使用 Form 和 EndForm 语句定义。

以下是子程序定义的通用语法。

FORM <subroutine_name>.
  
<statements> 
  
ENDFORM.

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

示例

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

**步骤 2** - 选择创建,然后选择子程序。在字段中写入子程序名称,然后单击继续按钮。子程序名称为“Sub_Display”,如下面的屏幕截图所示。

Create Subroutine

**步骤 3** - 在 FORM 和 ENDFORM 语句块中编写代码。子程序已成功创建。

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

REPORT ZSUBTEST. 
PERFORM Sub_Display.

* Form Sub_Display 
* -->  p1 text 
* <--  p2 text 
 
FORM Sub_Display. 
Write: 'This is Subroutine'. 
Write: / 'Subroutine created successfully'. 
ENDFORM.                    " Sub_Display

**步骤 4** - 保存、激活并执行程序。以上代码产生以下输出 -

Subroutine Test:
   
This is Subroutine
  
Subroutine created successfully

因此,使用子程序使您的程序更面向功能。它将程序的任务分成子功能,以便每个子程序负责一个子功能。您的程序变得更容易维护,因为对函数的更改通常只需要在子程序中实现。

广告

© . All rights reserved.