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

因此,使用子程式使您的程式更面向功能。它將程式的任務分成子功能,以便每個子程式負責一個子功能。您的程式變得更容易維護,因為對函式的更改通常只需要在子程式中實現。

廣告