了解如何使用连接器将 Tulip 与 SAP 集成。
许多 Tulip 客户使用 SAP 的 ERP 解决方案。本文将介绍如何将 Tulip 安全地连接到各种 SAP ERP 版本。
SAP ERP 版本概述
SAP 提供多种 ERP 解决方案,汇总如下表所示:
| 产品名称 | 目标市场 | 状态 | 集成要点 |
|---|---|---|---|
| SAP ECC | 大型企业 | 旧系统 / 已被 S/4 HANA 取代 | Tulip 可通过 HTTP 连接器与 SAP ECC 集成,但由于 ECC 未公开原生 REST API,因此需要中间件或集成层(例如iPaaS )作为中介。 |
| SAP S/4 HANA | 大型企业 | 当前产品。近期更名为“SAP Cloud ERP” | Tulip 可通过 HTTP 连接器与 SAP S/4 HANA 集成。 客户可选择在 Tulip 与 SAP S/4 HANA 之间使用 iPaaS。 |
| SAP Business One | 中小型企业 | 当前产品。 | Tulip 可以通过 HTTP 连接器与 SAP Business One 集成。 客户可选择在 Tulip 与 SAP Business One 之间使用 iPaaS。 |
SAP ECC 集成
Tulip 可以通过 HTTP 连接器与 SAP ECC 集成,但由于 ECC 未公开原生 REST API,因此需要中间件或集成层作为中介。常见的集成方法包括使用能够解析 SAP ECC 原生协议(RFC、BAPI、IDoc)并将其作为服务暴露出来的 SAP 品牌中间件(SAP CPI、SAP PI/PO、 SAP BTP)或第三方集成平台(例如 MuleSoft、Boomi),这些平台能够解析 SAP ECC 的原生协议(RFC、BAPI、IDoc),并将其转换为 HTTP/REST API 供 Tulip 调用。
:::(警告) (文章内容范围)
本文剩余部分假设该 ERP 系统已准备好支持通过 HTTPConnector Functions 进行集成,即原生支持 REST API(例如 S/4 HANA、Business One),或者已通过中间件或 iPaaS 启用了 REST API(例如 SAP ECC)。
在使用本指南之前,请先查阅 Tulip中关于 HTTP 连接器的概述。
:::
适用于 SAP S/4 HANA 的 Tulip 库资源
- SAP S/4 HANA 云连接器——面向 SAP S/4 HANA 的预构建 HTTP 连接器,包含适用于常见 REST API 的模板连接器函数。
- SAP S/4 HANA 云单元测试- 用于演示集成能力并包含交互式数据表的测试应用程序,用于验证 SAP S/4 HANA 连接性。
将 Tulip 与 SAP 集成
本指南将涵盖以下步骤:
- 使用用户名/密码进行身份验证,向端点发送 HTTP GET 请求
- 接收响应并将其存储在函数的“输出”中
- 在触发器编辑器中访问该输出并将其存储在变量中
- 在另一个连接器函数中使用这些变量以验证用户身份。
向 SAP 发起 GET 请求
首先,创建一个 HTTP 连接器,并通过**“添加连接**”指定详细信息。

然后,选择**“添加新函数**”。

指定路由和请求类型。许多 SAP 实例都有一个“/csrf”路由,允许您请求 CSRF 令牌。

接着,输入有关该请求的所有详细信息。如果需要包含用户名和密码或 OAuth2 承载令牌,请使用**“Auth”**选项卡。

存储请求头和 Cookie
接着,指定几个输出项来存储请求头和 Cookie。示例如下:

- csrf_token(字符串)
- cookie1(字符串)
- cookie2(字符串)
在**“输出”部分,将令牌值映射到csrf_token输出。SAP 通常使用x-csrf-token作为该值的键。您可以手动进行映射,也可以在测试 HTTP 函数后,点击“Cookie”**部分中的相应输出项来完成。
此外,请在**“输出**”部分指定响应中 Cookie 的确切名称。

现在,您可以创建触发器,将这些值存储在应用程序中。
在应用逻辑中使用 Cookie 和标头
以下是测试此函数的方法。在“应用编辑器”中,创建一个名为“获取令牌和 Cookie”的按钮。
添加一个按钮触发器,然后使用“运行连接器函数”操作,并选择上一步中创建的连接器和连接器函数。
将结果存储在一个变量中(此处为op),该变量将自动成为一个对象。

接着,在应用中添加一些“变量文本”,并显示op变量中的字段和值。

接着,在 Tulip Player 中运行应用。点击按钮后,您会看到包含令牌和 2 个 Cookie 的对象已存储在op变量中。
现在,您可以通过“触发器编辑器”在任何应用逻辑或连接器函数中使用这些值。
