SAP 常见接口方案总结

SAP对外接口方案根据公司对系统的管控而不同,总体上常用的主要有下面几种:

1、IDOC 方案;2、WebService方案;3、RFC 方案;4、中间件(接口平台)方案;5、FTP/SFTP 方案。

方案评估需考虑的因素,如 公司已有方案、交互数据量、交互频率、安全级别等

下面针对这几类方案做简单的介绍:

一、IDOC(Intermediate Document)

SAP IDOC 是SAP系统中一种标准数据结构,它用于在SAP系统之间或SAP系统与非SAP系统之间交换数据。这是一种自包含的数据结构,可以用于SAP系统之间或SAP系统与外部系统之间的电子数据交换。IDoc包含一组标准化的数据,可以用于通信,这些数据与发送和接收系统的实际格式无关。

SAP IDOC 常用于SAP 内部不同模块的集成,也可用于SAP 与外部系统交互:

  • ALE(Application Link Enabling):用于在同一集团中不同的SAP系统之间的数据交换
  • EDI(electronic data exchange):实现不同企业间电子数据的交换,通过IDoc文件和业务伙伴进行数据交换
  • 通过IDoc也可连接其它应用系统

创建IDOC步骤如下:

第一步:WE31 创建IDOC所包含的字段.

第二步:WE30 创建IDOC 把Segment分配给IDOC

第三步:WE81 创建信息类型

第四步:WE82 把IDOC类型与信息类型对应.

第五步:WE57 Assign Message & Idoc Type to a Function Module for Data Process

第六步:SM59 Define a RFC connection for Idoc transfer

第七步:WE21 Define a Port ( Assign a RFC destination which created in SM59 )

第八步:WE41/42 Creat Process Code

第九步:WE20 Define a Partner Profiles( Also creat a Outbound parameters with Port, or Inbound parameters with Process code )

具体案例可以参考:IDOC的配置和开发(完整的IDOC)

运维过程中更常用的是分析管理IDOC:

WE02 显示IDOC,根据时间、类型等查看IDOC消息。

WE46 IDOC管理(出/入)

WE60 IDOC类型文档(查看IDOC结构及其字段属性)

WE19 根据IDOC号进行IDOC处理,直接修改IDOC参数进行手动补发(慎重)

二、WebService(SOAMANAGER)

WebService 理论上既包含SAP封装的XML格式 也包含 HTTP 对应的REST方式。

XML格式的WebService

SAP既可以提供WS给外部系统调用,也可以配置调用外部系统WS,最后都是通过T-CODE:SOAMANAGER 完成服务配置。

SAP提供WS的一般步骤:

1、创建RFC

2、发布

3、SOAMANAGER配置

案例可参考:SOAMANAGER创建WEB服务

SAP调用外部系统WS的一般步骤:

1、创建Services Consumer服务

2、SOANAMAGER配置

案例可参考:SAP 调用外部系统webservice接口(SOAP-XML)

经验之谈:大部分企业在使用SAP过程中,都会逐步对接外围系统,数据交互需求会越来越多,为了避免反复调整服务,需要提前规划好接口设计。如果使用这一类WebService对外提供接口,可以使用统一的RFC负责对外提供WS, 通过JSON字符串方式传输入参、出参,具体业务功能在RFC内完成分配,并分别在子RFC函数中完成解析和业务逻辑。

HTTP对应的REST方式

知识背景:HTTP教程

                  JSON教程

灵活:        可以传输任意对象,对象类型由Content-Type标记
客户端请求request消息包括:请求行(request line)、请求头部(header)、空行、请求数据。服务端响应response包括:状态行、消息报头、空行、响应正文

主要请求方法:

1. GET 请求指定的页面信息,并返回实体主体
2. HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
3. POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)
4. PUT 从客户端向服务器传送的数据取代指定的文档的内容
5. DELETE 请求服务器删除指定的页面
6. CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
7. OPTIONS 允许客户端查看服务器的性能
8. TRACE 回显服务器收到的请求,主要用于测试或诊断
 

常用的Get & Post 的区别:

1. 请求缓存:GET 会被缓存,而post不会
2. 收藏书签:GET可以,而POST不能
3. 保留浏览器历史记录:GET可以,而POST不能
4. 用处:get常用于取回数据,post用于提交数据
5. 安全性:post比get安全

开发参考:SAP Http接口——通过RESTful实现

SAP调用RestfulApi接口POST数据到外部系统

三、RFC

直接使用RFC完成数据交互,往往需要外围服务器安装sapjco3.jar, 同时处于公司内网,可以物理直连SAP服务器。

对于这类数据交互,对SAP 端的开发来说最为方便,不过对SAP服务器来说是一个考验,因为每次调用相当于多一个进程,并发数量过多会拖累SAP服务器整体性能。

案例参考:java使用jco连接sap调用rfc函数,环境配置+代码

四、中间件(接口平台)

中间件,可以通俗的理解为接口平台,统一管理企业不同系统之间的接口。常见的中间件包括SAP PO系统、企业总线(ESB)。其中SAP PO 作为SAP的产品,对SAP兼容性相当友好,但是费用高、开发复杂等缺点也不能忽视。

可以通过下面的文章了解SAP PO的发展历史和教程案例:

【SAP PO】SAP PO 简介:XI、PI、PO的关系与区别

SAP PI 介绍及其教程

这里分享几个SAP PI 系统开发的案例:

SAP PI System Landscape(SLD) 系统配置

【SAP PO】SAP PO 接口配置完整教程之一RFC服务发布

【SAP PO】SAP PO消息ID的应用与接口日志查询方法

五、FTP/SFTP方案

FTP/SFTP的概念和区别壳参考:什么是FTP?什么是SFTP?FTP和SFTP的区别是什么

程序逻辑主要为:

1、FTP连接

2、打开FTP文件夹(命令)

3、打开本地文件夹(命令)

4、文件转移(命令)

5、断开FTP连接

SAP也提供Demo程序:

RSFTP001 - SAPFTP Version (Current Version one is working on)

RSFTP002 - Execute FTP Command

RSFTP003 - FTP put / get Test

RSFTP004 - FTP Copy

RSFTP005 - SAPFTP check

RSFTP006 - FTP command list

RSFTP007 - Test FB:FTP_SERVER_TO_R3 / FTP_R3_TO_SERVER

RSFTP008 - Test FB:FTP_CLIENT_TO_R3 / FTP_R3_TO_CLIENT

RSFTP009 - Test FTP put with Verify

案例参考:sap系统ftp服务器下文件,SAP中如何使用FTP传递文件

本文借用多次参考案例以及个人理解,如有不妥或建议,请告知。

  • 7
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值