日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

ABAP开发基础知识:11)子程序的建立与调用

發布時間:2024/2/2 综合教程 47 生活家
生活随笔 收集整理的這篇文章主要介紹了 ABAP开发基础知识:11)子程序的建立与调用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ABAP子程序(Subrouting)是包含在程序中的一段具有一定功能的代碼,能夠將某個功能作為一個小程序包含在主程序中,以方便程序分析及閱讀。特別是一此程序中多次用到的功能,可以簡化代碼,增加程序的可讀性且便于維護。

1.子程序的定義

通過FORM...ENDFORM語名可以實現子程序的定義,通過PERFORM語句來實現子程序的調用。
[For Example]
PERFORM welcome. "調用子程序
FORM welcome. "定義子程序
WRITE / 'subrouting'.
ENDFORM.

2.子程序接口參數的定義及使用

子程序實現了將某段功能的封裝處理,那么子程序怎樣實現與ABAP程序中其它變量的數值的交換呢?可以通過定義子程序接口來實現,該方法共包括3種模式。

1)FORM TABLES itab2...itabn:以表的方式傳輸數據。
[For Example]
DATA:BEGIN OF staff OCCURS 0,
name(10) TYPE C,
END OF staff.

staff-name = 'jack'.
APPEND staff. "對內表賦值

PERFORM u TABLES staff. "輸出jack.

FORM u TABLES x STRUCTURE staff.
WRITE:/ x-name.
ENDFORM

2)FORM TABLES USING [VALUE(p1)...pn]:向子程序中直接傳輸參數,該傳輸值在子程序中不改變。
[For Example]
DATA:str1(10) TYPE C,
str2(10) TYPE C.
str1 = 'Hello'.
str2 = 'SAP'.

PERFORM CON_STR USING str1 str2.

FORM CON_STR USING s1 s2.
DATA:str_all(20) TYPE C.
CONCATENATE s1 s2 INTO str_all.
WRITE:/ str_all.
ENDFORM.

3)FORM CHANGING [value(p1...pn)]:向子程序傳輸表或參數,程序執行結果可通過該表或參數返回給供主程序。
[For Example]
DATA:num TYPE I VALUE 10.
PERFORM add_value CHANGING num.
WRITE:num. "調用子程序,輸出值為20.

FORM add_value CHANGING num.
num = num + 10.
ENDFORM.

3)調用指定程序中的子程序
 
不同的ABAP程序中的子程序是可以共用的,通過ABAP語句PERFORM form IN PROGRAM prog能夠調用指定程序中的子程序,并執行子程序中包含的功能。
[For Example]
*例如一程序名:ZTEST,它包含一個子程序ADD_VALUE與上例結構一致
DATA:num2 TYPE I VALUE 10.
PERFORM ADD_VALUE CHANGING num2 IN PROGRAM ZTEST.
WRITE:num2."調用子程序加10,輸出值為20.

4)通過TCode調用指定程序中的子程序

在SAP業務中,通常會將程序與TCode綁定以方便記憶。同樣,在ABAP中可以通過語句CALL來實現對某TCode中相對應的子程序的調用,相關語法請參考以下代碼:CALL TRANSACTION TCode

[For Example]
CALL TRANSACTION 'ICON' and skip first screen. "調用TCODE:ICON并展開初始界面。

5)使用SUBMIT方法調用另一個程序
在ABAP中可以直接調用具體程序來實現該程序的所有功能。使用語句SUBMIT可以直接通過程序名來調用該程序,并提供程序執行中所需要輸入的字段及參數,其語法及屬性如下:

[Syntax]
SUBMIT <程序名>.
...USING SELECTION-SCREEN <SCR>. "調用子屏幕
...IVA SELECTION-SCREEN. "顯示所調用程序的初始屏幕
...AND RETURN. "調用指定程序執行后可返回上一屏幕

調用某一程序語法如:
SUBMIT ZTEST.
VIA SELECTION-SCREEN
USING SELECTION-SCREEN 1000
AND RETURN.

總結

以上是生活随笔為你收集整理的ABAP开发基础知识:11)子程序的建立与调用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。