ABAP接口创建

4 篇文章 0 订阅

目录

一、SAP的常用接口技术

1、WebService

 2、ALE/IDOC

 3、RFC

4、BAPI(Business Application Programming Interface)

5、中间件(MiddleWare)


一、SAP的常用接口技术

1)WebService

2)ALE/IDOC

3)RFC

4)BAPI

5)Middleware

1、WebService

Web Service就是一个应用程序,它向外界暴露出一个能够通过Web调用的APIWeb Service是一种基于Web的中间件技术。用户通过把应用程序的一部分包装成Web服务的形式,将自己的应用程序功能提供给别人,实现应用程序之间的接口。webservice可用于多个系统和SAP系统之间的传输,比较灵活。

      根据外部系统提供的webservicewsdl地址,在SAP系统创建webservice consumer时候输入该URL。使用SOAMANAGER创建逻辑端口,封装函数,在函数里指定端口,并调用类的方法,反之,创建webservice provider,生成wsdl供外部调用。

WebService接口创建步骤

1.输入t-code:se80,选择Package然后右键你的包名。

 2. 右键包名后找到创建 Web Service的位置。

3.选择 Service Provider(服务提供者,即我们作为信息的提供者,供外部程序调用我们的接口提取信息)  或者  Service Consumer(服务使用者,即我们作为接口的使用者,通过接口调用外部程序的信息)

4. 选择 Existng ABAP Objects(inside Out) 点击继续。 

4.如图

 5.输入一个函数,下面这个函数是我之前就已经创建好的。

 6.配置服务,SOAP Application选择默认选项即可,Profile根据自己的实际情况进行选择,如果不知道怎么选就默认REF_DT_IF_SEC_LOW。

 6.如图

 7.完成创建 Web Service,后续根据提示完成后续步骤。(t-code:WSCONFIG好像已经不能用了,我现在使用的t-code是:SOAMANAGER,或者se80->刚才选择的包名->服务定义->启动SOAMANAGER配置。如果不可用大家自行百度当前创建逻辑端口的方法)

8.保存输入请求号并激活。

 2、ALE/IDOC

        ALESAP专门为SAPSAP之间所设计的整合中间件。ALE技术是分布--集成式的SAP系统实现基础。

       从技术角度来说,ALE主要应用于两个有业务联系的SAP系统之间的数据同步,但也支持在SAP和非SAP系统间的数据同步的实现。

      如果用最简单的语言介绍ALE的基本功能,可以认为其主要用于便捷地实现SAP系统/应用间的业务信息和数据的复制。数据以业务对象(BO)为实现单元,在系统/应用间通过基于RFC协议的ALE接口,以IDoc格式进行传递,在此过程中,系统将保证数据的完整性。IDoc是系统间数据交换过程中的媒介,SAP数据库中的IDoc结构包括一个控制记录、一段或多段数据记录以及一段或多段状态记录。

IDoc多用于在SAP系统之间的传输数据,IDoc对接收端的配置人员要求高。

       IDOC出站处理:

1)应用层:生成应用数据

2)ALE:创建出站IDOC

3)通讯层:寻找伙伴和端口

4)发送 IDoc

IDOC入站处理:

1)通讯层:接收入站端口传来的数据.

2)ALE :创建入站IDOC并通过伙伴参数文件查找IDOC处理类型.

3)应用层:写入文档.

SAPSAP系统之间传输,系统有很多标准的配置实现,做增量数据传输很方便,需要配置的RFC逻辑连接是R3类型。SAP系统和外部系统交互,一般采用生成文件的方式,放在本地,再转化为XML或者FTP形式发送给对方,配置的RFC逻辑连接时T类型。在这里补充一下SAP发送到FTP的实现方法:建立RFC逻辑连接,函数连接FTP,账户密码登陆,然后用FTP命令在指定位置创建文件。

 3、RFC

SAP调用远程功能的能力是通过RFC接口系统(RFC interface system)实现的。根据调用方向的不同(SAP系统调用其他模块或其他系统调用SAP模块)RFC接口提供以下两种服务。

       (1)ABAP程序的调用接口

       任何ABAP程序都能使用CALL FUNCTION⋯DESTINATION语句调用远程功能。

      (2)SAP ABAP程序的调用接口

      非ABAP程序必须以特定的规格进行编程,以确保它可作为RFC通信中的伙伴方。

RFC(Remote Function Call)

        RFCSAP系统之间以及SAP与外部系统之间程序通信的基本接口技术,诸多其他更高层的SAP接口和通信技术,如BAPIALE等,都是基于RFC实现的。

        根据通信方向和通信类型,共有如下三种RFC通信:

两个独立的 SAP 系统之间通信;
SAP 系统作为调用系统,与外部远程系统 ( SAP ABAP 系统 ) 通信;
外部系统作为调用系统,与 SAP 系统通信。

        SAP为多种语言及相关的操作系统提供RFC(其中包含RFC API)SAP连接器。连接配置操作简单。为Java提供的Java Connector(JCo),为CC++提供的RFC SDK(RFC Software Development Kit),为.NET(C#VB.NET)提供的 .NET Connector(NCo),为Louts Notes 提供的Louts connector RFC分为同步和异步的,队列RFC,事务性RFC 

4、BAPI(Business Application Programming Interface)

在研究BAPI之前,首先要了解业务对象(Business Object,简称BO) 和业务对象仓库(Business Object Repository,简称BOR)

        BO代表的是实际世界的对象,比如一个采购订单,一个物料数据。SAP BO包含业务数据,并完整描述了业务过程。系统内部应用和系统间在BO级别进行通信:

通过调用BAPI,内部及外部应用可以通过portaljava.net、以及webservice等标准访问和操作业务对象。

1.输入t-code:SWO1显示业务对象

 BORSAP业务对象类型(业务对象的定义和描述)和相关BAPI的组织中心。其中的BO根据其隶属的应用层级进行组织,以便于查找。BOR管理着SAP BO的不同发布版本,同时保证其接口的版本兼容性。

T-CODE:SWO3  查看BOR

 BAPI,是指SAP中经过精确定义的业务应用的数据和处理接口。该接口在BOR中进行定义,是SAP BO方法的具体实现。每一个BAPI用于完成与该对象所属应用相关的特定业务功能。

BAPI特点

1、它实际上是一种特殊的Remote Function Module(RFC)是为了提供使用外部程序来进行交易活动。

2、它提供的基于企业目标(Business Object)技术的接口应用界面。

3、SAP 采用 Object-oriented 技术,逻辑定义了 SAP 系统的所有功能目标,并且将所有的目标 (Objects) BAPIs 存储于企业目标库 BOR
4、SAP R/3企业目标的目标类型 (Object Type) 相当于目标设计语言中类 (Class) 的概念,其定义结构由以下几部分组成:基本数据,接口界面,键 ( KeyFields ) ,方法 (Methods) ,特征 (Attributes) ,事件 (Events)

5、中间件(MiddleWare)

        中间件是CRM特有的接口技术,是CRM系统和其他外部系统交互的工具,CRM通过适配器实现数据传输,XML适配器,IDOC的适配器,R3适配器等等。在不同系统之间传递的媒介是BDOCBDOC的本质是qRFCCRM传输的对象分为“业务对象”,“定制对象”和“条件对象”。其中“配置对象”是一些配置表的对象,一般用于初始化传输的,业务对象就是CRM的业务对象。简而言之CRM的处理机制可以理解为:CRM->BDoc->IDoc/xml/BAPI结构->外部系统。

数据传输时,CRM将出站数据和处理函数打包写入BDOC(qRFC),数据存入数据库,然后调度程序将数据库里的数据写入入站队列,在接收方再将数据映射为自己系统的数据。

        比如,CRM order,保存时候,调用函数CRM_ORDER_SAVE,函数产生出站队列,到ERP端之后根据适配器里定义函数将数据转化为ERP的数据结构再保存到ERP的数据库。

实现两边系统的传输步骤是:定义好站点,确定RFC目标系统,注册并启动队列,传输数据,监控。

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值