FavoriteLoading
0

RFC函数创建教程

[隐藏]

1, SAP RFC基础知识

RFC是SAP系统和其他(SAP或非SAP)系统间的一个重要而常用的双向接口技术,也被视为SAP与外部通信的基本协议。简单地说,RFC过程就是系统调用当前系统外的程序模块,从而实现某个功能,而且调用系统和被调用系统中至少有一个必须是SAP ABAP系统。这种远程功能调用也可在同一系统内部进行(如本地SAP系统内的远程调用);但通常情况下,调用程序和被调用程序处于不同系统。

2, 实例业务场景

函数目的:OA通过读取采购订单号获取物料号最近5次变价记录,结果如下图

1350717358_9352

3, 创建RFC

1)  通过TCode:SE37,我们既可以进入RFC的开发初始界面,如下图。

1350717377_6574

2)  与Report不同的是,新建RFC程序前必须先定义一个FuncitonGroup,一个Group下可包含多个Function,创建Function Group的命令的具体操作路径为:Goto-Function groups-Create group,

1350717396_7523

3)  单击Creategroup 命令后将弹出Create Function Group对话框,要求输入自定义的Function group 名称及描述

1350717412_9035

4)  单击保存按钮后系统进入CreateObject Directiory Enter 对话框,该界面中需要输入开发类并选择保存类型,STMP表示保存本地类,也可单击本地对象按钮选择保存在本地

1350717438_8697

5)  选择本地对象按钮保存Function group,系统返回初始界面。

输入自定义Function名称:Z_RFC_SHIZHANSTUDY,单击Create按钮,SAP将弹出Group设置属性对话框,

1350717450_1175

6)     输入本例所建Function Group及描述,单击Save按钮保存定义。

到此为止,该Function已被创建成功,系统进入初始界面。可以看到系统自动生成了预代码,但是还不具备任何功能,需要对Function的输入输出参数及数据处理逻辑程序进行设置,

1350717481_9258

7)  Function编辑器共分为7个页面,在Attributes属性设置窗口,设置如下图所示。允许该Function被SAP及非SAP程序调用。

1350717506_7704

8)  Import为数据输入接口,其接口参数可以为单个变量或者为一个结构体。本例为单个变量,

1350717529_9485

9)  Tables可同时作为输入输出接口,其参数可为单个变量或Struct或内表。本例为Struct,如下图。本例创建结构步骤省略

1350717539_6605

1350717556_7330

10) 单击Source Code选项卡切换到ABAP代码编辑窗口,接口中所定义的参数都是该Function代码的私有变量,可以在Function中直接引用,由此实现与外部程序数据交换。

在Source code中加入程序代码:

Function程序编写完成后可直接对其进行测试,保存Function后并激活,激活时要顺带将涉及本Function的所有都选中。

1350717573_7021

单击编辑界面执行按钮,如图1-11所示。

1350717651_5339

11) Function的执行及数据查看

1350717693_1428

可以选择保存按钮将此手工输入保存起来,

1350717706_2227

单击执行,因为此采购订单有3条信息记录,3条信息记录有过很多次改价。代码中我们只取离现在日期最近的5条,所以结果显示15条数据,结果如下图。

1350717718_8469

单击结果如下图所示。

1350717733_9970

以上.