SAP ABAP 功能模塊

2018-01-01 12:56 更新

功能模塊構(gòu)成SAP系統(tǒng)的主要部分,因?yàn)槎嗄陙?lái)SAP使用功能模塊模塊化代碼,允許代碼自身,開(kāi)發(fā)人員以及客戶的代碼重用。

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

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

Create Function Module

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

創(chuàng)建新程序

步驟1 - 轉(zhuǎn)到事務(wù)SE38并創(chuàng)建一個(gè)名為Z_SPELLAMOUNT的新程序。

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

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

Spell Amount Program

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

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

Spelling Amount

上面的代碼產(chǎn)生以下輸出:

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)