SAP中接口与集成

news2024/11/27 22:40:48

从进化的角度看SAP中接口和集成的十个概念 - 知乎

SAP比较常用的几个接口方式及比较-SAP技术站

1. 文件接口
基于文件交换的接口是从SAP向第三方系统提供数据的最古老的技术之一。将文本或excel文件推送到特定目录或从应用程序服务器中提取;两种方式都有效。在没有任何复杂编码和配置的情况下,使用FTP/SFTP可以将文件从SAP传输到任何第三方系统。随着PI(流程集成)的到来,从SAP提取的文件首先被发送到PI,在那里根据第三方系统提出的要求进行映射和转换,然后可以以所需的格式、JSON、XML等发送文件

PI作为中间件

SAP_ABAP_接口技术_PI实践总结_abap pi_Terry谈企业数字化的博客-CSDN博客

PI 是SAP公司的一个中间件产品,用来辅助SAP系统和外围系统,( 当然外围系统也可以使用PO)。

PO可以完成一些数据内容转换,群发(一份数据发给多个异构系统),分发(数据区分特征发送给特定的系统)等功能.

因此,引入NetWeaver PI作为数据传输中间件的最大优势是,无论业务合作伙伴要求的数据文件的格式或类型如何,都可以实现,这对于ERP系统来说并不那么灵活。

事务码SPROXY

查看PI,编辑PI.

事务码SXMB_MONI

用于监控PI.

在此上下文中经常使用的一些重要事务代码、语句、函数模块和方法包括:

AL11(事务代码)、GUI_UPLOAD、GUI_DOWNLOAD、OPEN DATASET、CLOSE DATASET、CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD、CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG、CL_GUI _FRONTEND-SERVICES=>GUI _UPLOAD和CL_GUI-FRONTEND_SERVERS=>DIRECTORY_EXIST

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PO 

SAP PO是基于SAP Net weaver平台的中间件产品,为企业提供一套支持SAP系统间、SAP系统与Non-Sap系统间以及Non-SAP系统间进行数据交换和流程整合的平台,支持同步和异步的数据交互方式,帮助企业及其IT组织实现大部分集成需求。

什么是PI/PO

  • XI/PI/PO 都是SAP推出的中间件平台,用于多系统接口统一(类似于网上的ESB系统)
  • XI/PI/PO 演变历程:SAP PO 简介:XI、PI、PO的关系与区别

【精选】PO / PO和 ERP的配置_sap pi/po 配置_SAP小白kenny的博客-CSDN博客

SAP PO是SAP NetWeaver 平台的一部分,由三个不同的产品组成,形成一个整合的安装包:SAP流程集成(PI)、SAP业务规则管理(BRM)和SAP业务流程管理(BPM)。这三个组件源于SAP Process Integration (SAP PI)和SAP Composition Environment (SAP CE),其中SAP CE包括SAP BPM和BRM。
    SAP PO最早版本称为SAP Exchange Infrastructure(XI),后来改名为SAP Process Integration(PI),后来与SAP Composition Environment整合为SAP Process Orchestration (SAP PO)。
【SAP PO】SAP PO 简介:XI、PI、PO的关系与区别_sap po是什么模块-CSDN博客

SAP常见的几个接口技术的区别-CSDN博客

RFC是 SAP接口技术中最简单和易用的一种方式,该方式开发比较简便,特别适合于外部报表开发,但对于大数据量的查询效率相对较低。


BAPI基于RFC技术实现,被作为BO的Interface使用,是SAP提供的稳定而强大的业务接口,其增强和版本控制都在业务对象仓库中记录。BAPI效率相对比较高,这个主要体现在有些BAPI是用direct input的方式写的。但当你写的不只是一个LUW时,而每个LUW都比较简单,在这种情况下就用RFC开发比较快。

IDoc是一种数据交换格式,类似于XML的概念,是SAP标准的文件交换格式。IDoc基于文档,通常IDoc用于异步处理,可以处理批量数据。而RFC常用于同步处理,而且并不适用于批量数据的处理。同时在Monitor和Troubleshooting方面,IDoc功能非常强大。
 

ALE主要用于SAP系统内部数据交换。EDI主要用于外部或不同client 间数据交换。它们同时都可采用 IDoc 的方式作为数据的传输格式。

Web Services是一种松散耦合的组件,使用XML描述交换信息内容,可以保证信息的自描述性和自适应性。WS的分布与地理位置无关,这样就可将非核心业务外包给专门的服务提供商。WS基于开放标准与技术(XML / SOAP / UDDI等),使其特别适合于异构平台的多样性和可扩展性。

XI 适配器(Adapter)进行XML格式与业务系统的特定类型的数据格式之间的转换。依据业务系统的数据格式的不同,适配器可以分为多种类型,比如 SOAP Adapter, JDBC Adapter, File Adapter, RFC Adapter, IDoc Adapter , WS Adapter和XI Adapter等。WS Adapter和XI Adapter是基于Web Service技术实现的。

与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别-CSDN博客

se37写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。bapi是sap做好的实现特定业务操作的rfc。idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,idoc基于文档,可以实现异步的。

idoc是基于sap自己的类似xml格式的文档数据交换的方式。rfc必须在线的方式调用,一般做同步的,idoc基于文档,可以实现异步的。

idoc是系统间利用message传递,不涉及底层函数调用,idoc的处理方式是用edi来执行的.
你可以理解为IDOC是SAP为了同外部系统或内部不同client通迅所采用的一种数据结构,不同的idoc type 定义了不同的格式,如关于material master data 的IDOC, BOM, PO,SO等相关的IDOC,, ALE 主要用于内部数据交换用的,如不同client, EDI用于同外部系统的交换数据,它们的本质都 是base on IDOC。。。idoc是基于sap自己的类似xml格式的文档数据交换的方式。idoc基于文档,可以实现异步的。


RFC是面向过程的,调用简单直接;
BAPI是面向对象的,有属性、有方法、有事件,更加复杂和丰富,更能反映SAP的业务应用,而
BAPI方法的构造是基于RFC的,你也可以认为BAPI封装了RFC
我觉得RFC在应用时最为灵活。
IDOC是SAP标准的文件交换格式,SAP已经有了大量的Function Module来处理和传递IDOC,特别
是对于要和其它系统交换数据时,配合一些系统如biztalk server,IDOC会显得非常的方便,开
发的工作量也是最小的。
RFC的话,如果配合SAP的BDC使用的话,或者你是一个ABAP的高手的话,RFC也是很灵活的。
至于BAPI的话,我觉得SAP的bapi概念很好,但是接口很不完善,很多数据无法通过SAP本身的
BAPI完成,得自己来做开发。
对于bapi和rfc到底那个好用,我觉得没什么定论。
有时bapi好用,有时rfc好用。
bapi好用在于,其效率相对比较高,这个主要体现在有些bapi是用direct input的方式写的,
效率高。
但你如果用rfc写也有他的好处,当你写的不只是一个luw时,而每个luw都比较简单,
在这种情况下就用rfc开发比较快。
SAP的idoc文件替代了edi文件的作用。
ale是一种通讯的模式。
bapi,一种函数,sap提供一大堆,用于主要的业务流程的处理
rfc,一种函数,用于与外部程序调用


应该说RFC是其它内容的基础,它是一个Function module,可以被远程调用。而BAPI本身就是一
个RFC,但它被作为BO的Interface,作用更进一步,除了BAPI文档中提到的内容外,还可以作为
ALE/IDOC的开发基础。
ALE是R/3系统之间的应用层数据交换,至于用什么,就看具体配置了,比如可以用IDOC,同步/
异步BAPI,甚至用EDI。非SAP系统无法用ALE来实现。
至于数据传输的方式,可以是IDOC(底层是用RFC来实际的),也可以是EDI,所以说IDOC/EDI实
际上是数据的载体。

PROXY

我的第一个SAP PROXY ABAP Program(SAP PO 开发五)_abap proxy-CSDN博客

同WebSerivce相关的接口内容DT、MT、SI:

因为WS是有接口描述文件xsdl的,我们就偷懒不用创建DT、MT了。

直接用xsdl创建ED,ED再创建SI就好。

PI的创建(指的是sap与中间件的连接)

传入接口从no sap系统到=>sap系统

 

传出接口(sap=> no sap)

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1175238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[云原生2. ] Kubernetes的简单介绍

文章目录 1. Kubernetes 概述1.1 简介1.2 作用1.3 Kubernetes 的特点1.4 Kubernetes 主要功能 2. Kubernetes 集群架构与组件2.1 Master 组件2.1.1 Kube-apiserver2.1.2 Kube-controller-manager2.1.3 Kube-scheduler 2.2 配置存储中心2.2.1 etcd 2.3. Node 组件2.3.1 Kubelet2…

51单片机-定时计数器

文章目录 前言1 原理2.编程 前言 1 原理 2.编程 定时计算: 50ms501000us 一个机器周期:1.085us 65535 - 501000/1.08546082 故 40082*1.08549998.97 /*定时器1,定时模式 工作模式1 16位计数器, 定时20秒后使能蜂鸣器*/ #include…

MP4视频文件损坏怎么修复?

3-2 作为摄影师,或者在平时有拍摄工作的事情的,比如搞婚庆、搞航拍什么的,有一定的概率会遇到损坏的视频文件,比如相机突然断电、无人机炸机等,有可能会导致保存的MP4文件损坏。 这种文件使用播放器播放的话&#xf…

2023数学建模国赛C题赛后总结

今天国赛的成绩终于出来了,盼星星盼月亮的。之前面试的时候已经把我给推到国奖评委那里去了,可是好可惜,最终以很微小的劣势错失国二。只拿到了广西区的省一。我心里还是很遗憾的,我真的为此准备了很久,虽然当中也有着…

海康Visionmaster-全局脚本:通信设备 ID 获取方法

全局脚本中通信数据接收函数中的 DeviceID 是按照设备管理列表中至上而下、从 0 开始依此增 1,现在这种方法行不通. 每次增加设备列表都会分配唯一的 ID 号,后续全局脚本中判断设备 ID 通过这个唯一 ID 识别,不再从上到下默认排序。

Docker数据管理、网络与Cgroup资源限制

目录 一、Docker的数据管理 1、数据卷 2、数据卷容器 3、端口映射 4、容器互联 二、Docker网络 2.1Docker网络实现原理 2.2Docker 的网络模式 3.3网络模式详解: host模式 container模式 none模式 bridge模式 自定义网络 创建自定义网络 三、Cgroup资源…

【Mybatis小白从0到90%精讲】12:Mybatis删除 delete, 推荐使用主键删除!

文章目录 前言XML映射文件方式推荐使用主键删除注解方式工具类前言 在实际开发中,我们经常需要删除数据库中的数据,MyBatis可以使用XML映射文件或注解来编写删除(delete)语句,下面是两种方法的示例。 XML映射文件方式 Mapper: int delete(int id);Mapper.xml:

基于SSM的社区智慧养老监护管理平台

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

私有化部署大模型:5个.Net开源项目

从零构建.Net前后端分离项目 今天一起盘点下,10月份推荐的5个.Net开源项目(点击标题查看详情)。 1、BootstrapBlazor企业级组件库:前端开发的革新之路 BootstrapBlazor是一个用于构建现代Web应用程序的开源框架,它基…

C++笔记之表驱动法

C笔记之表驱动法 code review! 文章目录 C笔记之表驱动法0.数组小技巧1.std::map实现2.结构体实现3.数组和结构体结合实现表驱动法-存储函数指针4.表驱动法概念-ChatGPT5. 直接访问表(Direct Access Table)的示例6. 索引访问表(Indexed Acc…

什么情况造成互斥锁死锁

由于互斥锁的使用不当,导致多个线程无法进行下一步的代码运行,也就是说竞争锁的两个线程互相锁住,导致整个进程无法往下运行。 举个例子: 两个锁,两个线程,两个线程运行的条件都是需要同时获得这两把锁&a…

Canvas 梦幻树生长动画

canvas可以制作出非常炫酷的动画&#xff0c;以下是一个梦幻树的示例。 效果图 源代码 <!DOCTYPE> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>梦幻数生长动画</title&…

Python基础入门例程49-NP49 字符列表的长度

最近的博文&#xff1a; Python基础入门例程48-NP48 验证登录名与密码&#xff08;条件语句&#xff09;-CSDN博客 Python基础入门例程47-NP47 牛牛的绩点&#xff08;条件语句&#xff09;-CSDN博客 Python基础入门例程46-NP46 菜品的价格&#xff08;条件语句&#xff09;…

python栈_简单算术表达式_加减乘除

# 从左到右遍历中缀表达式中的每个数字和符号&#xff0c;若是数字就输出&#xff0c;即成为后缀表达式的一部分&#xff1b;若是符号则要分为两种情况&#xff1a; # (1)是括号时&#xff0c;如果是左括号&#xff0c;直接将左括号入栈&#xff0c;如果是右括号则栈顶元素依次…

P37~41 第九章 正弦稳态电路的分析

本章我们重点分析当正弦作为激励&#xff0c;作用在电路在上&#xff0c;经过很短时间内到达稳态之后电路的一些特征。 1、阻抗和导纳对偶 1.1阻抗 1.2RLC串联 以不变的向量为参考向量 电阻只由元件自身决定&#xff0c;阻抗由元件和激励的脚频率决定。 1.3导纳 1.4RLC并…

HTML_案例1_注册页面

用纯html页面&#xff0c;不用css画一个注册页面。 最终效果如下&#xff1a; html页面代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>注册页面</title> </head>…

二、Hadoop分布式系统基础架构

1、分布式 分布式体系中&#xff0c;会存在众多服务器&#xff0c;会造成混乱等情况。那如何让众多服务器一起工作&#xff0c;高效且不出现问题呢&#xff1f; 2、调度 &#xff08;1&#xff09;架构 在大数据体系中&#xff0c;分布式的调度主要有2类架构模式&#xff1a…

基于晶体结构算法的无人机航迹规划-附代码

基于晶体结构算法的无人机航迹规划 文章目录 基于晶体结构算法的无人机航迹规划1.晶体结构搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用晶体结构算法来优化无人机航迹规划。 …

【C语法学习】17 - fwrite()函数

文章目录 1 函数原型2 参数3 返回值4 示例 1 函数原型 fwrite()&#xff1a;将ptr指向的内存空间中储存的数据块写入与指定流stream相关联的二进制文件中&#xff0c;函数原型如下&#xff1a; size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream)2 参…

SQL 左连接 LEFT JOIN 关键字||SQL右连接 RIGHT JOIN 关键字

SQL 左连接 LEFT JOIN 关键字 SQL左链接LEFT JOIN关键字返回左表&#xff08;表1&#xff09;中的所有行&#xff0c;即使在右表&#xff08;表2&#xff09;中没有匹配。如果在正确的表中没有匹配&#xff0c;结果是NULL。 SQL LEFT JOIN 语法 SELECT column_name(s) …