SAP PI开发手册-ERP发布服务供外围系统调用RFC类型1转自https://www.cnblogs.com/fanjb/p/10677018.html8年进入国网项目后陆陆续续做了一些接口按实现方法去分有RFC和代理类sproxy类型按服务提供方向分有提供服务给外围的也有调用外围服务的。随笔本身是为了有一天离开项目时送给交接人的开发手册放上来给大家做个学习参考。由于这边项目普遍要经过ESB通道在IA的开发配置方面大家自行理解吧。本篇是一个ERP发布服务供外围系统调用的RFC类型同步接口其余三篇有时间再慢慢传。一、 文档信息版本号*更新日期*姓名*更新内容及更新理由*备注*V1.02019/02/19fanjb文档创建以福利接口13589Z00HRJ_GJJ_REV_FI为例外围系统调用集中部署ERPV1.12019/04/04fanjb文档修正格式调整二、 接口内容1. 接口详细信息T_ Z00HR_GJJ_ACCOUNT_BACK XML格式1.1 传入报文外围系统提供?xml version1.0 encodingUTF-8?DocumentItemZPAYMENTID缴费申请号/ZPAYMENTIDZFIGRJCE财务实缴个人缴存额/ZFIGRJCEZFIDWJCE财务实缴单位缴存额/ZFIDWJCEZDATE传输日期/ZDATEZTIME传输时间/ZTIMEZESTIMATEDTIME计提时间/ZESTIMATEDTIMEZWITHDRAWAVOUCHER计提凭证/ZWITHDRAWAVOUCHERZPAYMENTTIME支付时间/ZPAYMENTTIMEZPAYMENTVOUCHER支付凭证/ZPAYMENTVOUCHERZAPPROVALSTATUS审批状态/ZAPPROVALSTATUSZPAYMENTSTATUS支付状态/ZPAYMENTSTATUSZERROR错误消息/ZERRORZ00HRJBY1/Z00HRJBY1Z00HRJBY2/Z00HRJBY2/ITEM/Document1.2 返回报文外围系统提供T_OUTPUT XML格式?xml version1.0 encodingUTF-8?DocumentItemZPAYMENTID缴费申请号/ZPAYMENTIDZSTATE反馈状态/ZSTATEZMASSAGE错误消息/ZMASSAGE/ITEM/Document三、 接口配置登陆网址http://sgnwpid.sgcc.com.cn:50000/dir/start/index.jsp事物码登陆SXMB_IFRA. 配置ESRenterprise service builder在对应命名空间下进行配置1. 导入RFC右键进行导入输入目标RFC的服务器地址实例编号gui账号密码。点击继续展开找到对应RFC勾选导入导入后右键激活该RFC2. 创建External definitions外部调用定义。此接口不需要3. 创建Data types1) 发送方接口经过ESB通道所传数据以![CDATA[*]]包裹xml报文形式进行传输所以发出方只需要输入输出各一个参数即可此处我们使用公共数据类型DT_SHARE_SGHRERP2CEERP_REQDT_SHARE_SGHRERP2CEERP_RESP2) 接收方RFC类型接口RFC侧不需要进行DT配置。RFC的导入导出参数定义就是。4. 创建Message types参考data types进行创建即可RFC侧同理5. 创建Service interface服务接口RFC侧接口无需继续创建只需创建外围系统侧的SI即可,关于如何判断SI的类别或出入站可以从接口设计去考虑发送方sender将数据发送到出站接口outbound再到集成引擎PI集成引擎将消息发送给入站接口inbound再到接收方reciver;所以对于示例接口来说如上图outbound SI_13589_SGHRERP2CEERP_Z00HRJGJJREVFIinboundRFC具体参数如下类型outbound模式同步消息类型MT激活SI6. 创建Imported Archives按照字段映射写好xml文档循环取输入出结构拼入RFC的导入导出参数中。具体如下创建IA并导入以上4个xsl文档激活7. 创建 Operation Mappings分别指定发出方接口、接收方接口。发出方SI_13589_SGHRERP2CEERP_Z00HRJGJJREVFI接收方Z00HRJ_GJJ_REV_FI外围系统作为发出方数据链路显示需先经过ESB通道才会到达PI同样ERP返回消息时由PI到外围同样需经过ESB。经过ESB的数据均需使用![CDATA[….]]进行封装故在PI内需进行转换。将ESB发送进来的cdata转成xml在进行接口间字段映射返回时先进性接口间字段映射后将其封装成cdata。B. 配置IBIntegration Builder1. 创建Configuration Scenario创建场景将各个组件添加到场景中。2. 添加Business System3. 创建发送方Communication Channel,对象BS_SGHRERP4. 创建Sender Agreement5. 创建Receiver DeterminationRD用于确认接收方系统6. 创建Interface DeterminationID用于确认接收方系统的接收接口7. 创建接收方Communication Channel对象PD1CLNT2018. 创建Receiver Agreement9. 一步一激活最后激活CC10. 导出wsdl点击望远镜, 按照如下格式修改URL并填入http://10.1.169.34:50000/XISOAPAdapter/MessageServlet?channel:BS_SGHRERP: CC_13589_SGHRERP2CEERP_Z00HRJGJJREVFI_OU选择对应接口SI_13589_SGHRERP2CEERP_Z00HRJGJJREVFI填写CCBS_SGHRERP11. RFC逻辑实现
SAP PI开发手册-ERP发布服务供外围系统调用(RFC类型)
SAP PI开发手册-ERP发布服务供外围系统调用RFC类型1转自https://www.cnblogs.com/fanjb/p/10677018.html8年进入国网项目后陆陆续续做了一些接口按实现方法去分有RFC和代理类sproxy类型按服务提供方向分有提供服务给外围的也有调用外围服务的。随笔本身是为了有一天离开项目时送给交接人的开发手册放上来给大家做个学习参考。由于这边项目普遍要经过ESB通道在IA的开发配置方面大家自行理解吧。本篇是一个ERP发布服务供外围系统调用的RFC类型同步接口其余三篇有时间再慢慢传。一、 文档信息版本号*更新日期*姓名*更新内容及更新理由*备注*V1.02019/02/19fanjb文档创建以福利接口13589Z00HRJ_GJJ_REV_FI为例外围系统调用集中部署ERPV1.12019/04/04fanjb文档修正格式调整二、 接口内容1. 接口详细信息T_ Z00HR_GJJ_ACCOUNT_BACK XML格式1.1 传入报文外围系统提供?xml version1.0 encodingUTF-8?DocumentItemZPAYMENTID缴费申请号/ZPAYMENTIDZFIGRJCE财务实缴个人缴存额/ZFIGRJCEZFIDWJCE财务实缴单位缴存额/ZFIDWJCEZDATE传输日期/ZDATEZTIME传输时间/ZTIMEZESTIMATEDTIME计提时间/ZESTIMATEDTIMEZWITHDRAWAVOUCHER计提凭证/ZWITHDRAWAVOUCHERZPAYMENTTIME支付时间/ZPAYMENTTIMEZPAYMENTVOUCHER支付凭证/ZPAYMENTVOUCHERZAPPROVALSTATUS审批状态/ZAPPROVALSTATUSZPAYMENTSTATUS支付状态/ZPAYMENTSTATUSZERROR错误消息/ZERRORZ00HRJBY1/Z00HRJBY1Z00HRJBY2/Z00HRJBY2/ITEM/Document1.2 返回报文外围系统提供T_OUTPUT XML格式?xml version1.0 encodingUTF-8?DocumentItemZPAYMENTID缴费申请号/ZPAYMENTIDZSTATE反馈状态/ZSTATEZMASSAGE错误消息/ZMASSAGE/ITEM/Document三、 接口配置登陆网址http://sgnwpid.sgcc.com.cn:50000/dir/start/index.jsp事物码登陆SXMB_IFRA. 配置ESRenterprise service builder在对应命名空间下进行配置1. 导入RFC右键进行导入输入目标RFC的服务器地址实例编号gui账号密码。点击继续展开找到对应RFC勾选导入导入后右键激活该RFC2. 创建External definitions外部调用定义。此接口不需要3. 创建Data types1) 发送方接口经过ESB通道所传数据以![CDATA[*]]包裹xml报文形式进行传输所以发出方只需要输入输出各一个参数即可此处我们使用公共数据类型DT_SHARE_SGHRERP2CEERP_REQDT_SHARE_SGHRERP2CEERP_RESP2) 接收方RFC类型接口RFC侧不需要进行DT配置。RFC的导入导出参数定义就是。4. 创建Message types参考data types进行创建即可RFC侧同理5. 创建Service interface服务接口RFC侧接口无需继续创建只需创建外围系统侧的SI即可,关于如何判断SI的类别或出入站可以从接口设计去考虑发送方sender将数据发送到出站接口outbound再到集成引擎PI集成引擎将消息发送给入站接口inbound再到接收方reciver;所以对于示例接口来说如上图outbound SI_13589_SGHRERP2CEERP_Z00HRJGJJREVFIinboundRFC具体参数如下类型outbound模式同步消息类型MT激活SI6. 创建Imported Archives按照字段映射写好xml文档循环取输入出结构拼入RFC的导入导出参数中。具体如下创建IA并导入以上4个xsl文档激活7. 创建 Operation Mappings分别指定发出方接口、接收方接口。发出方SI_13589_SGHRERP2CEERP_Z00HRJGJJREVFI接收方Z00HRJ_GJJ_REV_FI外围系统作为发出方数据链路显示需先经过ESB通道才会到达PI同样ERP返回消息时由PI到外围同样需经过ESB。经过ESB的数据均需使用![CDATA[….]]进行封装故在PI内需进行转换。将ESB发送进来的cdata转成xml在进行接口间字段映射返回时先进性接口间字段映射后将其封装成cdata。B. 配置IBIntegration Builder1. 创建Configuration Scenario创建场景将各个组件添加到场景中。2. 添加Business System3. 创建发送方Communication Channel,对象BS_SGHRERP4. 创建Sender Agreement5. 创建Receiver DeterminationRD用于确认接收方系统6. 创建Interface DeterminationID用于确认接收方系统的接收接口7. 创建接收方Communication Channel对象PD1CLNT2018. 创建Receiver Agreement9. 一步一激活最后激活CC10. 导出wsdl点击望远镜, 按照如下格式修改URL并填入http://10.1.169.34:50000/XISOAPAdapter/MessageServlet?channel:BS_SGHRERP: CC_13589_SGHRERP2CEERP_Z00HRJGJJREVFI_OU选择对应接口SI_13589_SGHRERP2CEERP_Z00HRJGJJREVFI填写CCBS_SGHRERP11. RFC逻辑实现