2025.10.15:
首次创建SAP RAP学习系列合集,后续将会在空闲时间不定期更新。
前言
随着SAP开发技术的不断迭代,以及转向云开发的策略,作为传统ABAPer不得不面对要学习新技术栈的挑战,云开发时代两条主要的学习路线是RAP和CAP,RAP对于传统ABAPer来说更加容易转型,CAP的学习曲线则更高,今年年初的时候接触了RAP相关的开发,其实感觉还是蛮有意思的,也比较容易上手,所以一直想着总结一下RAP相关的入门学习内容,尽管RAP更容易上手,但需要彻底掌握还是需要很多时间,我也还处于不断学习的阶段,在学习的过程中我将这些已经掌握的知识点详细的整理成了一个合集,尽可能详细的解释了一些开发概念,以及非常详细的步骤和截图说明。
目前已经完成的内容有17篇,包含了从0到1基于managed场景的RAP应用创建,从数据建模到UI构建,再到行为定义中每个功能的详细示例说明,再到最后的应用发布+集成Fiori Launchpad(包含OP版本和ES版本详细的发布过程),一个完整的RAP入门学习系列合集初步创建结束:

合集地址
RAP技术总结合集地址
https://blog.youkuaiyun.com/developermrmeng/category_12997127.html
合集现有内容介绍
【学习系列】SAP RAP 1:关于RAP的一些基本介绍

本文摘要:SAP RAP和CAP是两种不同的开发模型。RAP(RESTful ABAP)用于在S/4HANA等ABAP平台上构建现代业务应用,基于CDS+OData,适合ABAP开发者扩展核心业务。CAP(云应用编程模型)是BTP上的云原生框架,支持Node.js/Java,适合构建跨系统集成应用。RAP优势在于与S/4HANA深度集成,CAP则更灵活,支持多云环境。选择依据主要取决于开发平台(S/4HANA或BTP)、技术栈(ABAP或Node.js/Java)及应用场景(核心扩展或云原生开发)。
【学习系列】SAP RAP 2:创建第一个RAP应用

本文摘要:介绍了从零开始创建基于SAP RAP(ABAP RESTful Application Programming Model)的Fiori应用的完整流程。首先说明了学习RAP需要结合官方文档和教程,并提供了相关资源链接。文章详细讲解了开发环境的准备要求,包括系统版本、开发工具和基本知识。重点演示了如何通过8个步骤创建支持CRUD操作和草稿功能的RAP应用:1)创建数据库表;2)定义CDS视图实体;3)创建投影视图;4)定义行为;5)创建行为投影;6)定义服务;7)绑定服务;8)添加UI注解。
【学习系列】SAP RAP 3:添加多层级的子节点

本文摘要:本文详细介绍了在SAP ABAP RAP开发中如何创建多层级业务对象。主要内容包括:1)创建明细和计划行层级的数据库表及CDS视图;2)使用association和composition关键字建立父子关联关系;3)创建各层级的投影视图并设置层级关系;4)更新行为定义,添加关联、操作权限等控制;5)更新服务定义公开新增视图;6)创建元数据扩展优化UI展示。通过这一系列步骤,实现了从抬头到明细再到计划行的完整业务对象层级结构,为后续UI功能扩展奠定了基础。
【学习系列】SAP RAP 4:通过注解来完成一些常规需求

本文摘要:本文介绍了RAP应用中常用注解的实现方式,包括搜索帮助、文本描述绑定、联动搜索、字段控制等功能。通过@Consumption、@UI等注解可以实现搜索帮助定义、多字段联动、必输校验、默认排序和默认值设置。管理字段可通过@Semantics注解自动记录创建/修改信息,长文本使用@UI.multiLineText实现多行显示。这些注解可优化界面交互和数据管理,为后续行为定义功能开发奠定基础。文章结构清晰,针对不同需求提供了具体的实现方案和代码示例。
【学习系列】SAP RAP 5:行为定义-Numbering

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

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

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

本文摘要:本文介绍了SAP RAP中的授权控制实现方法,主要分为读取操作和修改操作两种场景。读取操作通过ABAP CDS的数据控制语言(DCL)实现,使用访问控制对象限制数据可见范围;修改操作则通过行为定义中的权限检查,包括全局授权、实例授权和预检查三种方式。文章详细说明了如何使用DCL创建访问控制规则,并通过实例演示了全局授权和实例授权的代码实现方法,以及预检查功能在数据更新前的权限验证。这些授权控制机制共同确保用户只能访问和操作其权限范围内的数据,有效保障系统安全性。
【学习系列】SAP RAP 9:行为定义-Operations

本文摘要:本文介绍了RAP业务对象中操作(Operations)的概念,分为标准操作和非标准操作两大类。标准操作包括CRUD等基础功能,在托管场景下由框架自动处理。非标准操作分为Actions和Functions:Actions是修改类操作,包含实例操作、静态操作、可重复操作、工厂操作和保存操作五种类型,每种类型通过代码示例演示了具体实现;Functions是只读类操作,包括内部函数、静态函数和可重复函数。文章重点讲解了各类操作的定义方法、实现逻辑和前端集成要点,并分析了使用标准操作框架在错误处理、权限控制、代码复用等方面的优势。最后指出不同操作类型前缀的语义差异及其运行时检查机制的重要性。
【学习系列】SAP RAP 10:行为定义-Determinations和Validations

本文摘要:本文介绍了ABAP RAP框架中Determinations(确定)和Validations(验证)的概念与应用。Determinations用于条件触发时自动更新字段,需注意幂等性、执行顺序不确定等问题,并通过示例演示了供应商字段更新时自动关联公司代码的实现。Validations则用于数据有效性检查,示例展示了币种验证逻辑,强调managed场景中应分配给PREPARE以保证错误消息持久化。两种机制在unmanaged场景下仅支持草稿实例,且都具有不确定的执行顺序特性。文章还提供了官方文档参考链接。
【学习系列】SAP RAP 11:行为定义-Feature Control

本文概要:本文介绍了SAP行为定义中的FeatureControl(特征控制)概念,分为实例特征控制和全局特征控制两种类型。实例控制包含静态(如固定字段只读)和动态控制(如根据订单数量限制按钮可用性);全局控制则与实例数据无关,可基于用户权限等因素控制操作可用性。文章通过代码示例演示了如何实现字段级和操作级的动态控制,并对比了特征控制与授权控制的区别(前端限制vs后端权限)。特征控制为业务场景提供了灵活的前端交互控制能力。
【学习系列】SAP RAP 12:行为定义-Side Effects

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

文本概要:本文介绍了ABAP行为定义中BusinessEvent(业务事件)的概念和用法,重点演示了两种基本用途:本地事件消费和事件触发SideEffects。文章首先说明了业务事件作为异步执行机制的用途,然后详细展示了如何在云环境中创建开发对象、定义事件、触发事件以及实现本地事件消费。接着介绍了如何通过业务事件触发SideEffects实现异步界面更新功能,包括后台处理框架的应用和测试效果展示。文中还指出某些功能在不同版本中的限制,并提供了相关参考链接。
【学习系列】SAP RAP 14:行为定义-Save Options

本文摘要:本文介绍了ABAP行为定义中的两种保存选项:Managed托管和Unmanaged非托管。托管场景包含三种模式:默认的ManagedSave、用于扩展功能的AdditionalSave(如记录操作日志)以及自定义保存逻辑的UnmanagedSave。非托管场景需自行处理所有数据操作,维护成本较高。文章重点演示了AdditionalSave和UnmanagedSave的实现方法:通过创建日志表记录字段变更,以及使用新SQL语法处理非托管数据保存。最后展示了不同保存模式的实际运行效果,并提供了测试代码示例。这些保存选项为开发人员提供了灵活的数据持久化控制方式。
【学习系列】SAP RAP 15:如何使用Messages

本文摘要:本文介绍了RAP框架中消息机制的核心概念与应用。消息分为TransitionMessages(过渡消息)和StateMessages(状态消息)两类:过渡消息与单次请求相关,如操作成功提示,请求结束后消失;状态消息则持久绑定业务对象实例,反映实例状态问题直至修复。文章详细说明了两种消息的实现方式,包括关键参数(%tky、%msg、%state_area等)的配置要点,并通过具体代码示例演示了在Action中实现过渡消息和在Validation中实现状态消息的方法。最后对比了new_message_with_text和new_message两种创建消息对象的常用方式及其适用场景。
【学习系列】SAP RAP 16:RAP应用部署集成至Fiori Launchpad 【On-Premise】

本文摘要:本文详细介绍了如何将开发完成的RAP应用部署到S4HANA 2023 On-Premise环境并集成到Fiori Launchpad的完整流程。主要内容包括:1)通过ADT工具创建Fiori项目并配置外部IDE(VSCode);2)使用npm命令部署应用到系统;3)通过事务代码创建语义对象、磁贴目录和目标映射;4)配置PFCG角色分配;5)补充了部署失败解决方案、翻译问题处理、自定义主题设置以及登录页面LOGO修改等内容。文章提供了step-by-step的操作指南,帮助开发者将预览模式的应用正式部署到生产。
【学习系列】SAP RAP 17:RAP应用部署集成至Fiori Launchpad 【S4HC Public Edition】

本文摘要:本文详细介绍了在SAP S/4HANA Cloud环境中将RAP应用部署到Fiori Launchpad的完整流程。主要内容包括:1)在BTP平台创建与ES系统的连接配置;2)下载并配置信任证书;3)在Business Application Studio创建开发空间;4)部署RAP应用到S4系统;5)创建IAM App和业务目录;6)配置业务角色并分配用户;7)创建Launchpad空间和页面。文章提供了详细的配置步骤截图和关键参数说明,帮助开发人员完成端到端的部署过程。
后续计划更新的内容
- unmanaged场景的开发示例代码
- custom entity的开发示例代码
- 一些更加花哨的UI界面元素实现
- 调用标准BAPI和BO的使用示例
- 文件上传功能的使用示例
- 其他学习到的内容...
本系列虽然内容不多,但还是耗费了我大量的个人时间的,我也是尽可能将自己理解的内容写清楚一些,因为微信公众号更新文章很不方便,所以如果后续发现文中内容有错误的地方还是会在优快云中进行更新,感谢各位读者的支持,欢迎随时沟通交流。
234

被折叠的 条评论
为什么被折叠?



