01CPI
SAP Cloud Platform Integration (CPI) 是 SAP 新一代的云端集成平台,核心功能是帮助企业快速、安全地连接各种云端和本地系统,打破数据孤岛,实现业务流程自动化。它既提供了低代码的开发环境,也内置了丰富的预置连接器和模板,能显著降低集成的门槛和工作量。
1.1核心功能速览
下表汇总了 SAP CPI 的主要功能模块,方便你快速了解:
功能类别 | 具体功能 | 主要作用 |
|---|---|---|
| 🔌 连接与集成 | 预置集成包与连接器 | 提供2600+预置场景和170+第三方应用连接器,实现快速开箱即用。 |
| 协议与系统支持 | 支持HTTP、SFTP、IDoc、OData、SOAP等多种协议,打通SAP与非SAP系统。 | |
| 🛠️ 消息处理与编排 | 图形化集成流设计 | 提供可视化工具,通过拖拽方式构建数据转换、路由、增强等集成逻辑。 |
| 数据映射与转换 | 内置图形化映射工具和脚本支持,解决不同系统间的数据格式差异问题。 | |
| 📊 设计与开发 | API 全生命周期管理 | 提供从设计、发布、保护到监控API的完整工具,支持API货币化和生态构建。 |
| AI 辅助设计 | 集成Integration Advisor,利用机器学习自动推荐接口和映射,加速项目启动。 | |
| 🔎 监控与运维 | 端到端消息监控 | 提供集中监控仪表盘,实时追踪消息处理状态,快速定位并处理错误。 |
| 预置错误处理机制 | 支持自动重试、错误日志和告警等机制,保证集成流程的稳定与可靠性。 | |
| ✨ 高级与创新组件 | 边缘集成单元 | 支持在本地或边缘侧部署集成流,满足低延迟、本地数据处理需求。 |
| 交易伙伴管理 | 支持B2B场景,简化EDI交易伙伴的管理和配置。 | |
| 🏗️ 部署与安全 | 多云/混合部署 | 支持纯云端、本地及混合部署模式,灵活适应不同企业架构。 |
| 企业级安全 | 提供数据加密、角色权限控制、OAuth2.0/SAML等多种认证授权机制。 |
02Message Mapping
简单来说,它的作用可以概括为:实现不同系统之间数据格式的转换和语义的映射。:
1. 可视化构建数据转换逻辑
CPI 提供了一个基于浏览器的图形化映射编辑器,允许集成开发人员通过拖拽连线的方式,直观地建立源字段与目标字段之间的映射关系。这种方式无需编写大量代码,降低了实现复杂转换的门槛,并且映射逻辑一目了然,便于维护。
2. 支持多种数据格式之间的互转
与 PI/PO 类似,CPI 的 Message Mapping 能够处理异构系统间的数据格式差异,支持的转换类型包括:
XML ↔ XML
JSON ↔ JSON
XML ↔ JSON
XML ↔ CSV(通过额外的解析器或脚本辅助)
JSON ↔ CSV
这使得 CPI 能够轻松连接现代 REST API(通常使用 JSON)与传统企业系统(通常使用 XML 或 IDoc)等不同技术栈的端点。
3. 内置丰富的函数库与脚本能力
在映射过程中,Message Mapping 提供了大量预置函数,用于实现常见的转换需求:
字符串处理:拼接、截取、替换、正则匹配等。
数学运算:求和、平均值、取整等。
日期/时间格式化:在不同格式之间转换。
条件映射:使用
if、choose等结构实现分支逻辑。值映射:根据查找表将源值转换为目标值(如代码转换)。
当标准函数不足以满足业务逻辑时,CPI 的 Message Mapping 允许嵌入Groovy 脚本或XSLT来编写自定义函数,实现高度灵活的转换。
4. 处理复杂的数据结构
对于包含循环、嵌套、层级关系的复杂消息(例如采购订单包含抬头、多个行项目、每个行项目又包含多个计划行),Message Mapping 能够精准地处理:
1:1 映射:简单字段直接对应。
1:N / N:1 映射:将源结构中的多个元素合并为一个,或将一个元素拆分为多个。
上下文管理:通过分组或索引来控制循环内部的映射关系,确保输出结构正确。
5. 作为集成流中的可复用组件
在 CPI 的集成流(Integration Flow)中,Message Mapping 通常以“映射”步骤(Mapping Step)的形式存在。一个映射步骤可以引用一个设计好的 Message Mapping 对象,并且同一个映射对象可以被多个集成流复用,提高了开发效率和一致性。
6. 云原生特性带来的优势
与 PI/PO 相比,CPI 的 Message Mapping 还具备以下云原生特点:
零基础设施管理:无需部署和运维映射引擎,完全由 SAP 云平台托管。
Web 化协作:开发人员可以直接在浏览器中完成映射设计,支持版本管理和团队协作。
无缝集成 CPI 的其他能力:可以与 CPI 的内容修改器(Content Modifier)、路由器(Router)、参与者(Participant)等步骤协同工作,形成完整的集成流程。
03实战CPI访问S4提供的Webservice服务
① SAP函数发布webservice服务(网上有很多教程,所以这里就不详细罗列具体步骤)
②在CPI场景中我们先一个Message Mapping的控件,作用就是做数据转换的。这里介绍一个XSD与wsdl文件如何转换映射的步骤。在这个步骤之前,我们需要把文件上传的集成流程中,点集成流程的空白区域,有个参考的TAB页签,我们可以在这里上传需要的文件。
③双击Message Mapping,就是映射关系绑定的地方,左边这个是xsd文件,右边是sap提供的webservice文件,文件配置关系后,我们可以模拟测试下。
发送xml文件
<root> <id> <anzhl>998</anzhl> <begda>2026-03-07</begda> <pernr>3063</pernr> <lgart>14001508</lgart> </id> <id> <anzhl>998</anzhl> <begda>2026-03-08</begda> <pernr>3063</pernr> <lgart>14001508</lgart> </id> </root>xsd文件生成工具
https://www.freeformatter.com/xsd-generator.html#before-output
网站生成的xsd文件导入到Message Mapping左边的xsd文件中。
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="root"><xs:complexType><xs:sequence><xs:element name="id" maxOccurs="unbounded" minOccurs="0"><xs:complexType><xs:sequence><xs:element type="xs:short" name="anzhl"/><xs:element type="xs:date" name="begda"/><xs:element type="xs:short" name="pernr"/><xs:element type="xs:int" name="lgart"/></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:complexType></xs:element></xs:schema>
注意:
在选择webservice服务地址的时候,不能直接贴soamanager生成的地址给外围系统。可以有两种方法识别暴露给外围系统的地址。
方案一:可以在soapui工具导入我们在soamanager下载的文件,然后通过工具识别地址。
方式二:我们可以打开wsdl文件找到location的位置,后面就是给外围系统调用的地址。
例如在CPI系统中配置调用SAP的webservice服务,下面就是填写的地址。