【学习系列】SAP RAP 3:添加多层级的子节点

AI摘要

本文介绍了如何在SAP RAP中添加多层级的子节点,包括明细层级和计划行层级的数据库及CDS视图实体创建。重点讲解了关联关系的定义、投影视图的配置、行为定义的更新以及元数据扩展的设置,确保UI界面能够正确展示多层级结构。

前言

在前一篇中已经创建了最基本的RAP应用,但是只有抬头层级,本篇将创建另外两个子节点(明细和计划行信息),并且将其关联至根节点(抬头信息)。

正文

1.创建明细层级Database

@EndUserText.label : 'RAP Demo item info'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table ztrap_demo_item {

  key client       : abap.clnt not null;
  key order_number : ebeln not null;
  key item_number  : ebelp not null;
  material         : matnr;
  plant            : werks_d;
  location         : lgort_d;
  @Semantics.quantity.unitOfMeasure : 'ztrap_demo_item.unit'
  quantity         : menge_d
用 UUID 把多层级 managed RAP BO 设计顺,4 层节点也能让框架自动跑起来 本文探讨了在RAP建模中处理多层级数据结构的设计原则。文章指出,当层级达到第3层及以上时,传统的语义键模型会变得复杂且低效,而采用UUID主键则能简化设计。关键建议包括: 每个表只需一个UUID主键字段,无需构建复杂的复合键 子节点保存父节点UUID,第3层及以上节点额外保存根节点UUID 业务可读编号作为语义键单独保留,与数据库主键解耦 根节点需包含完整的管理字段(创建人、修改时间等) 这种设计使RAP框架能更好地处理深层级节点的锁控制和draft支持,同时保持业务可读性。文章提供了各层级节点的具体表结构 阅读详情

相关推荐

【学习系列】SAP RAP 18:Unmanaged场景开发示例-基本数据更新

本文介绍了在SAP RAP中unmanaged模式下从0到1的开发步骤。unmanaged模式下需要自行实现数据更新、权限检查等逻辑,适用于操作现有数据库表或复杂业务场景。文章以两层的采购订单对象为例,详细说明了创建技术对象(表、视图、行为定义等)的过程,并重点阐述了如何实现CRUD相关方法的核心逻辑。通过创建缓冲类来处理交互阶段和保存阶段的数据操作,确保事务一致性。完整代码展示了抬头层级的增删改查功能实现,为后续明细层级的开发奠定了基础。

DeveloperMrMeng的博客 634

【学习系列】SAP RAP 7:行为定义-Draft

本文介绍了RAP框架中的草稿表(Draft)功能及其应用。草稿表允许用户临时保存数据,在激活前不影响业务逻辑,支持保存继续、暂存和设备切换功能。草稿分为独占草稿(仅限同一用户编辑)和协作草稿(允许多用户协同编辑)。启用草稿需在行为定义和投影中包含标准action,并创建包含TotalETag等管理字段的草稿表。TotalETag确保草稿转换时活动数据未被修改,而ETagmaster则防止并发修改。文章通过OData调用示例详细说明了ETag验证过程,强调草稿功能由RAP框架自动处理,开发者只需关注定义和配置

DeveloperMrMeng的博客 436

【学习系列】SAP RAP 6:行为定义-Concurrency Control

本文介绍了RAP行为定义中的并发控制机制,包括乐观并发控制和悲观并发控制两种方式。乐观控制通过ETag字段实现,在数据更新时检查ETag值是否匹配,防止覆盖修改;悲观控制则采用独占锁机制,锁定期间其他用户无法编辑。文章详细说明了两种控制的实现原理、使用场景(managed/unmanaged)及混合控制模式,即在编辑时使用悲观锁,保存时通过ETag进行乐观控制。同时指出根节点必须作为lockmaster,并强调了不同场景下的实现差异。

DeveloperMrMeng的博客 361

【学习系列】SAP RAP 5:行为定义-Numbering

本文介绍了RAP框架中编号赋值的两种方式:EarlyNumbering和LateNumbering。EarlyNumbering在创建前确定主键编号,分为框架托管的managed和自定义的unmanaged实现。LateNumbering在数据持久化前生成编号,适用于无间隔编号需求,通常用于子节点层级。文章通过订单号和计划行编号的实例,详细说明了两种方式的实现步骤和注意事项,包括代码示例和运行效果演示。最后指出下一篇文章将介绍行为定义中的锁概念。

DeveloperMrMeng的博客 505

站稳再行远,老子这句话放进 SAP RAP 开发里的工程分寸

摘要: 老子“企者不立,跨者不行”的智慧在SAP RAP开发中尤为适用。RAP分层架构(数据模型、服务供给、消费层)需严格遵循,避免业务对象未定型就急于堆砌UI或API。核心在于: 根基稳固:Business Object需明确边界、组合关系及事务语义,避免为短期需求扭曲模型; 循序渐进:区分managed/unmanaged场景,不强行套用旧逻辑或绕过框架机制; 业务优先:Behavior实现应聚焦状态变化而非技术炫技,保持代码可读性与可维护性; 分层协作:逻辑合理分布(CDS View、Projecti

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3609

从毫末到千里,借《道德经》理解 SAP RAP 开发的渐进之道

文章摘要: SAP ABAP RAP开发强调渐进式构建,正如老子所言「合抱之木生于毫末」。RAP应用应从最小业务语义出发,厘清字段、主键、状态等基础元素,而非直接设计复杂架构。开发过程需分层递进:先建立核心数据模型与行为定义,再逐步扩展服务绑定、权限控制等功能,避免过早堆砌对象导致系统臃肿。RAP提供managed和unmanaged两种实现模式,分别适用于新老系统集成。关键在于通过业务对象(BO)聚合事务边界,使验证规则等业务逻辑内生于BO生命周期,而非分散在各层。开发者应从一个可运行的纵切片开始,在持续

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 911

【学习系列】SAP RAP 12:行为定义-Side Effects

本文介绍了行为定义中的SideEffects(附加作用)概念及其应用场景。SideEffects用于在草稿模式下自动触发数据刷新,解决因UI不主动请求更新导致的数据不一致问题。文章详细说明了五种触发类型(字段变更、操作执行、数据源变更、实体修改、事件触发)和四种可刷新目标(字段、权限、实体、消息)。通过实际案例展示了如何通过SideEffects实现自动加载更新数据,并强调需在行为定义投影中启用该功能。这种机制提高了数据同步效率,确保界面显示与后台数据的一致性。

DeveloperMrMeng的博客 351

从无名到有名,老子这句话放进 SAP RAP 开发里,就是一条从混沌业务到可演进业务对象的路

在做 SAP ABAP RESTful Application Programming Model 开发时,我最怕的不是代码难写,而是业务一开始就被过早命名。一个字段刚从用户访谈里听到,就急着建成 CDS element;一个动作刚在会议里被提到,就立刻写成 action;一个状态还没弄清生命周期,就已经放进 behavior definition。表面上看,系统很快有了名字,有了实体,有了服务,有了 URL,有了 SAP Fiori Elements 页面。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2032

有之以为利,无之以为用,在 RAP 开发里的虚实取舍

摘要(149字) SAP RAP框架通过"有"与"无"的哲学平衡实现业务应用价值。其"有"体现在CDS视图、行为定义、服务绑定等具体对象,为系统提供形体;而"无"则表现为保留的扩展空间、未暴露的实现细节和框架托管的生命周期。在采购审批应用中,RAP既通过明确定义的行为模型建立业务语义,又通过验证、动作等机制保持灵活性。这种架构既确保核心功能稳固,又为未来演进留出余地,印证了"有之以为利,无之以为用"的技术智慧

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1297

在 SAP LUW 中拆解 RAP Transaction:从 Interaction Phase 到 Save Sequence 的完整活动链路

本文详细解析了SAP RAP框架中业务事务(SAP LUW)的处理流程。RAP将事务划分为交互阶段(Interaction Phase)和保存序列(Save Sequence)两个核心环节,通过事务缓冲(transactional buffer)机制确保数据一致性。交互阶段允许临时性修改并支持草稿(draft)保存,保存序列则分为早期校验和晚期持久化两个阶段,确保最终一致性。文章结合费用报销案例,说明了RAP如何通过严格的分阶段处理来保证业务事务的完整性和安全性,同时提供了可运行的示例思路来观察这一机制的实

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4614

在 SAP RAP Fiori Elements 里用 Domain Fixed Values 做 Value Help

摘要:在RAP开发Fiori Elements应用时,状态字段等固定值推荐使用ABAP Domain的固定值范围(Domain Value Range)管理,而非单独建表。通过创建CDS View读取DD07L/DD07T表数据作为Value Help提供者,并在Projection View中通过@Consumption.valueHelpDefinition注解绑定,可实现轻量化的值帮助功能。这种方法避免了冗余配置表,同时确保字段取值约束和多语言支持,适合状态码等稳定的枚举型字段。 核心步骤: 在Dom

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 741

SAP S/4HANA 中 RAP 业务对象接口的消费模式

本文探讨了SAP S/4HANA中RAP业务对象接口的消费模式,重点介绍了通过EML直接调用和CDS投影两种Clean Core开发路径。文章分析了BO Interface作为稳定契约的价值,并提供了BAdI集成、OData服务发布等实际场景案例,同时对比了OData V2/V4的技术选型考量,最后强调了ADT向导使用中的DCL权限注意事项。全文旨在帮助开发者构建升级友好的业务对象消费方案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 755

ABAP RAP Tools 实战笔记,从 Service Binding 到 SAP Fiori elements 预览

文章摘要: 本文探讨了SAP RAP工具在实际交付中的核心问题——服务发布流程。不同于传统ABAP开发将建模、编码、服务激活分离的模式,RAP通过Service Definition和Service Binding将端到端开发链路整合。Service Definition定义服务边界(如暴露采购申请实体),而Service Binding则指定消费协议(如OData V4 UI或Web API)。文中提供了最小化RAP服务代码示例,并对比了Eclipse ADT(表单式操作)和VS Code(Code Le

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1037

Halcon 简单的形状匹配定位与区域跟随

【代码】Halcon简单的形状匹配定位与区域跟随。

唐大狗 2803

RK3588-NANOPC-T6移植ubuntu+xenomai内核

更具网址下载相应的内核。导入到开发板并执行内核。

qq_42007446的博客 570

SAP SD信贷管理实战:从配置到风险控制的完整指南(附后台路径)

本文详细解析了SAP SD信贷管理的完整配置流程与风险控制策略,涵盖信贷控制范围设置、风险分级机制及动态控制配置。通过实战案例和后台路径指引,帮助企业实现从客户信用评估到实时监控的全流程管理,有效降低坏账风险并优化资金安全。

3a9bq4r8t2y的博客 212

手把手教你用STM32实现三相永磁同步电机FOC控制(附代码)

本文详细介绍了基于STM32的三相永磁同步电机(PMSM)FOC控制实现方法,涵盖硬件设计、软件架构、参数调试及完整代码解析。通过磁场定向控制(FOC)算法,实现高效精准的电机控制,适用于工业自动化、电动汽车等领域。文章还提供了硬件选型建议、电流采样方案对比及PID参数整定技巧,助力开发者快速掌握FOC控制技术。

weixin_29168675的博客 94

STK12与Python联合仿真(一):环境搭建

STK仿真python接口,安装与测试

qq_42635142的博客 1万+

5、模型预测控制与分布式MPC控制结构解析

本文深入解析了模型预测控制(MPC)中的双模式预测控制及其稳定性理论,并探讨了分布式MPC的不同控制结构。内容涵盖MPC的基本公式化、性能指标、优化问题以及相关算法步骤,同时比较了集中式MPC、单层分布式MPC和分层分布式MPC的优缺点和适用场景。最后通过流程图和表格形式总结了双模式MPC的算法步骤和控制结构选择思路,并提供了操作建议,以帮助在实际工业系统中更好地应用MPC技术。

tea88的博客 168

【技术科普】破解政务跨系统数据壁垒!亘川一网统管平台多源数据同步技术解析

本文解析亘川一网统管平台多源数据同步技术,针对政务跨系统数据壁垒难题,介绍组件的数据采集、校验、审计留痕等核心能力,结合营商环境项目落地案例,对比传统开发模式差异,讲解开源组件的实践价值,为政务项目开发者提供落地参考。

weixin_67440240的博客 634

移动端实战指南:深入理解 & 接入 IAB OMSDK

OMSDK(OpenMeasurementSDK)是IABTechLab推出的标准化测量工具,用于统一移动端/原生App广告的可见性和验证流程。其核心包括Native库(采集设备数据)和OMID JavaScript层(实现通信),通过标准化接口让开发者只需接入一套SDK即可兼容多个测量厂商,减少冲突和性能损耗。v1.4版本强化了对CTV和原生App场景的支持,而v1.5新增了画中画检测等功能。集成流程需通过IAB技术实验室注册下载,并遵循严格的命名空间规则。测试阶段需嵌入验证脚本并通过指定工具验证

帅次的博客 1182

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 【学习系列】SAP RAP 2:创建第一个RAP应用
下一篇: 【学习系列】SAP RAP 4:通过注解来完成一些常规需求
DeveloperMrMeng
博客等级 码龄5年 1767粉丝 113原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeveloperMrMeng

觉得有用的佛系投币哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值