S/4HANA可扩展性全解析:从关键用户扩展到旁路扩展

发布时间:2026/10/3 1:24:58

S/4HANA可扩展性全解析:从关键用户扩展到旁路扩展 这几年经常有刚开始接触 SAP S/4HANA 的朋友问我同一个问题标准功能不够用的时候到底能不能改能改成什么样会不会把系统搞坏说实话这个问题背后藏着整套 S/4HANA 可扩展性的精髓。很多初学者一开始就被各种概念吓住了什么应用内扩展、旁路扩展、嵌入式分析、自定义字段听着像一堆相互割裂的名词实际用起来却是层层配合的关系。我最初接触 S/4HANA 可扩展性时也走过弯路总以为扩展就是“写 ABAP 代码改标准程序”后来才慢慢摸清楚SAP 给这套系统设计了一套分层分级、从业务用户到专业开发者的完整扩展体系。你甚至不用写一行代码就能在标准页面上加字段但真要到复杂业务场景也能用 ABAP、Java、Node.js 在云端把流程做得风生水起。今天这篇指南我不打算把 SAP 官方几百页的扩展性文档搬过来而是从实际项目视角把 S/4HANA 可扩展性拆成一个一个能落地的知识点帮初学者少走弯路。1. 可扩展性为什么是 S/4HANA 里绕不开的话题1.1 标准功能不可能覆盖所有业务扩展性是刚需每一套 ERP 系统在上线之前都会经历一个关键阶段业务需求与标准功能的差距分析。做过 SAP 实施项目的朋友都知道哪怕公司业务再“标准”也必然存在一些行业特性、企业特殊做法、历史遗留管理要求是标准 S/4HANA 没有覆盖到的。举个真实例子很多制造业企业在采购订单审批上要求“金额超过五十万且采购类型为固定资产时需要走额外两级审批”这种逻辑标准系统里没有现成配置可以做到百分百匹配必须在标准流程基础上做扩展。如果系统不允许扩展或者扩展的成本高到离谱那这套系统最后只能削足适履逼着业务部门改变自己的工作习惯去适配软件。做过 ERP 项目的都清楚业务部门对这种事极其反感。而 S/4HANA 的可扩展性体系就是为了解决这种局面它允许你在不破坏标准功能的前提下把个性化的业务规则、字段、流程、报表自然地加进去。1.2 初学者常见的几个误区我这些年看到太多初学者在可扩展性上踩坑其中一个最典型的误区是以为可扩展性等于改源代码。以前在 ECC 时代遇到需求第一反应是找个标准程序复制一份然后修改拷贝版本。S/4HANA 时代完全不一样SAP 强烈推荐的思路是尽量做“干净的扩展”后期维护时能够兼容 SAP 的标准升级不是复制标准功能再层层打补丁。另外一个误区是把可扩展性理解得太狭窄只盯着 ABAP 开发工坊。实际上 S/4HANA 可扩展性覆盖了多个层面业务用户可以通过 Fiori 应用自定义表单和字段IT 人员可以在应用内做增强专业的云原生开发者还能在 SAP BTPBusiness Technology Platform上做旁路扩展。搞清楚这套分层结构是学习可扩展性最重要的一步。1.3 可扩展性直接决定系统长期健康维护过老系统的人会有深切体会如果历史项目里到处都是直接修改的标准对象、写死的增强、混乱的隐式增强点那每次升级都是一场噩梦。SAP 设计的现代可扩展性模型首要目标就是保证升级安全性和系统整洁度。它在框架层面就把“扩展点”和“核心实现”分离开来让客户代码挂在扩展点上而不是改在核心代码内部。从这个角度看可扩展性不只是一个技术话题它直接决定了你未来八到十年的系统维护成本。对于准备学习 S/4HANA 的朋友早点建立这种“干净扩展”的意识比多会几个事务代码更值钱。2. S/4HANA 可扩展性的分层架构2.1 官方体系里的三种扩展方式SAP 官方把 S/4HANA 可扩展性梳理成三大类初学者需要第一时间建立起这个框架扩展方式英文名称主要使用者典型场景关键用户扩展Key User Extensibility业务关键用户、IT 关键用户增加自定义字段、调整页面布局、创建自定义报表开发者扩展Developer Extensibility开发人员ABAP 增强、自定义 CDS 视图、自定义 OData 服务、自定义业务对象旁路扩展Side-by-Side Extensibility开发人员、集成架构师在 SAP BTP 上构建扩展应用、微服务、复杂集成流程这三类扩展没有高低贵贱之分只是面向不同角色和不同复杂度。我见过很多甲方企业一上来就要求开发团队做高级扩展可实际上业务部门需要的只是“在多了一个字段”那用关键用户扩展十几分钟就能搞定完全没有必要上升到代码层面。反过来有些需求看似简单比如要对接外部电商平台做实时库存同步那就绕不开旁路扩展单靠应用内增强很难做到既灵活又解耦。2.2 应用内扩展与旁路扩展的边界初学者最纠结的问题通常是什么时候用应用内扩展什么时候用旁路扩展我总结了一套比较实用的判断维度首先是性能隔离需求。如果扩展逻辑非常消耗资源比如复杂的并行计算、海量数据处理放到 S/4HANA 系统里做会影响核心业务流程放到独立的云环境 BTP 上更合适。其次是技术栈选择。S/4HANA 应用内扩展通常使用 ABAP而旁路扩展可以用 Java、Node.js、Python 等更通用的技术如果你的团队根本没有 ABAP 资源旁路扩展就是自然的选择。第三个维度是生命周期解耦。旁路扩展的应用有自己独立的发布节奏不跟着 S/4HANA 升级走适合迭代频繁的创新功能。2.3 核心思路保持核心干净不管选择哪条扩展路线SAP 在架构层面强调了同一件事“保持核心干净”。这句话我的理解是标准系统需要尽量保持不变让所有客户特定的逻辑都通过正式的业务扩展点和扩展框架接入。为什么这么强调这一点因为 S/4HANA 版本更新速度远快于 ECCSAP 每个季度都会发布功能更新。如果客户把核心改得面目全非每次升级要做大量回归测试甚至部分增强在升级后会失效。而基于扩展点构建的增强升级时会自动向后兼容工作量一下子降好几个量级。3. 关键用户扩展不用写代码也能改系统3.1 什么是关键用户扩展关键用户扩展是 S/4HANA 可扩展性体系里门槛最低的一层也是初学者最容易取得成就感的一块。它允许有适当权限的业务用户或 IT 支持人员在 Fiori 界面中直接完成扩展操作比如给销售订单界面加一个“客户优先级”字段定义字段的标签、类型、长度然后把它拖到页面合适的位置整个过程无需编写 ABAP 代码。要实现这种能力S/4HANA 提供了一整套工具包括自定义字段和逻辑应用Custom Fields and Logic、自定义页面应用Custom Pages、自定义报表应用Custom Reports等等。它们的共同特点是“配置驱动”SAP 在底层生成了扩展存储库你在界面上做的每一步操作系统会在后台自动生成对应的扩展结构相当于把过去开发人员干的活产品化了。3.2 实际操作会遇到的关键环节我拿“给采购申请增加一个成本中心维度”这种需求来举例。传统开发方式要建数据元素、建域、建结构、写屏幕增强、做逻辑处理少说也要一两天。使用关键用户扩展时你打开自定义字段应用选择对应的业务上下文比如采购申请点击新增字段给它取个内部名称和字段标签指定数据类型、长度、值帮助保存后运行一个激活操作这个字段就出现在对应应用的扩展字段里了。但这只是第一步。字段建出来后通常还需要配置它在哪些 UI 上可见、是否允许录入、是否必填。用自定义页面应用打开目标 Fiori 应用对应页面把刚生成的字段拖到表单区域保存布局刷新页面前后不到半小时需求就完成了。对一个初学者来说这种即时反馈带来的成就感比看十篇概念文章都管用。3.3 什么场景适合关键用户扩展关键用户扩展适合解决“轻量级个性化需求”。比如增加字段、调整界面布局、在标准页面里加个小逻辑、创建简单自定义报表、创建自定义业务对象。这类需求通常业务规则不复杂不需要跨系统交互逻辑不需要高并发和复杂计算。不过它也有比较明显的局限比如扩展字段数量有上限、自定义逻辑能力相对有限、新加的字段对报表和分析的支撑深度不如自定义开发。如果业务团队拿关键用户扩展去实现复杂规则引擎很容易把配置做得非常臃肿后期反而难以维护。所以我在项目里的经验是当需求超过三条复杂校验规则、涉及多表联动、或者需要外部系统调用的就不建议硬用关键用户扩展扛该上代码就上代码。4. 开发者扩展应用内增强与 CDS 的核心玩法4.1 开发者扩展与 ABAP 开发工坊当关键用户扩展满足不了需求时就轮到开发者扩展登场了。它的核心载体是 SAP 一系列基于 Eclipse 的开发工具也就是很多 ABAP 开发人员熟悉的 ABAP Development Tools。通过它你可以创建自定义 ABAP 类、函数、报表、事务码、服务等。S/4HANA 版本对 ABAP 开发模式的最大冲击是引入了“ABAP RESTful Application Programming Model”现在大家都直接叫它 RAP。RAP 把业务对象建模、行为定义、服务暴露、UI 消费整合到一套一致化的开发范式里开发者用 CDS 数据建模语言定义数据模型用 Behavior Definition 定义业务行为然后暴露成 OData 服务最后被 Fiori 界面或者第三方系统消费。初学 RAP 时容易犯的错误是拿 ECC 时代开发 RFC/Report 的惯性思维去套。RAP 对分层有严格要求数据模型层、行为层、服务定义层、业务对象投影层各层职责分明写起来比传统 ABAP 要“啰嗦”一些但换来的好处是代码结构清晰、可测性高、升级兼容性好。我记得第一次按照 RAP 规范写一个自定义业务对象时光看官方示例就看了整整两天但跑通之后再看整个体系就豁然开朗了。4.2 CDS 视图现代 S/4HANA 开发的基石如果不理解 CDS那说实话你对 S/4HANA 可扩展性的理解还停留在表面。CDSCore Data Services本质上是一种数据建模语言它把数据库表、关联、计算逻辑、注解整合在一个模型里让开发者用类似 SQL 的语法去定义符合业务语义的数据模型。CDS 视图非常擅长做数据消费层的扩展。比如标准销售订单查询界面性能不够或者业务需要一个按照“区域、产品线、客户行业”三个维度汇总销售订单的分析查询传统做法是写一个很复杂的 ABAP 报表程序而现在你可以在 ABAP 开发工坊里创建自定义 CDS 视图用 Join 把相关表关联起来加上 Aggregation 和参数再配上合适的注解发布成 OData 服务一套查询接口就出来了。我建议初学者上手时先写最简单的 CDS 视图比如从数据库表里选几个字段加一个 Where 条件生成一个服务用 Fiori 预览看看效果。然后再逐渐深入学习关联、通配符、类型转换、授权对象集成等内容。这会成为后续做 RAP 开发、Fiori 应用开发的基础。4.3 经典的扩展点BAdI 与增强实现在 S/4HANA 里业务逻辑的扩展依然会大量使用 BAdIBusiness Add-In。BAdI 是 SAP 预留的“插槽”它们像电源插座一样分布在标准业务流程的关键节点上正式开发人员可以基于某个 BAdI 定义创建自己的实现并且在系统中维护激活状态。SAP 的升级通常不会覆盖 BAdI 实现因此比较安全。初学者理解 BAdI 时要注意不同模块的 BAdI 命名和触发机制差异很大。销售订单处理里的 BAdI采购申请审批里的 BAdI物料主数据保存时的 BAdI它们的接口参数不同、触发时机不同、适用用途也不同。我踩过的坑是曾经对着一个完全不适合自己场景的 BAdI 实现硬写逻辑最后发现它压根不会在需要的流程节点触发白白浪费时间。所以在项目里拿到一个增强需求时千万不要马上打开 SE24 写类先得查清楚“这个需求挂在哪个标准流程节点上SAP 有没有提供专门的 BAdI它的接口参数里有没有我们需要的数据”。如果标准 BAdI 覆盖不了再考虑“增强实现”。S/4HANA 里增强实现主要通过隐式增强方式完成但这种方式可控性差、升级风险高我的习惯是能不用就不用。4.4 自定义表与授权管理开发者扩展里还有几个配套动作自定义表、自定义索引、授权对象。自定义表可以用来存储标准系统里没有业务实体比如“客户信用等级补充信息”“促销活动主数据”等。在 S/4HANA 里SAP 推荐通过 CDS 视图建模并在数据库层生成表结构而不是像 ECC 时代随手 SE11 建表。授权管理在扩展项目里是一个容易被轻视的环节。扩展功能做出来容易但谁能访问、谁能维护数据、谁能执行报表、谁能调用这个 OData 服务这些权限设计必须在开发阶段就考虑清楚。SAP 在 S/4HANA 里引入了大量基于 Fiori 的权限对象扩展服务的授权检查需要体现在服务实现里。很多初学者做完了功能才发现权限配不出来用户的 Fiori 界面一片空白原因就是服务绑定和授权配置没做好。5. 旁路扩展在 SAP BTP 上做系统解耦与创新5.1 为什么需要旁路扩展旁路扩展是说把扩展应用构建在 S/4HANA 系统之外通常部署在 SAP BTP业务技术云平台上通过 API 与 S/4HANA 集成。S/4HANA 本身的很多功能是围绕财务、采购、销售、生产等核心业务设计的但对很多企业来说业务创新的速度要求远超 S/4HANA 发版节奏。比如做一个移动端设备巡检应用数据量不大但希望独立运营、独立发布再比如用机器学习做供应商风险分析模型训练和推理完全不应该占用 ERP 系统资源。放在以前的架构里这类应用通常会做成 S/4HANA 内部的一个自定义事务代码。现在越来越多的企业选择把这类轻量、创新、高迭代频率的应用放到 BTP 上让 ERP 系统只做它最擅长的事情——核心业务流程和主数据管理而外围创新与集成交给云平台。5.2 旁路扩展与 S/4HANA 的集成方式旁路扩展最常见的形式是在 BTP 上构建一个自定义 Fiori 应用、Web 应用或移动应用通过 S/4HANA 发布的 OData 服务读写数据同时利用 BTP 上的身份认证服务、工作流服务、业务规则服务等提升扩展能力。这要求 S/4HANA 侧先前置好通信场景和通信用户并对外发布安全的 API。SAP 在 S/4HANA 里对 API 管控做得非常细每个通信场景都定义了允许访问的 OData 服务集合、入站出站方向、使用的身份认证方式。这样配置完成以后BTP 上的应用调用 S/4HANA 接口时走的是专有通信渠道不会干扰正常的用户会话安全边界也清晰。很多初学者对通信场景不熟悉设了一套 API结果从外部系统测试始终连不上十有八九是通信用户、通信系统和通信场景三部曲没有配完整。记住这三者是一个组合缺一个服务就出不来。5.3 BTP 上的典型扩展项目我参与过的旁路扩展项目里最典型的是“销售预测与库存建议”。S/4HANA 负责维护产品和库存数据BTP 从 S/4HANA 拉取历史销售数据在云端跑预测模型再把预测结果和补货建议回写 S/4HANA 的自定义表里业务用户每天在 Fiori 界面里查看建议并一键生成采购申请。这类项目的好处是各系统各司其职S/4HANA 的数据是唯一的业务事实来源BTP 承担了计算和智能环节最终结果又反过来驱动核心流程形成一个完整闭环。整个链路里每一步都和 APIs、数据模型、事件集成有关能学到的东西非常丰富。6. 一次完整的扩展实操从字段到服务的全流程6.1 场景设定与需求梳理我以前带过的一个内部项目正好适合用来说明整套扩展流程。业务方的需求是给销售订单增加一个“客户拜访人”字段用来记录这张订单对应的最近一次客户拜访人员同时业务部门希望这个字段能出现在销售订单 Fiori 界面里还能通过 OData 服务提供给外部 CRM 系统做同步。当时评估下来这个需求应该采用“关键用户扩展 开发者扩展”的组合方案用关键用户扩展把字段加到销售订单上并让它出现在界面里用开发者扩展的方式创建一个自定义 CDS 视图把销售订单主数据连同扩展字段一起暴露成 OData 服务再交给 CRM 系统消费。这个案例很适合初学者因为它的每个步骤都不深但串起来就能理解整个扩展路径。6.2 第一步使用应用内扩展增加自定义字段我进入 S/4HANA Fiori 界面使用自定义字段和逻辑应用选择业务上下文“销售订单”新增字段字段名称内部名CUST_CALLER字段标签客户拜访人数据类型字符长度40值帮助无保存后执行发布/激活操作系统后台自动在销售订单相关存储表里生成扩展字段对应的数据存储单元并同步更新一部分接口结构。这一步做完之后连续刷新几次应用服务确保扩展字段的激活状态正常。6.3 第二步把字段配置到销售订单界面接着打开自定义页面应用搜索“销售订单”相关页面在页面设计器里找到销售订单的对象页把刚才创建的“客户拜访人”字段拖拽到“基本信息”区域中合适的位置。保存并发布然后打开标准的销售订单 Fiori 应用预览输入一个销售订单号检查字段是否显示、是否可以录入。这一步经常会遇到的问题是字段在扩展库生成了但在界面上找不到。通常原因要么是业务上下文选错了要么是页面缓存没有刷新。清除浏览器缓存、退出重登后多数能恢复正常。6.4 第三步创建自定义 CDS 视图暴露扩展字段在 ABAP 开发工坊里新建一个 CDS 视图比如ZC_SalesOrderExt数据源选择销售订单抬头表注意 S/4HANA 的销售订单抬头表是VBAK和刚扩展字段所在的扩展存储表关联。这个环节的关键是搞懂扩展字段物理存储原理关键用户扩展建的字段并不是真的在标准物理表里加了一个列而是在一个独立的扩展存储里以“扩展字段名 业务对象关键字段”的形式存储。编写 CDS 视图时需要做关联取出扩展字段值并合并到查询结果中。需要注意的是如果只是给标准 CDS 视图做消费增强不一定要新创建视图也可以在已有基础 CDS 视图的基础上创建扩展视图用EXTEND VIEW的机制补充字段。初学者最好先走新建路线理解结构后再学扩展视图的写法。6.5 第四步把 CDS 视图发布为 OData 服务要在外部系统访问这个视图需要使用服务定义和服务绑定把 CDS 视图暴露成 OData 服务。在 ABAP 开发工坊里创建服务定义引用刚才的 CDS 视图再创建服务绑定协议选择 OData并激活。之后会生成一个 OData 服务 URL。走到这一步建议先拿到服务 URL 和对应的客户端信息用外部 HTTP 工具测试一下是否能读取扩展字段。如果返回结果里能看到CUST_CALLER包含正确数据说明整条链路已经打通。6.6 第五步通过通信场景开放给外部 CRM最后在 S/4HANA 后台创建通信用户、通信系统、通信场景把刚才生成的 OData 服务注册到通信场景的入站服务列表里然后把通信系统的外部凭证信息交给 CRM 团队。外部系统就可以用 HTTP 基本认证方式调用该服务拿到销售订单及客户拜访人字段。重要提醒通信场景配置完成后最好多测几轮不同 OData 方法是否都能访问、分页结构是否正确、字段长度是否正常。外部系统的网络策略、代理配置也可能影响连通性这些细节经常是联调阶段最耗时间的地方。7. 实操中的常见问题与排查技巧7.1 扩展字段能不能删、能不能改做关键用户扩展时很多人会问这个字段我建错了能删掉吗SAP 的机制是已经发布并且被界面、报表或服务引用的扩展字段删除限制比较多往往只能“停用”不建议硬删。所以在创建字段前最好内部字段名想清楚一旦上线它是技术标识后续改动会牵一发动全身。如果真的建错了修改标签、长度等属性时也要谨慎。尤其长度如果改短可能导致已有数据无法正常显示甚至保存异常。建议在测试环境先把字段建好、测试完再发布到生产环境。7.2 CDS 视图激活报错怎么办初学者写 CDS 视图最常见的报错包括语法错误、元素数据类型不兼容、权限对象缺失。语法错误通常可以在激活时看到详细消息但有时候错误信息不够直白。我的经验是先减少视图元素从最小模型开始激活成功后逐步加字段能快速定位问题。数据类型不兼容也很常见比如在关联字段时一边是CHAR类型一边是NUMC类型系统会拒绝创建关联。这时需要用CAST或CONCAT等方式做类型转换。另外如果 CDS 视图里使用了需要权限保护的数据源还需要在视图定义里正确指定授权对象否则外部调用时会直接报权限错误。7.3 OData 服务请求返回 404 或 500OData 服务发布后调试时404 一般说明服务路径、服务名或者实体集合名不对500 则多半是服务实现内部错误或数据访问异常。此时先检查服务列表里是否真的激活了再看 URL 的路径大小写是否匹配。如果反复确认路径没错还是 404可以检查一下通信场景关联是否正确。尤其是外系统调用时S/4HANA 会校验通信用户有没有访问这个服务的权限。如果通信用户没有绑定到正确的通信系统或者没有分配职责请求就会在入口处被打回。7.4 扩展点不触发的排查思路开发者在做 BAdI 或增强时时常遇到代码明明写了程序跑起来却没反应。遇到这种情况先别怀疑 BAdI 选错了先查增强是否激活。S/4HANA 中 BAdI 实现需要在事务代码里维护激活状态有些还需要做“增强实现”和“增强点”的绑定。然后查 BAdI 的过滤器和过滤器值很多 BAdI 的实现会根据业务字段值决定是否被调用比如根据采购组织、公司代码等条件。最后再用调试器跟踪标准流程找到预期触发点确认 BAdI 是否进入调用链。7.5 扩展过程一定要有测试环境这是我反复提醒自己和团队的一句话任何扩展操作都不要直接在生产系统上做。S/4HANA 的扩展字段、CDS 视图、OData 服务激活后影响面很大一旦有问题会影响所有用户的使用体验。规范的流程是开发测试环境先操作一遍确认无误后通过传输请求带到生产系统。8. 可扩展性方案的选型思路与项目经验8.1 不同需求匹配不同扩展方式做可扩展性规划时我习惯把需求先分类再选型。下面这张表可以当成快速参考需求特征推荐方式理由增加界面字段、简单校验、调整布局关键用户扩展快速、零代码、升级安全复杂业务逻辑、自定义报表、自定义业务对象应用内开发者扩展功能强大、贴近核心流程跨系统集成、高实时性、重计算逻辑旁路扩展系统解耦、性能隔离、灵活部署需要对标准对象做深度行为扩展增强点/BAdI规范的扩展通道升级兼容不需要在 S/4HANA 中建表、只需要临时数据自定义业务对象/自定义表免去底层数据模型复杂度选型没有唯一正确答案同一需求在不同企业可能有不同选择。比如同样是添加一个外部系统传回来的字段如果只是简单展示和存储关键用户扩展足够若这个字段要参与复杂的价格计算和库存事务那可能就得在 BAdI 里自定义逻辑了。8.2 项目实操中的几条核心经验第一尽量“小步快跑”。我曾看过一个项目甲方要求一次性通过关键用户扩展加三十多个扩展字段结果自定义字段和逻辑应用的状态变得极难维护页面性能也受影响。后来拆成三轮按业务优先级逐批应用反而顺畅很多。扩展字段数量本身有平台限制和性能影响每次加字段前都要问一句真的需要吗第二扩展命名规范必须提前定好。字段内部名、CDS 视图名、OData 服务名所有这些都会暴露给外部系统和技术团队。如果命名没规范几年后系统里全是意义不明、风格混乱的对象排查起来非常痛苦。我习惯用统一前缀区分客户自定义一眼就知道哪些对象是扩展的、哪些是标准的。第三文档和传输策略始终不能丢。因为 S/4HANA 可扩展性涉及多个工具、多个应用记录建了哪些扩展字段、哪个 CDS 视图消费了它、哪个服务发布出去了对后续运维和升级至关重要。没有文档的记录半年后再看连自己都会怀疑这个字段是干嘛用的。8.3 云时代下的可扩展性发展方向现在越来越多企业走 RISE with SAP 或 S/4HANA Cloud 路线可扩展性的游戏规则也在悄然变化。云环境里访问后台事务代码受限更加推荐基于 RAP 的扩展开发、API 优先的集成策略以及 BTP 上的旁路扩展。学习可扩展性时把重心放在 CDS、RAP、OData、API 管理这些“云友好”的技术上会比死磕传统增强方式更有长期价值。这也是我非常建议初学者一开始就从现代可扩展性模型入手的原因。很多人还在学老旧的隐式增强和屏幕上增强写法不是说完全没用而是未来的项目里你会越来越难发挥。掌握 RAP 和 CDS 之后不管是传统私有云部署还是公有云环境你都有了立足之地。9. 写在最后的个人体会回头看这套 S/4HANA 可扩展性体系最让我感慨的不是某个具体技术有多强而是 SAP 在设计这套体系时贯彻的思路给不同角色留出不同的扩展空间让业务用户能做界面级的小改造让开发者能做应用内的深度增强让云原生团队能在核心之外构建创新应用。层次之间互不干扰、协同工作这既解决了业务灵活性的问题又守住了核心系统的稳定底线。我建议刚接触 S/4HANA 的朋友别一头扎进代码细节里先从“需求分类”开始练习任何一个扩展需求先判断它属于关键用户扩展、应用内开发者扩展还是旁路扩展再决定用什么工具、什么套路。这个判断能力一旦建立后面的学习会非常顺畅。最后再分享一个小技巧练习时多造一些有代表性的沙盒数据围绕一个销售订单或采购申请场景完整走一遍“扩展字段 - CDS 视图 - OData 服务 - 外部调用”的链路。自己亲手把整条路跑通一遍比看十份文档都管用。Persistence is key慢慢来可扩展性的门一旦打开你会发现 S/4HANA 远比你想象中灵活得多。
延伸阅读

更多相关文章

2026/10/3 1:24:58

风电场运维管理实操:从SCADA监盘到故障处理与备件管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 1:24:58

Ubuntu 20.04 + ROS Noetic 下 LIO-SAM 编译与避坑全指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 1:19:58

Isaac Sim安装配置实战:Ubuntu显卡驱动与启动避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 2:25:01

如果人未来不再需要那么多脑力劳动和体力劳动

如果 AI 机器人真的把大量脑力劳动和体力劳动都压缩掉,真正发生的就不是“失业增加”这么简单,而是一个更大的问题:人为什么还需要工作?而且这个问题其实比“AI会不会取代演员、程序员、司机”更根本。 我觉得可以把未来拆成三层…

2026/10/2 8:16:46

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/10/2 18:20:53

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 10:48:55

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 0:04:31

国内大学生必备的AI写作辅助软件是哪款?

国内高校学生在论文写作过程中,越来越依赖AI辅助工具提升效率,主流方案以本土化全流程工具为核心,结合通用大模型与专业插件,覆盖选题构思、框架搭建、初稿撰写、查重降重、格式调整等关键环节,本文将深入解析当前主流…

2026/10/3 0:04:31

Codex接入Jev模型完整指南:配置方法、本地部署与踩坑排查

最近不少人在讨论 Codex 搭配 Jev 这套玩法,我一开始没太当回事,直到自己把 Jev 接进 Codex跑了几轮编码任务之后,才明白那些说“直接起飞”的人是怎么想的。Codex 作为工具本身已经够能打了,但模型固定、上下文策略固定&#xff…

2026/10/3 0:04:31

GitHub 热门: NVIDIA/Model-Optimizer

👋 Hi,我擅长 AI 大模型应用落地、意识解码与 AI 开发工具链 。 💡 创业路上,用技术换时间,一起把 AI 变成生产力 🚀 >GitHub 热门: NVIDIA/Model-Optimizer 凌晨两点,你刚把跑通了的 Qwen3.…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑