实战开发案例(官方来源)
本页收录 SAP 官方发布的实战示例与场景,全部来自 SAP-samples 官方组织仓库与 SAP Discovery Center, 每个案例都标注了它对应的学习路径与课程号,便于「学完即练」。
与课程正文的区别:课程讲「怎么做」,案例给的是完整可跑的工程—— 包含真实代码、部署脚本与端到端业务场景。
怎么用这一页
先按左侧目录学完对应学习路径(至少学完标注的课程)。
打开案例仓库,按 README 在自己的 BTP 试用账户或 ABAP 环境里跑起来。
跑通后回到课程,对照案例用的技术点复习一遍——这是把知识变成能力的关键一步。
难度标记:🌱 入门 | 🌿 进阶 | 🌳 精通
案例 1:ABAP Cloud + RAP 参考场景(SFlight) 🌿
项目 |
内容 |
|---|---|
官方仓库 |
|
业务场景 |
航空公司的航班与预订管理:航班计划、座位预订、订票与取消 |
技术栈 |
ABAP Cloud、RAP(managed / unmanaged)、CDS 视图、EML、行为定义、草稿、服务绑定 |
对应课程 |
|
对应路径 |
第 1 条 获取核心 ABAP 技能 |
为什么值得做:这是 SAP 官方维护最活跃的 RAP 参考实现(★347,仍在更新)。 它把 RAP 的全部核心机制放在一个真实业务模型里演示,包括托管与非托管场景的对比、 草稿处理、确定与验证、动作实现、以及测试类写法。
动手要点:
在 ABAP 环境里用
abapGit拉取仓库,注意分支与 release 的对应关系。重点看
behavior definition与实现类的对应关系——这是 RAP 最容易糊涂的地方。跑通后试着加一个自定义确定(determination),体会扩展点在哪里。
案例 2:开发者扩展实战工作坊(RAP630) 🌿
项目 |
内容 |
|---|---|
官方仓库 |
|
业务场景 |
在 SAP S/4HANA Cloud Public Edition 上对标准业务对象做开发者扩展 |
技术栈 |
ABAP Cloud、RAP 扩展(extension)、已发布 API、Clean Core 原则 |
对应课程 |
|
对应路径 |
第 1 条 获取核心 ABAP 技能 |
为什么值得做:Clean Core 的落地难点不在概念,而在「什么能改、什么只能扩」。
这个工作坊用一套完整练习把扩展的边界讲清楚,是 S4D426 的官方配套动手材料。
动手要点:
关注扩展点(extension point)与增强实现(enhancement implementation)的区别。
留意哪些场景必须走并行扩展(side-by-side)而不能在应用内做。
案例 3:事务性发件箱模式(Transactional Outbox) 🌳
项目 |
内容 |
|---|---|
官方仓库 |
SAP-samples/abap-platform-rap-transactional-outbox-with-bgpf |
业务场景 |
业务数据落库后可靠地触发外部系统集成(避免分布式事务) |
技术栈 |
ABAP Cloud、RAP、后台处理框架(bgPF)、云原生设计模式 |
对应课程 |
|
对应路径 |
第 1 条 获取核心 ABAP 技能 |
为什么值得做:这是云原生集成的经典难题——数据库提交与外部调用无法原子化。 官方给出的「事务性发件箱」是生产级解法,理解它就理解了公有云集成为何必须异步化。
动手要点:
对比「提交后直接调 API」与「写入发件箱再异步投递」两种做法在失败场景下的差异。
结合课程里的 Application Job,思考重试与幂等怎么保证。
案例 4:端到端扩展场景用例集 🌿
项目 |
内容 |
|---|---|
官方仓库 |
|
业务场景 |
多个完整扩展场景:从 S/4HANA 公有云出发做并行扩展的全过程 |
技术栈 |
SAP BTP、CAP、Cloud Foundry / Kyma、目标(Destination)、通信安排、事件 |
对应课程 |
|
对应路径 |
第 2 条 在 SAP BTP 上构建并行扩展 |
为什么值得做:一本「场景菜谱」。每个用例都是一个可独立复现的端到端链路, 覆盖从 BTP 账户配置、连接打通、应用部署到与 S/4HANA 公有云交互的完整步骤。
动手要点:
每个用例开头都列了前置条件(该开哪些服务、建哪些通信安排),照着做即可。
遇到连不通,先查目标(Destination)与通信安排的对应关系——这是最常见的坑。
案例 5:Fiori elements 特性全集演示 🌿
项目 |
内容 |
|---|---|
官方仓库 |
|
业务场景 |
用一套可运行的应用演示 Fiori elements 的每一种表格、表单与页面特性 |
技术栈 |
SAP Fiori elements for OData V4、SAPUI5、注解(annotation)、灵活编程模型 |
对应课程 |
|
对应路径 |
第 3 条 开发 SAPUI5 应用 |
为什么值得做:Fiori elements 的能力边界靠文档很难建立直觉。 这个仓库把特性做成可点开的界面,点一下就知道某个注解会产生什么效果。
动手要点:
把应用跑起来,逐个对照
annotations.cds—— 改一个注解,刷新看变化。这个「改注解看效果」的循环,是掌握 Fiori elements 最快的路径。
案例 6:多租户 SaaS 应用(CAP) 🌳
项目 |
内容 |
|---|---|
官方仓库 |
|
业务场景 |
把 CAP 应用做成多租户 SaaS:租户订阅、租户隔离、租户级配置 |
技术栈 |
CAP(Node.js/Java)、mtxs、SaaS 注册表、XSUAA、Cloud Foundry / Kyma |
对应课程 |
|
对应路径 |
第 2 条、第 7 条 |
为什么值得做:多租户是 SaaS 产品的分水岭。这个案例把 「一个应用服务多个客户」所需的租户开通、隔离与升级机制完整实现了一遍。
动手要点:
先理解 SaaS 注册表(SaaS Registry)与租户感知(tenant-aware)的关系。
重点看
mta.yaml与租户部署描述符——多租户的复杂度大半在这里。
案例 7:SAP Cloud SDK for JavaScript 示例集 🌿
项目 |
内容 |
|---|---|
官方仓库 |
|
业务场景 |
用 Cloud SDK 调用 S/4HANA 的 OData 服务、打通目标与认证 |
技术栈 |
SAP Cloud SDK for JavaScript、OData V2/V4、Destination、XSUAA、CAP |
对应课程 |
|
对应路径 |
第 2 条、第 12 条 |
为什么值得做:并行扩展绕不开「从 BTP 调 S/4HANA 的 API」。 Cloud SDK 把连接、认证、重试、分页这些脏活封装好了,是官方推荐做法。
动手要点:
对照课程里的通信安排 + 通信场景,理解 SDK 背后用的就是这套机制。
试着把一次 OData 调用的目标(Destination)从硬编码改成从环境读取——这是安全实践。
案例 8:生成式 AI 中枢与应用集成 🌳
项目 |
内容 |
|---|---|
官方入口 |
|
业务场景 |
在业务应用里接入 LLM:提示模板、文档接地、向量检索、模型评估 |
技术栈 |
SAP AI Core、Generative AI Hub、Orchestration Service、SAP Cloud SDK for AI、SAP HANA Vector Engine |
对应课程 |
|
对应路径 |
第 8 条、第 9 条 |
为什么值得做:生成式 AI 在企业场景的关键不是调通模型,而是 接地(grounding)——让模型基于企业自己的数据回答。这个方向官方在快速迭代, 本案例页列出的是稳定的入口与思路。
动手要点:
先跑通 Orchestration Service 的最小调用,再加提示模板。
接地部分建议配合
AIG00的文档接地章节一起做,避免一上来就被向量检索绊住。
附:按学习路径查案例
学习路径 |
建议配套案例 |
|---|---|
第 1 条 获取核心 ABAP 技能 |
案例 1(SFlight)、案例 2(RAP630)、案例 3(发件箱) |
第 2 条 在 SAP BTP 上构建并行扩展 |
案例 4(端到端用例)、案例 6(多租户 SaaS) |
第 3 条 开发 SAPUI5 应用 |
案例 5(Fiori elements 特性集) |
第 4 条 使用 SAP Build 开发 |
案例 4 中的自动化用例 |
第 5~7 条 集成 / AIF / 平台运维 |
案例 7(Cloud SDK)、案例 4 |
第 8~9 条 生成式 AI / HANA 机器学习 |
案例 8 |
第 10~12 条 分析 / BW / 销售服务云集成 |
案例 6、案例 7 |
说明
上述仓库由 SAP 官方在 GitHub 的
SAP-samples组织下维护,许可证见各仓库。部分仓库更新频繁,动手前请先看仓库首页的分支与 release 说明, 避免照着旧分支的步骤在最新 release 上操作。
本页只做索引与导读,不复制仓库内容;请以官方仓库为准。