SAP Build 3-调用SAP BAPI和调用S4HC API

1. 调用SAP BAPI

1.1 前提

项目已创建
SAP环境登录正常

1.2 引入BAPI SDK

商店中下载BAPI SDK
在这里插入图片描述
Process中导入BAPI SDK
在这里插入图片描述

1.3 新建action group

在这里插入图片描述
在这里插入图片描述
新建action group时,会要求填写SAP登录信息,根据连接类型分为SSO,Basic和Custom
如果选择SSO和Basic会有预留的参数被放出来填写,若参数不足以登录可以新增参数(例子:BTP没有用SSC打通SAP后端和BTP的防火墙,可以新增SAP Router以设置外网连接)
具体参数和SAP登录时使用的一致,这里使用Custom举例
在此处添加完参数后就需要填写除用户名和密码以外的SAP连接参数
否则下一页面会重新让选择
在这里插入图片描述
创建完成后转到detail页面,此时可以填写用户名和密码以连接SAP客户端获取BAPI名以及测试
在这里插入图片描述
使用客户的BTP环境无法通过路由连接SAP后端,但试用账号可以连接,这是一个待解决的问题点,猜测是用户BTP有白名单设置
在这里插入图片描述

1.4 新建Action

点击新建以创建action,SAP把单个的BAPI封装成了Action供用户操作,好处是创建完成之后无需再创建结构,保存时会根据选择的bapi参数自动生成入参和出参
在这里插入图片描述
如果SAP后端连接成功,那么此时会出现可使用的BAPI列表(其实不只是BAPI,所有远程RFC都可以使用)
在这里插入图片描述
搜索需要的bapi即可,此处使用bapi_po_getdetail1
在这里插入图片描述
选择需要的bapi入参
在这里插入图片描述
选择需要的bapi出参
在这里插入图片描述
最后可以在test页签测试,入参只有刚刚选中的入参,但是sap会把所有出参都返回
在这里插入图片描述
在这里插入图片描述
最后保存即可,会自动生成bapi所需的入参和出参结构
在这里插入图片描述

1.4 测试

新建流程,在活动处可以搜索出刚刚新建的action group和action,选中拖拽即可使用
在这里插入图片描述
除了账号密码以外,刚刚配置的SAP连接信息被自动带过来了
账号密码目前只能明文填写到此处,但实际应该保存在一个凭据管理器中才能保证安全,这部分待解决
在这里插入图片描述
入参和出参已经在action保存的时候就生成了,此处可以直接选择生成的参数类型,输入参数即可
在这里插入图片描述
最后点击测试,用log查看返回的结果
在这里插入图片描述
最后结果也只包含选择的出参
在这里插入图片描述

1.5 参考文档

https://developers.sap.com/tutorials/spa-bapi-actiongroup.html

2. 调用S4HC API

2.1 配置S4HC

2.1.1 创建通信用户

这是先决条件,刚拿到S4HC的测试环境了,所以补在前面
登录S4HC创建通讯用户
在这里插入图片描述
在这里插入图片描述
尽量使用建议密码,S4HC的密码规则很严格
在这里插入图片描述

2.1.2 创建通信系统

在这里插入图片描述
在这里插入图片描述
下述系统和主机名都可以自定义,端口使用HTTPS 443
在这里插入图片描述
只维护入站即可,因为此用户只用于调用S4HC API时使用,选择刚刚创建的用户
在这里插入图片描述

2.1.3 创建通信场景

在API Hub中找到待使用的API 编号,如下图

注: 此处使用的是物料主数据的API,因为拿到的S4HC系统只有物料主数据,没有销售订单数据,跟下面的销售订单API有一点出入,但方法和步骤都是一样的

在这里插入图片描述
在这里插入图片描述
使用刚刚在API hub中找到的API 编号,找到对应的通信场景
在这里插入图片描述
创建通信安排
在这里插入图片描述
填写入站信息即可
在这里插入图片描述

后面的出站信息用不上,全部取消激活
在这里插入图片描述
保存即可

2.1.4 测试API服务

转到API Hub的try out
在右侧的环境中新建
在这里插入图片描述
依次输入环境名称,域名,端口,账号,密码

注:
账号和密码要使用刚刚创建并配置的通信用户账号密码
API的域名在上一步通信场景的入站处,不是S4HC的域名,稍微有一点点不一样
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
配置完成后选择api,填写参数,最后run即可运行
在这里插入图片描述
最后成功访问API,并得到返回结果
在这里插入图片描述

2.2 配置BTP与BUILD连接

转到BTP的子环境->connectivity->destination,新建
URL填写2.1.4中tryout里面的链接,用户和密码填写之前新建的通信用户API_USER
在这里插入图片描述
右侧需要新增properties:
Key:sap.processautomation.enabled
Value:true
在这里插入图片描述
转到SAP Build Control Tower的destination磁贴
在这里插入图片描述
点击Add即可将BTP中的destination新增到SAP Build中
在这里插入图片描述

2.3 SAP API Hub下载API说明书

若要使用S4HC中的API,优先在SAP API Hub中找到对应的API接口文档
官方地址:https://api.sap.com
选择公有云版本的S4HC
在这里插入图片描述
转到API页签,转到ALL页签,搜索需要的API,此处使用销售订单的API故搜索sales
在这里插入图片描述
找到sales order的api
在这里插入图片描述
在overview找到API Specification,下载zip文件并解压(点一次有时候不生效,多点几次)
在这里插入图片描述
最后得到json文件,先暂时保存后面会用
在这里插入图片描述

2.4 创建Action

SAP Build的action group和上一步process中action group有些不太一样
action group中的action只针对SAP OP的BAPI做连接
SAP Build的action group则是专门和外部(SAP/非SAP)系统API做连接的
此处其实S4HC的API可以直接在左侧的SAP Business Accelerator Hub中直接选择Sales order的API,但如果外围系统有符合OpenAPI的Specification file,那么也可以通过右侧的upload api specification直接上传到action中
在这里插入图片描述
上传刚刚在API Hub中下载的json文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 选择待使用的API作为Action

此处使用Get的方式在S4HC中查询销售订单,通过筛选找到查询销售订单的API,其实这一步跟刚刚在SAP系统中找BAPI很类似了

SAP Build中叫action,action中还叫action,总感觉这里容易造成歧义

在这里插入图片描述
选择完action之后也和process中的bapi action类似,选择出入参数
入参使用filter过滤需要的订单
如SalesOrder eq ‘9000001’
在这里插入图片描述
出参自由选择所需参数
在这里插入图片描述
测试之前需要先激活CSRF token
在这里插入图片描述
测试时输入S4HC中的接口地址即可
即使我设置了destination也无法选中,所以最后选择的手工输入接口地址,参数和API Hub中tryout填写的基本一致
在这里插入图片描述
后续没法测试了,没有S4HC的环境
拿到S4HC的环境了,由于该环境没有销售订单,故切换成了物料主数据的接口,步骤和上述一致,已经成功拿到S4HC系统返回的物料主数据信息
在这里插入图片描述
测试通过之后,点击右上角release释放
在这里插入图片描述
在这里插入图片描述
release之后还需要publish到library
在这里插入图片描述

2.6 测试

在process中新增全局destination变量
在这里插入图片描述
在这里插入图片描述
在process中新增dependency,选择add an project dependency
在这里插入图片描述
找到销售订单的API,点击Add
在这里插入图片描述
添加完成后即可在活动处找到相应的API服务
在这里插入图片描述
参数和刚刚的test页面基本一致,但是只能通过destination访问S4HC的接口
在这里插入图片描述
这里也没办法继续测试下去了,没有S4HC的环境
拿到S4HC的环境了,测试的API切换成物料主数据的读取,步骤和之前的一样
在这里插入图片描述
填写先前创建的destination全局变量即可,top是筛选结果的,这里只获取一条数据
在这里插入图片描述
点击test执行测试,就可以在全局变量中选择在sap build中创建的destination
在这里插入图片描述
最后测试结果正常获取返回信息
在这里插入图片描述

2.7 参考文档

SAP Build 调用S4HC API,官方文档用的是表单举例,这里切换成process了
https://developers.sap.com/tutorials/spa-process-action-create.html

SAP Build destination配置
https://developers.sap.com/group.btp-spa-destinations.html

S4HC API配置
https://blog.youkuaiyun.com/weixin_45423347/article/details/107935638

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值