1转自:https://www.cnblogs.com/fanjb/p/10677018.html

8年进入国网项目后陆陆续续做了一些接口,按实现方法去分有RFC和代理类sproxy类型,按服务提供方向分有提供服务给外围的也有调用外围服务的。随笔本身是为了有一天离开项目时送给交接人的开发手册,放上来给大家做个学习参考。由于这边项目普遍要经过ESB通道,在IA的开发配置方面大家自行理解吧。本篇是一个ERP发布服务供外围系统调用的RFC类型同步接口,其余三篇有时间再慢慢传。 

一、      文档信息

版本号*

更新日期*

姓名*

更新内容及更新理由*

备注*

V1.0

2019/02/19

fanjb

文档创建

以福利接口13589(Z00HRJ_GJJ_REV_FI)为例,外围系统调用集中部署ERP

V1.1

2019/04/04

fanjb

文档修正

格式调整

二、      接口内容

1.      接口详细信息

T_ Z00HR_GJJ_ACCOUNT_BACK XML格式:

1.1                  传入报文(外围系统提供)

<?xml version="1.0" encoding="UTF-8"?>

  <Document>

    <Item>

      <ZPAYMENTID>缴费申请号</ZPAYMENTID>

      <ZFIGRJCE>财务实缴个人缴存额</ZFIGRJCE>

      <ZFIDWJCE>财务实缴单位缴存额</ZFIDWJCE>

      <ZDATE>传输日期</ZDATE>

      <ZTIME>传输时间</ZTIME>

      <ZESTIMATEDTIME>计提时间</ZESTIMATEDTIME>

      <ZWITHDRAWAVOUCHER>计提凭证</ZWITHDRAWAVOUCHER>

      <ZPAYMENTTIME>支付时间</ZPAYMENTTIME>

      <ZPAYMENTVOUCHER>支付凭证</ZPAYMENTVOUCHER>

      <ZAPPROVALSTATUS>审批状态</ZAPPROVALSTATUS>

      <ZPAYMENTSTATUS>支付状态</ZPAYMENTSTATUS>

      <ZERROR>错误消息</ZERROR>

      <Z00HRJBY1></Z00HRJBY1>

      <Z00HRJBY2></Z00HRJBY2>

    </ITEM>

  </Document>

1.2                  返回报文(外围系统提供)

T_OUTPUT XML格式:

<?xml version="1.0" encoding="UTF-8"?>

  <Document>

    <Item>

      <ZPAYMENTID>缴费申请号</ZPAYMENTID>

      <ZSTATE>反馈状态</ZSTATE>

      <ZMASSAGE>错误消息</ZMASSAGE>

      </ITEM>

  </Document>

三、      接口配置

登陆网址:http://sgnwpid.sgcc.com.cn:50000/dir/start/index.jsp

事物码登陆:SXMB_IFR

A.     配置ESR(enterprise service builder)

在对应命名空间下进行配置

1.      导入RFC

右键进行导入

输入目标RFC的服务器地址,实例编号,gui账号密码。点击继续

展开,找到对应RFC,勾选导入

导入后,右键激活该RFC

2.      创建External definitions

外部调用定义。(此接口不需要)

3.                      创建Data types

1)      发送方

接口经过ESB通道,所传数据以<![CDATA[*]]>包裹xml报文形式进行传输,所以发出方只需要输入输出各一个参数即可,此处我们使用公共数据类型:

DT_SHARE_SGHRERP2CEERP_REQ

DT_SHARE_SGHRERP2CEERP_RESP

2)      接收方

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_Z00HRJGJJREVFI

inbound:RFC

具体参数如下:

类型:outbound

模式:同步

消息类型:MT

激活SI

6.      创建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.     配置IB(Integration Builder)

1.      创建Configuration Scenario

创建场景,将各个组件添加到场景中。

2.      添加Business System

3.      创建发送方Communication Channel,对象BS_SGHRERP

4.      创建Sender Agreement

5.      创建Receiver Determination

RD用于确认接收方系统

6.      创建Interface Determination

ID用于确认接收方系统的接收接口

7.      创建接收方Communication Channel,对象PD1CLNT201

8.      创建Receiver Agreement

9.      一步一激活,最后激活CC

10.  导出wsdl

点击望远镜, 按照如下格式修改URL并填入

http://10.1.169.34:50000/XISOAPAdapter/MessageServlet?channel=:BS_SGHRERP: CC_13589_SGHRERP2CEERP_Z00HRJGJJREVFI_OU

选择对应接口SI_13589_SGHRERP2CEERP_Z00HRJGJJREVFI

填写CC:BS_SGHRERP

11.  RFC逻辑实现

SAP PI开发手册-ERP发布服务供外围系统调用(RFC类型)的更多相关文章

  1. SAP PI开发手册-ERP发布服务供外部系统调用(sproxy代理类)

    转自:https://www.cnblogs.com/fanjb/p/10829858.html 一.      接口内容 接口详细信息 1.  字段对应关系 发送字段对应关系 返回字段对应关系 2. ...

  2. 20-SAP PI开发手册-ERP发布服务供外部系统调用(sproxy代理类)

    一.      接口内容 接口详细信息 1.  字段对应关系 发送字段对应关系 返回字段对应关系 2.  报文信息 传入报文(报文结构,外围系统提供) 1 <?xml version=" ...

  3. 10-PI开发手册-ERP发布服务供外围系统调用(RFC类型)

      一.      文档信息 版本号* 更新日期* 姓名* 更新内容及更新理由* 备注* V1.0 2019/02/19 fanjb 文档创建 以福利接口13589(Z00HRJ_GJJ_REV_FI ...

  4. 为什么阿里巴巴开发手册中强制要求 POJO 类使用包装类型?NPE问题防范

    封面:学校内的秋天 背景:写这个的原因,也是我这两天凑巧看到的,虽然我一直有 alibaba Java 开发手册,也看过不少次,但是一直没有注意过这个问题 属于那种看过,但又没完全看过 一起来看看吧冲 ...

  5. 阿里巴巴 Java 开发手册 1.4.0

    一.编程规约(一) 命名风格1. [强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束.反例: _name / __name / $name / name_ / name$ ...

  6. 阿里巴巴Java开发手册更新了!

    自2017年,<阿里巴巴Java开发手册>发布,现已有超过260万位工程师下载及查阅手册,在数以千计的企业应用,手册成为受业界认可的开发规范. 昨天,<Java开发手册>再次更 ...

  7. 重磅发布:《阿里巴巴Android开发手册(规约)》

    1.前言 阿里巴巴于近日为广大程序员再送上重磅开春好礼:<阿里巴巴Android开发手册(规约)>.该开发规范在阿里内部经过了长期的修缮,现已总结成册,向所有移动开发者.技术爱好者开放,希 ...

  8. 在线教学、视频会议 Webus Fox(2) 服务端开发手册

    上次在<在线教学.视频会议软件 Webus Fox(1)文本.语音.视频聊天及电子白板基本用法>里介绍了软件的基本用法.本文主要介绍服务器端如何配置.开发. 1. 配置 1.1 IIS配置 ...

  9. 流量染色与gRPC服务托管 微服务协作开发、灰度发布之流量染色 灰度发布与流量染色

    大规模微服务场景下灰度发布与流量染色实践 https://mp.weixin.qq.com/s/UBoRKt3l91ffPagtjExmYw [go-micro]微服务协作开发.灰度发布之流量染色 - ...

随机推荐

  1. Abp vNext框架 从空项目开始 使用ASP.NET Core Web Application-笔记

    参考 Abp vNext框架 从空项目开始 使用ASP.NET Core Web Application http://www.vnfan.com/helinbin/d/745b1e040c9b4f6 ...

  2. C#命名规则和设计规则

    Pascal 将每个单词的第一个字符大写.遇到两个字母的首字母缩略词时,两个字母都要大写 命名空间:使用公司名作为前缀.在第二级名称中使用稳定的与版本无关的产品名称 类型:名词或名词短语命名 结构:名 ...

  3. git登陆

    git登陆 1. 执行登陆用户名和密码命令 git config --global user.email "you@example.com" git config --global ...

  4. 阿里P7工作总结:Spring MVC的工作原理,看完受益匪浅

    这篇文章将深入探讨Spring框架的一部分——Spring Web MVC的强大功能及其内部工作原理. 项目安装 在本文中,我们将使用最新.最好的Spring Framework 5.我们将重点介绍S ...

  5. HTTP中的2XX状态码

    HTTP状态码分类 1XX --信息,服务器收到请求,需要请求者继续执行操作 2XX--成功,操作被成功接收并处理 3XX--重定向,需要进一步的操作以完成请求 4XX--客户端错误,请求包含语法错误 ...

  6. 微信小程序初体验遇到的坑

    今天,2017年1月9日凌晨,微信小程序如约上线.2007年1月9日,整整10年前的今天,苹果的iPhone手机正式问世! 经不起新技术的诱惑了,想试着开发一下看看.刚开始遇到很多坑,在这里记录一下, ...

  7. PWA入门:手把手教你制作一个PWA应用

    摘要: PWA图文教程 原文:PWA入门:手把手教你制作一个PWA应用 作者:MudOnTire Fundebug经授权转载,版权归原作者所有. 简介 Web前端的同学是否想过学习app开发,以弥补自 ...

  8. java.lang.IllegalArgumentException: Prometheus requires that all meters with the same name have the same set of tag keys.

    创建Spring Cloud Sleuth对应Zipkin服务,引入依赖: <dependency> <groupId>io.zipkin.java</groupId&g ...

  9. 大数据安全利器ranger 编译安装

    ranger大数据领域的一个集中式安全管理框架,它可以对诸如hdfs.hive.kafka.storm等组件进行细粒度的权限控制.本文将介绍部署过程 1.  部署准备 ranger:    进入apa ...

  10. Django2.0中基于正则表达式的路由机制(一)

    1.  在urls.py的文件中导入操作正则表达式的方法:(新版的Django是使用path方法对URL进行路由分配) from django.contrib import admin from dj ...