
- SAP ABAP 教程
- SAP ABAP - 首頁
- SAP ABAP - 概述
- SAP ABAP - 環境
- SAP ABAP - 螢幕導航
- SAP ABAP - 基本語法
- SAP ABAP - 資料型別
- SAP ABAP - 變數
- SAP ABAP - 常量和字面量
- SAP ABAP - 運算子
- SAP ABAP - 迴圈控制
- SAP ABAP - 決策
- SAP ABAP - 字串
- SAP ABAP - 日期和時間
- SAP ABAP - 資料格式化
- SAP ABAP - 異常處理
- SAP ABAP - 字典
- SAP ABAP - 域
- SAP ABAP - 資料元素
- SAP ABAP - 表
- SAP ABAP - 結構
- SAP ABAP - 檢視
- SAP ABAP - 搜尋幫助
- SAP ABAP - 鎖物件
- SAP ABAP - 模組化
- SAP ABAP - 子程式
- SAP ABAP - 宏
- SAP ABAP - 函式模組
- SAP ABAP - 包含程式
- SAP ABAP - Open SQL 概述
- SAP ABAP - Native SQL 概述
- SAP ABAP - 內部表
- SAP ABAP - 建立內部表
- ABAP - 填充內部表
- SAP ABAP - 複製內部表
- SAP ABAP - 讀取內部表
- SAP ABAP - 刪除內部表
- SAP ABAP - 面向物件
- SAP ABAP - 物件
- SAP ABAP - 類
- SAP ABAP - 繼承
- SAP ABAP - 多型
- SAP ABAP - 封裝
- SAP ABAP - 介面
- SAP ABAP - 物件事件
- SAP ABAP - 報表程式設計
- SAP ABAP - 對話程式設計
- SAP ABAP - 智慧表單
- SAP ABAP - SAPscript
- SAP ABAP - 客戶出口
- SAP ABAP - 使用者出口
- SAP ABAP - 業務附加功能
- SAP ABAP - Web Dynpro
- SAP ABAP 有用資源
- SAP ABAP - 問答
- SAP ABAP - 快速指南
- SAP ABAP - 有用資源
- SAP ABAP - 討論
SAP ABAP - 函式模組
函式模組構成了SAP系統的重要組成部分,因為多年來SAP一直使用函式模組對程式碼進行模組化,從而允許程式碼重用,函式模組本身、其開發人員以及客戶都可以重用這些程式碼。
函式模組是包含一組可重用語句的子程式,具有匯入和匯出引數。與包含程式不同,函式模組可以獨立執行。SAP系統包含多個預定義的函式模組,可以從任何ABAP程式中呼叫。函式組充當許多邏輯上屬於一起的函式模組的容器。例如,人力資源工資系統中的函式模組將被組合到一個函式組中。
要了解如何建立函式模組,必須探索函式生成器。您可以使用事務程式碼SE37找到函式生成器。只需鍵入函式模組名稱的一部分以及萬用字元即可演示如何搜尋函式模組。鍵入*amount*,然後按F4鍵。

搜尋結果將顯示在新視窗中。函式模組以藍色背景的行顯示,其函式組以粉紅色行顯示。您可以使用物件導航器螢幕(事務SE80)進一步檢視函式組ISOC。您可以看到函式模組和其他儲存在函式組中的物件的列表。讓我們考慮函式模組SPELL_AMOUNT。此函式模組將數字轉換為文字。
建立新程式
步驟1 - 轉到事務SE38並建立一個名為Z_SPELLAMOUNT的新程式。
步驟2 - 輸入一些程式碼,以便可以設定一個引數,在其中可以輸入值並傳遞給函式模組。此處的文字元素text-001顯示“輸入值”。
步驟3 - 要為此編寫程式碼,請使用CTRL+F6。之後,將出現一個視窗,其中“CALL FUNCTION”是列表中的第一個選項。在文字框中輸入'spell_amount',然後單擊繼續按鈕。

步驟4 - 一些程式碼會自動生成。但我們需要增強IF語句以包含向螢幕寫入訊息的程式碼,以顯示“函式模組返回的值為:sy-subrc”,並新增ELSE語句,以便在函式模組成功時寫出正確的結果。在這裡,必須設定一個新變數來儲存從函式模組返回的值。讓我們將其稱為'result'。
以下是程式碼:
REPORT Z_SPELLAMOUNT. data result like SPELL. selection-screen begin of line. selection-screen comment 1(15) text-001. parameter num_1 Type I. selection-screen end of line. CALL FUNCTION 'SPELL_AMOUNT' EXPORTING AMOUNT = num_1 IMPORTING IN_WORDS = result. IF SY-SUBRC <> 0. Write: 'Value returned is:', SY-SUBRC. else. Write: 'Amount in words is:', result-word. ENDIF.
步驟5 - 函式模組返回的變數稱為IN_WORDS。在名為“result”的程式中設定相應的變數。使用LIKE語句定義IN_WORDS以引用名為SPELL的結構。
步驟6 - 儲存、啟用並執行程式。輸入如下面的螢幕截圖所示的值,然後按F8。

以上程式碼產生以下輸出:
Spelling the Amount Amount in words is: FIVE THOUSAND SIX HUNDRED EIGHTY