Function也称为函数,它是SAP中一个独物的程序模式,一般是一段单独的程序代码,可独立执行或直接被SAP其他程序所调用。Function支持远程访问模式,即提供接口供SAP程序使用(如VB,.NET,JAVA等),通常称为RFC(Remote Function Call).
* Function初始界面及Function Group的创建。
1. Tcode:SE37
2.与Rrport不同的是,创建Function程序前必须先定义一个地Function Group,
一个Group下可包含多个Function,创建Function Group命令的具体操作路径为:
点击【建立群组】
输入自定义Function名称:ZRFC_TEST_SIMPLE,单击Create按钮,
以上,Function已被创建成功,系统进入初始界面,可以看到系统自动生成预代码,
但是还不具备任何功能,需要对Function的输入输出参数及数据处理逻辑程序进行设计
Function 编辑器共分为7个页面,各自功能定义如下:
1. 属性:用于定义该Function类型及其基本信息。
* 处理类型:用于定义该Function类型,主要用于定义是否可以远程调用。
* Normal function module:普通调用模式,该Function只能在SAP系统中使用;
* Remote enable module: 远程调用模式,允许该Function被SAP及非SAP程序调用,
即设置为RFC,RFC是SAP与外部应用系统的通信接口。
* Update Module:将该Function设置为更新模式,调用该Function程序可采用如下定义:
"Call Function XXX in update task",必须再次使用COMMIT命令时才能完成该Function的数据操作,适用于多次调用函数最后再保存的多笔业务的录入。
2.Import/Export 为数据输入、输出接口,其接口参数可以为单个变量或者为一个结构体。
3. Changing可同时作为输入输出接口,其参数可为单个变量或Struct或内表。接口定义属性基本一致
* 参数名称:接口调用时对其赋值,作为一个数据对象在程序中使用;
* Typing: 类型选择项,与数据定义时的LIKE、TYPE作用一致;
* 参考类型:可为数据字典对象;
* 预设值:若输入字符型值时需加上引号;
* 选择性:该选项定义是否可以修改参数值,若未选中,相当于定义该参数为一常量,
若选中,该参数可以在程序中重新赋值。
* Pass Value: 定义该对数是否为必输项,若未选中,调用该Function时此参数为必须输入项;
* 短文: 该参数信息描述
* 长文:单击对应按钮可以设置参数详细描述。
4. Exceptions: 为错误回执接口,定义程序中所返回的错误。
5. Source code:切换到ABAP代码编辑窗口,代码中可以定义子程序或调用其他Function。接口中所定义的参数都只是该Function代码的私有变量,可以在Function中直接引用,由此实现与外部程序数据的交换,接口参数定义如图