[SAP ABAP] 接口开发基础知识

试用场景:与外围系统进行对接需要进行接口开发

1.BAPI接口

BAPI (Business Application Programming Interfaces)  业务应用编程接口

我们可以使用事务码SWO1查询业务对象,事务码BAPI查询BAPI接口

MM常用BAPI描述信息
BAPI_OBJCL_CREATE
分类视图的创建
BAPI_OBJCL_GETCLASSES
分类视图得到详细信息
BAPI_MATERIAL_SAVEREPLICA
物料视图的扩充
BAPI_GOODSMVT_CREATE
创建物料凭证
BAPI_GOODSMVT_CANCEL
冲销物料凭证
BAPI_PR_CREATE
创建 PR
BAPI_PO_CREATE1
创建 PO
BAPI_PO_CHANGE
修改 PO 和删除 PO
W S_REVERSE_GOODS_ISSUE
冲销交货单的过账发货
BAPI_RESERVATION_CREATE1
创建预留
BAPI_RESERVATION_CHANGE
修改和删除预留
SD常用BAPI描述信息
BAPI_SALESORDER_CREATEFROMDAT2
创建销售订单
SD_SALESDOCUMENT_CREATE
创建销售订单
BAPI_OUTB_DELIVERY_CREATE_SLS
根据销售订单创建交货单
BAPI_BILLINGDOC_CREATEMULTIPLE
创建发票
BAPI_SALESORDER_CHANGE
修改或者删除销售订单
MB_CANCEL_GOODS_MOVEMENT
冲销交货单的过账发货
BAPI_BILLINGDOC_CANCEL
发票的冲销

勾选"远程启用的模块"即可被外部系统调用

2.RFC接口

RFC (Remote Function Modules)
RFC是SAP系统和其他(SAP或者非SAP)系统之间的一个重要的双向通信技术
RFC就是系统调用当前系统外的程序模块,从而实现某个功能
调用系统和被调用系统中,至少有一个必须是SAP系统
RFC 通信模式:同步通信和异步通信
同步通信
优点: 可以及时将数据返还给系统
缺点: 系统对话时必须保证两个系统处于活动状态,否则对话出现中断,影响业务应用的处理
异步通信
优点:  不影响请求发送系统的业务处理
缺点:  不适用于及时响应的处理过程
ABAP程序调用RFC接口,通过 CALL FUNCTION...DESTINATION 语句调用
例如,我们使用事务码SE37创建了自定义函数ZFM_GET_EKPO_12

提示Tips:在RFC模块中,只允许使用具有传递值的参数

由于资源有限,我们假设ZFM_GET_EKPO_12是外部系统(ZDEST)提供的函数,需要在本系统中进行调用,可编写如下代码

有关上述自定义创建ZFM_GET_EKPO_12函数可参考以下文章

[SAP ABAP] 函数Functionhttps://blog.youkuaiyun.com/Hudas/article/details/140218245?ops_request_misc=%257B%2522request%255Fid%2522%253A%25227a925429a87164e8a69f7d7ef77f1ef1%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=7a925429a87164e8a69f7d7ef77f1ef1&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-140218245-null-null.nonecase&utm_term=ABAP%20%E5%87%BD%E6%95%B0&spm=1018.2226.3001.4450

3.Web Service接口*

Web Service 是一种基于Web的中间件技术,可以用于多个系统与SAP系统之间的传输,比较灵活
Web Service 也是 SAP ABAP 系统同第三方系统集成的一种重要手段

例如,一个用 Java 开发的电商系统可通过 Web Service 与基于 ABAP 的 SAP ERP 系统交换订单数据

Web Service 是一种基于网络的分布式计算技术,它允许不同应用程序通过网络互相通信和共享数据,无论应用程序使用什么编程语言或运行在哪种操作系统上,只要遵循Web Service的标准,它们就可以相互通信

上述涉及Web Service的事务码包括:SE80SE37SOAMANAGER

Web Service Provider

向外部暴露出一个能够通过Web调用的API(Application Interface),生成WSDL,以供外部调用

例如,外部系统需要查看SAP系统的销售订单详情,我们就可以创建一个 Web Service Provider,将准备好的RFC函数发布出去

创建 Web Service Provider 方法

① SE80 ---> 右键Package ---> 创建企业服务(Enterprise Services) ---> Service Provider

② SE37打开FM ---> 实用程序 ---> 更多实用程序 ---> 创建Web服务

Web Service  Consumer
根据外部系统提供的Web Service的WSDL地址,在SAP系统创建Web Service Consumer,输入该WSDL地址

例如,创建一个Web Service Consumer,调用外部系统提供的销售订单详情查询接口,查询销售订单

创建 Web Service Consumer 方法

① SE80 ---> 右键Package ---> 创建企业服务(Enterprise Services) ---> Service Consumer

WSDL(Web Services Description Language)

WSDL 是一种 XML 文档,用于描述 Web Service 的接口、方法、参数和返回至等详细信息

通过 WSDL ,服务的提供者可以明确地定义服务的功能,而服务的使用则可以通过 WSDL文件,了解如何正确地调用该服务

4.PI(接口中间件)

事务代码:SPROXY

关于PI的相关操作,读者可自行查阅相关的资料

5.RESTFUL*

RESTful (Representational State Transfer,简称REST)

ABAP Restful Client

ABAP作为Client端,连接外部系统的Restful服务,可理解为调用Restful API

ABAP Restful Server

ABAP作为Server端,对外提供Restful服务,可理解为发布Restful API

GET用来获取资源

POST用来新建或更新资源

PUT用来更新资源

DELETE用来删除资源

关于如何调用Restful API 以及发布Restful API 的操作,读者可自行查阅相关资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值