在ABAP/4中的Function Module是储存在一个函式库中(library), 系统提供很多内设的
Function Module供程序中呼叫, 也可以自行增加自己的Function Module.
1.叫出已存在的Function Module
(1).在ABAP/4 Development Workbench 画面中选择 “Function library”, 可见以下画面:
(2).选择”Utility”中的”Find”中输入要寻找的Function Module 名称, 如输入 STRING*, 为找
出前五个字符为 STRING的Function Module:
(3).输入后按下左上的Execute, 可见以下画面:
(4).选择要查询或修改的Function名称, 如选择 STRING_LENGTH, 如要查询可选择
“Display”, 可见Function Module之各项参数设定:
<1>.Import Parameter: 传入的参数名称, 但实际在程序中使用时刚好与Export 相颠们
<2>.Export Parameter: 传回的参数名称, 程序中变成 Import 的使用
<3>.Changing Parameter:使用Call By Value and Return Result方法的参数
<4>.Table Parameter: 使用的 Initial Table参数
<5>.Exceptions: 错误处理参数
如 STRING_LENGTH 为一传回字符串长度的函数, 其设定的参数如下:
Import : String 传入一字符串字符串数据
Export: Length 传回的字符串长度值
(5).要查看程序内容可按下 “ Source Code”, 显示其程序内容如下:
function string_length.
length = strlen(string).
endfunction.
(6).函数的呼叫
语法:
CALL FUNCTION <module>
IMPORTING F1=a1….
EXPORTING F1=a1….
CHANGING F1=a1…
TABLES F1=a1…
EXCEPTIONS F1=a1…
Example:
DATA: TEXT(20),
LEN TYPE I.
TEXT = ‘ABCDEFGHIJ’.
CALL FUNCTION ‘STRING_LENGTH’
EXPORTING STRING = TEXT
IMPORTING LENGTH = LEN.
WRITE / LEN.
注意 EXPORTING与IMPORTING刚好颠倒,
执行所得结果为 10