SAP ABAP 功能模塊

2018-01-01 12:56 更新

功能模塊構成SAP系統(tǒng)的主要部分,因為多年來SAP使用功能模塊模塊化代碼,允許代碼自身,開發(fā)人員以及客戶的代碼重用。

功能模塊是包含一組具有導入和導出參數(shù)的可重用語句的子程序。 與包含程序不同,功能模塊可以獨立執(zhí)行。 SAP系統(tǒng)包含幾個可從任何ABAP程序調用的預定義功能模塊。 該功能組用作一種邏輯上屬于一起的多個功能模塊的容器。 例如,人力資源工資系統(tǒng)的功能模塊將被放在一起成為一個功能組。

要了解如何創(chuàng)建功能模塊,必須探索函數(shù)構建器。 您可以找到事務代碼為SE37的函數(shù)構建器。 只需用通配符鍵入功能模塊名稱的一部分,以演示可以搜索功能模塊的方式。 鍵入* amount *,然后按F4鍵。

Create Function Module

搜索結果將顯示在新窗口中。 功能模塊顯示在具有藍色背景的行中,其功能組以粉紅色的行顯示。 您可以使用對象導航器屏幕(事務SE80)進一步查看功能組ISOC。 您可以看到功能模塊列表以及功能組中保存的其他對象。 讓我們考慮函數(shù)模塊SPELL_AMOUNT。 此功能模塊將數(shù)字轉換為字。

創(chuàng)建新程序

步驟1 - 轉到事務SE38并創(chuàng)建一個名為Z_SPELLAMOUNT的新程序。

步驟2 - 輸入一些代碼,以便可以設置一個參數(shù),其中可以輸入值并將其傳遞到功能模塊。 文本元素text-001在這里顯示為“輸入值"。

步驟3 - 要為此編寫代碼,請使用CTRL + F6。 之后,將出現(xiàn)一個窗口,其中“CALL FUNCTION"是列表中的第一個選項。 在文本框中輸入“spell_amount",然后點擊繼續(xù)按鈕。

Spell Amount Program

步驟4 - 自動生成一些代碼。 但是我們需要增強IF語句以包含一個代碼,以向屏幕寫入一條消息,說“函數(shù)模塊返回一個值:sy-subrc",并添加ELSE語句,以便在函數(shù) 模塊成功,這里,必須設置一個新的變量來保存從函數(shù)模塊返回的值,讓我們稱之為\'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 - 函數(shù)模塊返回的變量稱為IN_WORDS。 在程序中設置相應的變量名為\'result\'。 通過使用LIKE語句來引用稱為SPELL的結構來定義IN_WORDS。

步驟6 - 保存,激活并執(zhí)行程序。 輸入如以下屏幕截圖所示的值,然后按F8。

Spelling Amount

上面的代碼產生以下輸出:

Spelling the Amount 
Amount in words is: 
FIVE THOUSAND SIX HUNDRED EIGHTY
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號