实战开发案例(官方来源)

本页收录 SAP 官方发布的实战示例与场景,全部来自 SAP-samples 官方组织仓库与 SAP Discovery Center, 每个案例都标注了它对应的学习路径与课程号,便于「学完即练」。

与课程正文的区别:课程讲「怎么做」,案例给的是完整可跑的工程—— 包含真实代码、部署脚本与端到端业务场景。

怎么用这一页

  1. 先按左侧目录学完对应学习路径(至少学完标注的课程)。

  2. 打开案例仓库,按 README 在自己的 BTP 试用账户或 ABAP 环境里跑起来。

  3. 跑通后回到课程,对照案例用的技术点复习一遍——这是把知识变成能力的关键一步。

难度标记:🌱 入门 | 🌿 进阶 | 🌳 精通


案例 1:ABAP Cloud + RAP 参考场景(SFlight) 🌿

项目

内容

官方仓库

SAP-samples/abap-platform-refscen-flight

业务场景

航空公司的航班与预订管理:航班计划、座位预订、订票与取消

技术栈

ABAP Cloud、RAP(managed / unmanaged)、CDS 视图、EML、行为定义、草稿、服务绑定

对应课程

S4D400S4D401S4D430S4D426

对应路径

第 1 条 获取核心 ABAP 技能

为什么值得做:这是 SAP 官方维护最活跃的 RAP 参考实现(★347,仍在更新)。 它把 RAP 的全部核心机制放在一个真实业务模型里演示,包括托管与非托管场景的对比、 草稿处理、确定与验证、动作实现、以及测试类写法。

动手要点

  • 在 ABAP 环境里用 abapGit 拉取仓库,注意分支与 release 的对应关系。

  • 重点看 behavior definition 与实现类的对应关系——这是 RAP 最容易糊涂的地方。

  • 跑通后试着加一个自定义确定(determination),体会扩展点在哪里。


案例 2:开发者扩展实战工作坊(RAP630) 🌿

项目

内容

官方仓库

SAP-samples/abap-platform-rap630

业务场景

在 SAP S/4HANA Cloud Public Edition 上对标准业务对象做开发者扩展

技术栈

ABAP Cloud、RAP 扩展(extension)、已发布 API、Clean Core 原则

对应课程

S4D426 实践 SAP S/4HANA Cloud 的洁净核心扩展

对应路径

第 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)、云原生设计模式

对应课程

S4D426S4D401(Application Job 部分)

对应路径

第 1 条 获取核心 ABAP 技能

为什么值得做:这是云原生集成的经典难题——数据库提交与外部调用无法原子化。 官方给出的「事务性发件箱」是生产级解法,理解它就理解了公有云集成为何必须异步化。

动手要点

  • 对比「提交后直接调 API」与「写入发件箱再异步投递」两种做法在失败场景下的差异。

  • 结合课程里的 Application Job,思考重试与幂等怎么保证。


案例 4:端到端扩展场景用例集 🌿

项目

内容

官方仓库

SAP-samples/btp-end-to-end-scenario-use-cases

业务场景

多个完整扩展场景:从 S/4HANA 公有云出发做并行扩展的全过程

技术栈

SAP BTP、CAP、Cloud Foundry / Kyma、目标(Destination)、通信安排、事件

对应课程

CLD200BAS400CF400KYM400

对应路径

第 2 条 在 SAP BTP 上构建并行扩展

为什么值得做:一本「场景菜谱」。每个用例都是一个可独立复现的端到端链路, 覆盖从 BTP 账户配置、连接打通、应用部署到与 S/4HANA 公有云交互的完整步骤。

动手要点

  • 每个用例开头都列了前置条件(该开哪些服务、建哪些通信安排),照着做即可。

  • 遇到连不通,先查目标(Destination)与通信安排的对应关系——这是最常见的坑。


案例 5:Fiori elements 特性全集演示 🌿

项目

内容

官方仓库

SAP-samples/fiori-elements-feature-showcase

业务场景

用一套可运行的应用演示 Fiori elements 的每一种表格、表单与页面特性

技术栈

SAP Fiori elements for OData V4、SAPUI5、注解(annotation)、灵活编程模型

对应课程

UX405UX406UX410UX400

对应路径

第 3 条 开发 SAPUI5 应用

为什么值得做:Fiori elements 的能力边界靠文档很难建立直觉。 这个仓库把特性做成可点开的界面,点一下就知道某个注解会产生什么效果。

动手要点

  • 把应用跑起来,逐个对照 annotations.cds —— 改一个注解,刷新看变化。

  • 这个「改注解看效果」的循环,是掌握 Fiori elements 最快的路径。


案例 6:多租户 SaaS 应用(CAP) 🌳

项目

内容

官方仓库

SAP-samples/btp-cap-multitenant-saas

业务场景

把 CAP 应用做成多租户 SaaS:租户订阅、租户隔离、租户级配置

技术栈

CAP(Node.js/Java)、mtxs、SaaS 注册表、XSUAA、Cloud Foundry / Kyma

对应课程

CLD200KYM400BTP200

对应路径

第 2 条、第 7 条

为什么值得做:多租户是 SaaS 产品的分水岭。这个案例把 「一个应用服务多个客户」所需的租户开通、隔离与升级机制完整实现了一遍。

动手要点

  • 先理解 SaaS 注册表(SaaS Registry)与租户感知(tenant-aware)的关系。

  • 重点看 mta.yaml 与租户部署描述符——多租户的复杂度大半在这里。


案例 7:SAP Cloud SDK for JavaScript 示例集 🌿

项目

内容

官方仓库

SAP-samples/cloud-sdk-js

业务场景

用 Cloud SDK 调用 S/4HANA 的 OData 服务、打通目标与认证

技术栈

SAP Cloud SDK for JavaScript、OData V2/V4、Destination、XSUAA、CAP

对应课程

CLD200BAS400C4H45B

对应路径

第 2 条、第 12 条

为什么值得做:并行扩展绕不开「从 BTP 调 S/4HANA 的 API」。 Cloud SDK 把连接、认证、重试、分页这些脏活封装好了,是官方推荐做法。

动手要点

  • 对照课程里的通信安排 + 通信场景,理解 SDK 背后用的就是这套机制。

  • 试着把一次 OData 调用的目标(Destination)从硬编码改成从环境读取——这是安全实践。


案例 8:生成式 AI 中枢与应用集成 🌳

项目

内容

官方入口

SAP AI Core / Generative AI Hub 文档SAP-samples 相关仓库

业务场景

在业务应用里接入 LLM:提示模板、文档接地、向量检索、模型评估

技术栈

SAP AI Core、Generative AI Hub、Orchestration Service、SAP Cloud SDK for AI、SAP HANA Vector Engine

对应课程

AIG00~AIG03HAML01~HAML04

对应路径

第 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 上操作。

  • 本页只做索引与导读,不复制仓库内容;请以官方仓库为准。