发布日期:2024-09-02 09:15 点击次数:61
(1)登录SAPGUI,执行事务码 SE37,进入函数构建器:初始屏幕 (2)菜单栏→转到→函数组→创建组
图片
输入函数组名称以及描述,点击保存图片
选择包,点击保存(请忽略函数名后面的下划线,此处为演示又新建一个)图片
挂载请求,点击保存,函数组创建完成。
图片
1.2、创建函数输入功能模块名称,点击创建
图片
输入第一步中创建的函数组,以及函数描述,点击保存图片
忽略系统提示,点击对勾,进入函数构建器图片
图片
切换至属性页签,务必勾选处理类型中的“远程启用的模块”,否则无法被远程调用,PO中就没法导入该RFC。图片
1.3、添加函数输入输出参数 参数类型: 导入:仅输入参数,此处定义两个输入参数,IV_NAME和IV_AGE,类型为CHAR10和I,以及描述。根据需要设置字段是否可选,远程调用函数,输入输出参数必须勾选“值传递”。 导出:仅输出参数,此处定义一个输出参数,IV_HELLO,类型为CHAR100。 表:输入输出参数,此处未定义。
图片
图片
1.4、编写函数源代码编写函数源代码如下:
图片
1.5、进行函数测试保存,激活
图片
执行测试图片
填写入参值图片
执行结果如下图片
2、PO端接口配置 2.1、PO端ESB配置(1)登录PO,点击 Enterprise Services Builder,进入Java版ESB配置客户端
图片
图片
(2)导入 RFC 对象 在 SC_ERP(对应SAP系统)下 Imported Objects,右键→Import of SAP Objects图片
输入 SAP 登录信息,点击 Continue图片
点击 RFC 前的三角形,展开 RFC 列表图片
利用搜索,定位到我们需要导入的RFC函数对象,勾选后,点击 Continue 备注说明:如果搜索不到需要的RFC对象,那可能是因为RFC没有激活或者是没有设置为远程启用的模块。图片
点击 Finish,完成导入,关闭图片
图片
激活导入的 RFC 函数对象图片
(3)创建 Namespace (仅首次需要) 在 SC_ERP(对应SAP系统)下新建 Namespace,右键→New→Namespace图片
输入 Namespace 名称,点击 Create图片
(4)在 Namespace 下创建文件夹,右键→Create Folder图片
修改为自己所需的文件夹名称,如:图片
(5)在文件夹下创建 SI,右键→New→Service Interface图片
首先创建接收方(对SAP而言)SI,对应Category为Inbound,作为ERP接收外部接口消息的服务。图片
在Message Type 处,拖入 RFC 对应的输入和响应图片
图片
图片
保存图片
同上,再创建发送方(对SAP而言)SI,对应Category为Outbound,作为ERP返回接口响应消息的服务。图片
保存,激活 SI图片
2.2、PO端IB配置返回PO主界面,点击 Integration Builder,进入Java版IB配置客户端
图片
展开 Communication Comonent Without Party,其中 Business System 和 Business Component 都可以定义SAP系统以及外部系统等通讯对象。一般 Business System 用于定义 SAP系统(如BS_ERP_300),Business Component 用于定义非SAP系统(如此处定义的外部调用方 BC_TEST)
图片
(1)创建SAP端 BS(仅首次需要,一般由PO Basis初始设置) 创建BS的通讯通道 CC图片
定义消息接收通道(Receiver)图片
配置如下:图片
定义消息发送通道(Sender),配置如下:图片
PO访问SAP协议相同时,多个接口可以公用相同的通讯通道,无需单独定义,故以上定义为通用通道。
BS_ERP_300会自动包含SC_ERP中定义的SI,包括Receiver和Sender,这是由PO Basis在SLD中设置的,无需手动添加。如下图所示:
图片
图片
2)创建非SAP端 BC(仅首次需要)图片
定义消息发送通道(Sender),配置如下:图片
BC_TEST 添加 服务接口 SI图片
图片
激活所有对象。
(3)创建 IC
图片
图片
配置如下:图片
图片
图片
图片
图片
保存,激活,查看WSDL图片
复制WSDL URL,发给外部系统调用,如SoapUI
图片
3、SAP端代理服务开发(1)登录SAPGUI,执行事务码 Sproxy,进入对象导航界面,定位到前面创建的接收消息的SI,双击或右键→Generate,创建代理类
图片
图片
图片
保存,激活,双击进入实施类图片
双击方法,编写具体的消息处理代码图片
图片
保存,激活,返回创建代理类页面,执行以测试图片
图片
图片
修改入参报文 XML,如下图片
执行图片
返回结果如下:图片
代理类开发完成,实现对RFC的调用。 4、SoapUI测试将PO端配置最后获取的WSDL URL,发送给SoapUI端,可以进行接口调用测试。 (1)新建项目(略) (2)项目右键,Add WSDL
图片
贴入复制的WSDL URL,点击 OK图片
图片
双击 Request1,获取入参结构图片
调整入参,点击执行
图片
获取正确的返回结果,测试完成。 5、常见接口配置错误PO端常见返回错误为:Server Error,
图片
具体错误信息,需要查看PO日志图片
类似报值错误的情况,还有 IV_AGE 输入字母,输入小数,输入空格时。 若要保留默认值,可以输入0,或直接删除该参数项,如下图传参方式:图片
当删除必输字段 IV_NAME 时,会报如下错误:图片
如果是如下错误提示,则可能是sproxy代理类中调用 RFC 时的出入参数类型不匹配,需要先进行类型转换后,再给 RFC 参数赋值(这种错误可以在配好sproxy后,提前进行测试排除)。图片
6、PO的发布 PO没有类似SAP S4的在线传输机制,主要使用手工导出&导入方式进行内容发布。
首先需要发布SAP端的RFC请求,然后发布PO的ESR配置;其次发布SAP端的Sproxy请求,最后发布IB配置。
(1)SAP发布请求 使用事务码:SE10,STMS,具体操作步骤略。
(2)开发环境导出ESR配置
图片
图片
图片
图片
图片
图片
图片
图片
预览,确认本次导出的内容,图片
确认无误,则点击 Finish,保存文件到本地图片
(3)开发环境导出IB配置图片
图片
图片
图片
图片
(4)测试环境导入ESR配置选择导入文件,激活即可
图片
图片
图片
图片
图片
(5)测试环境导入IB配置选择导入文件,补充信息,激活即可
图片
主要补充以下信息图片
(6)SoapUI测试同上,略。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。