SAP比较常用的几个接口方式

1.PI - 信使中间件 (大公司多选择)
数据: SAP- PI- U8
U8- PI- SAP
PI 底层用的还是webservice 技术
优点:实时性高; 可处理大数据(在调用PROXY 发送时 还可以分包处理); 有接口数据日志在PI系统;
缺点:PI 服务器+1; PI系统配置工作; 和每个外部系统都要做wsdl配置;


2. RFC 函数 (小公司 / 简单业务场景使用)
SE37 函数设置成remote 形式
远程启用的模块:
由其他系统调用SAP的RFC,在J2EE项目里有JCO可以使用(其他语言也有类似的dll包),可以调用RFC和返回结果。
这个方式只要能够熟悉类似JCO的使用,就可以在其他系统中使用,比中间表有
优点:更好的实时性,(如果数据量大,会导致进程时间过长,有超时风险) 
缺点:SAP中Fuction属于纯过程式语言,很多时候功能不是很强,另外只能单向进行调用,一般是和Web Service同时使用(在C++/C#项目里,也可以建立RFC,但不确定SAP也能调用其他系统的RFC)。


3. webservice (一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序)
SAP调用其他系统的Web Service还是比较常见的,其实SAP也可以提供Web Service的,
这也算是与时俱进,和所谓的SOA扯上关系了。
优点:都符合WS的标准,任何其他系统都实现了相应的接口,在实时性和交互性上都有了保障。
缺点:SAP对Web Service发布的格式要求比较严格,很多时候无法调用就是因为格式不对,(格式问题是这种方式使用过程常见问题,而且双方开发产生争议很大原因,可能需要一方配合调整)
还好一般在建立Web Service Proxy的时候就会发现。


补充:
SOA(面向服务的架构)
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。
SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。


4. XML文件,其他固定格式文件 txt / csv
下传数据:
SAP系统生成XML 文件([1]沟通好命名规则, [2]沟通XML 格式 )放到指定的ftp 文件夹,MES 系统开发程序,定时读取产生的文件,成功后自行解析,并把文件改为加上_HIS文件,
作为存档,
上传数据:相反方向
优点: 实现需求时,双方各自还是独立,做自己系统需要功能,增加的任务就是, 产生指定格式文件放到ftp 文件, 读取文件并解析,修改文件名,
缺点:(1)ftp文件服务的稳定性第一要求, (2) 交互不及时,需要MES 更高频率扫描ftp 文件夹上的文件,


4.DB 中间表:
利用中间数据库DBLINK作为交互的方式。
SAP系统利用dbco建立与中间数据库关联,利用SQL或者TSQL直接对数据库进行操作。
而其他系统也对该中间表进行操作。
优点:是实现比较简单,对现有其他系统学习成本要求比较低,基本不需要有太多改造就能与SAP进行连接。
缺点:可能会造成交互不及时,也就是只能靠轮询和刷新来获取新数据,实时性不够高。
 

各个方式对比:

se37写出来的叫function,其中可以远程调用的叫rfc,remote-enabled function,abap语法和输入输出参数就会有一些限制。

bapi是sap做好的实现特定业务操作的rfc。

RFC是面向过程的,调用简单直接;
BAPI是面向对象的,有属性、有方法、有事件,更加复杂和丰富,更能反映SAP的业务应用,而
BAPI方法的构造是基于RFC的,也可以认为BAPI封装了RFC。bapi,一种函数,用于主要的业务流程的处理。
我觉得RFC在应用时最为灵活。

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标准的文件交换格式,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文件的作用。

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: PLM(产品生命周期管理)和SAP(企业资源计划)是两个常用的企业管理系统,它们在不同的领域有不同的应用。接口设计是将这两个系统连接起来,实现数据的交换和共享。 在PLM和SAP接口设计中,首先需要确定需要交换的数据类型和内容。可以考虑的数据包括产品设计和规格、物料清单、工艺路线、质量控制和检验等。 接口设计的第二步是确定数据交换的方式和格式。可以选择直接通过API(应用程序接口)或者通过数据文件的方式进行数据交换。接口的设计需要考虑到数据的安全性、准确性和及时性。 接口设计的第三步是实现和测试。在实现阶段,需要开发适配器或者中间件来连接PLM和SAP系统,并定义相应的接口和数据映射规则。在测试阶段,需要进行功能测试、性能测试和稳定性测试,确保接口的正常运行和数据的准确传输。 最后,接口设计需要考虑到系统的维护和升级。随着业务的发展和需求的变化,接口的设计可能需要进行调整和优化。同时,需要定期检查接口的运行状况,确保系统的稳定性和数据的一致性。 综上所述,PLM和SAP接口设计是将两个系统连接起来,实现数据的交换和共享的过程。通过合理的数据类型选择、数据交换方式和格式的确定、接口的实现和测试以及系统的维护和升级,可以实现PLM和SAP系统之间的高效协同工作,提升企业的管理效率和竞争力。 ### 回答2: PLM(Product Lifecycle Management,产品生命周期管理)是一种综合性的管理方法,用于管理产品从概念到退役的整个生命周期。而SAP是一种企业资源计划(ERP)软件,用于整合和管理企业的各种业务流程和数据。 针对PLM和SAP之间的接口设计,主要是为了实现PLM和SAP之间的数据共享和互操作。接口设计涉及到数据的传递和同步问题,可以通过以下几个方面的设计来实现: 1. 数据映射与转换:PLM和SAP之间的数据模型可能有所不同,需要设计接口来进行数据映射和转换,确保数据在两个系统之间的正确传递。 2. 数据传输方式:根据需求和系统架构,可以选择不同的数据传输方式,例如基于文件传输、Web服务或API调用等方式。 3. 数据安全性和完整性:数据在传输和接收过程中需要确保安全和完整性,可以通过加密、身份验证、数据校验等方式来保证。 4. 事务一致性:由于PLM和SAP可能涉及到不同的业务流程和操作,需要确保在数据传递过程中的事务一致性,避免数据不一致或冲突的问题。 5. 异常处理和日志记录:设计接口时需要考虑异常情况的处理,例如网络中断或数据错误等,同时需要记录相关日志,方便排查和追踪问题。 综上所述,PLM和SAP接口设计是为了实现两个系统之间的数据交互和共享,需要考虑数据映射、传输方式、数据安全性、一致性、异常处理等方面的设计。通过合理的接口设计,可以实现PLM和SAP系统的有效集成,提升企业的生产效率和管理水平。 ### 回答3: PLM(产品生命周期管理)和SAP(企业资源计划)之间的接口设计是为了实现两者之间的数据交互和集成。PLM系统负责管理和追踪产品从设计到生产直到退役的全生命周期,而SAP系统则管理企业的资源和业务流程。 在PLM和SAP之间建立接口的目的是为了确保产品数据的一致性和准确性,同时实现流程的自动化和优化。接口设计需要考虑以下几个方面: 1. 数据同步:PLM和SAP之间需要实现数据的双向同步,确保产品数据在两个系统中的一致性。例如,当在PLM中设计了新产品时,需要将相关数据(如物料清单、工艺路线等)传输到SAP系统中,以便进行生产计划和物料采购。 2. 流程集成:PLM和SAP的工作流程需要进行集成,以实现业务流程的自动化和优化。例如,在PLM系统中进行产品变更时,相关的工艺变更和质量控制流程需要自动触发,并同步更新到SAP系统中,以确保生产过程的准确性和效率。 3. 错误处理和验证:在数据传输过程中,可能会出现错误或不一致的情况。接口设计需要包含错误处理和数据验证的机制,以确保数据的准确性和完整性。例如,当传输过程中出现错误时,需要能够及时发现和修复问题,并确保数据的正确传输。 4. 安全性和权限管理:由于PLM和SAP系统都包含敏感业务数据,接口设计需要考虑安全性和权限管理的问题。只有经过授权的用户才能进行数据的传输和访问,并且需要确保数据的机密性和完整性。 综上所述,PLM和SAP之间的接口设计是为了实现两者之间的数据交互和流程集成,以提高产品生命周期管理和企业资源计划的效率和准确性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值