也没有太理解
函数
- 函数组(Function Group)(FG)
- 函数组是各函数(FM)模块(Function Module/Function)得集合,其中包含得函数模块都拥有相似的函数和/或处理相同的数据
- 函数组包含的组件(所有函数模块共享)
- 数据对象
- 子例程
- 屏幕
- 搜索和查找函数
- 程序中查找函数
- 搜索CALL FUNCTION *
- 自由搜索(独立于应用程序组件)
- SE80:可以查看函数组
- SE37:可以查看函数
- 根据屏幕查看
- F1查看屏幕,确定屏幕编号并双击导航至该屏幕,并执行“程序中的调用列表”
- 函数相关文档
- 函数模块文档
- 参数文档
- 程序中查找函数
- 函数模块(Function Module/Function)
- 函数模块可包含自有局部类型和数据对象定义(仅再函数模块内可见)
- 接口可包含元素
- 导入参数
- 导出参数
- 变更参数
- 异常
- 函数组中的数据对象
- 程序调用函数模块,会加载相应的整个函数组并执行函数模块
- 如果调用组内其他函数模块,无需重新加载便可由函数组的相同全局数据进行处理
- 访问全局参数
- 函数FB2–>向全局数据写入值
- 函数FB3–>访问全局数据
- 访问接口参数
- 接受数据
- 将数据返回给调用程序
- 调用代码示例:
CALL FUNCTION 函数名称 "函数名称在全SAP中不重复 EXPORTING... "传入参数 IMPORTING... "传出参数
- 函数组的创建
- SE80:在package中右键创建函数组
- SE80:选择function group,直接创建函数组
- SE37:选择Goto,创建函数组
- 函数创建
-
传入的变量/结构:Import
-
传出的变量/结构:Export
-
既传入又传出的变量/结构:Changing
-
以内表形式传输:Tables(不区分传入传出)
-
传入参数:I_DATA1,I_DATA2
-
传出参数:E_DATA
-
异常:被除数不能为0
-
实现功能:E_DATA = I_DATA1 / I_DATA2
-
- 使用函数
- 函数在程序中可快捷调用 :通过call function 可以快捷生成所有调用程序需要的代码
- 异常处理