SAP 与微软 SharePoint 集成例子

概要

将SAP中一些自定义报表程序或者标准程序的数据以文件形式输出到微软的SharePoint.

整体架构流程

数据流转:SAP->PO->SharePoint
因为初期方案基于某些原因的缘故,本次实现的方式分为两段:
1.SAP设置后台作业定时产生数据文件存到应用服务器上(可用TCODE:AL11查看)。
2.PO定期从SAP应用服务器上读取数据并抛到微软SharePoint,使用File Adapter -> Rest Adapter。
(该方案未必适用于所有情况,读者可自行根据自身情况以 Rest 2 Rest 或者其它方式实现)

实现细节

一.微软端需要准备的工作

1.注册APP

可以参考微软官网进行APP注册
该步骤完成后记录APP注册后获得的以下信息:
Application (client) ID
Directory (tenant) ID
Secret Value
在这里插入图片描述

在这里插入图片描述

2.授权APP类型及访问权限

因为本次是PO通过接口访问微软的接口,所以本次使用Get access without a user的授权方式。
注意权限的分配,因为本次使用Microsoft Graph接口,所以分配权限时需要给Microsoft Graph的权限,不然就算获取Token成功,也无法使用接口;同时因为使用的是无用户的访问方式,权限类型要选择Application
在这里插入图片描述
另外,还需要赋具体SITE的写权限
在这里插入图片描述

3.使用Postman尝试调用接口

完整操作流程可以参考官网Use Postman with the Microsoft Graph API

A.下载官网提供的Postman collection

上面网站已有配好的Postman collection 可以直接下载保存使用,注意fork到自己的Postman的时候把环境参数选上。
在这里插入图片描述

已经完成上面Postman collection下载之后,在环境变量里填入上面注册APP时拿到的Client id , Tenant id , Secret Value
在这里插入图片描述

B.尝试获取TOKEN

在这里插入图片描述
当出现下面这个图片时说明获取成功,点击Proceed,并使用TOKEN
在这里插入图片描述在这里插入图片描述

C.测试是否有权限调用接口

使用Get sites尝试调用接口,如果返回的HTTP CODE是200,则可以说明有权限可以调用接口
在这里插入图片描述

D.测试上传文件

首先需要知道自己需要上传文件的SharePoint对应的SITE ID
可通过访问http://siteurl/_api/site/id获取需要上传文件的SITE ID
在这里插入图片描述
Postman新建upload接口并测试上传文件
上传文件接口使用PUT方法,并使用如下路径,中括号内容根据自己需要进行调整;也可参考官网说明去使用其它上传的方式。
https://graph.microsoft.com/v1.0/sites/{SITE ID}/drive/items/{PATH}/{Filename}:/content

其中需要注意的是,该文章内使用的上传文件方法是只能上传大小小于等于250MB的文件,需要上传大于250MB的文件请参看官网说明

当调用接口返回HTTP CODE 201时说明文件已经成功上传。
在这里插入图片描述
此时在对应SharePoint路径下也可以看到相应的文件
在这里插入图片描述

二.SAP端需要开发和准备的内容

1.创建应用服务器存放文件的路径

因为程序要把文件存放到应用服务器上,并可以使用AL11事务码进行查看,所以需要定义一个存放路径。
该步骤我们通过SM69使用OS的命令进行创建,建议新手咨询自己公司的BASIC进行操作

打开SM69,并创建新的命令
在这里插入图片描述
输入新建命令的信息并保存,本文是在/sapdir/appdev底下新增test路径。
另外,本文章使用的是Linux的命令,具体使用何种操作系统和命令这个自行判断。
在这里插入图片描述

保存后点击执行按钮,完成后即可在AL11中看见新的路径
在这里插入图片描述

2.SAP程序开发
A.写入文件到应用服务器

因为要实现文件放置到应用服务器具体位置,其中主要使用的OPEN DATASET的语法。
下面这段是将内表数据转换成CSV文件输出到到具体路径:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ice_pass

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值