DeveloperMrMeng
一枚SAP佛系开发者,不定期更新一些技术经验和技术总结
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【学习系列】SAP RAP 26:通过Service Consumption Model实现出站OData服务调用
本文详细介绍了在S/4HANA Cloud Public Edition环境中消费标准OData服务的完整实现过程。主要内容包括:1) 创建出站服务和通信场景;2) 配置Basic认证方式的通信管理;3) 通过服务消费模型实现GET和POST请求;4) 在RAP应用中集成OData服务调用。文章提供了完整的代码示例,展示了如何调用采购订单OData服务进行数据查询和创建操作,并处理返回结果。特别说明了POST请求中Deep Create的实现方法,以及不同认证方式的差异(Basic认证会显示通信用户作为创建原创 2025-12-26 22:41:59 · 55 阅读 · 0 评论 -
【学习系列】SAP RAP 25:将OData服务发布为可供远程消费的API
摘要:本文详细介绍了在SAP BTP ABAP和S/4HANA Cloud环境中配置OData服务供外部系统安全访问的完整步骤。主要包括:1)创建入站通信场景;2)配置通信系统及入站用户;3)建立通信安排;4)使用Postman进行测试验证。通过创建InboundCommunicationScenario、Arrangement、System和User等安全配置,确保RAP发布的OData服务可被外部系统安全调用。文章提供了从服务发布到测试验证的完整流程指导,并预告了后续关于OData API消费的示例分享原创 2025-12-25 16:46:18 · 39 阅读 · 0 评论 -
【学习系列】SAP RAP 24:Outbound Communication消费外部HTTP服务示例(调用DeepSeek/Qwen3)
本文介绍了在ABAP Cloud环境中通过Communication Target和Communication Arrangement方式调用HTTP服务的完整实现过程。主要内容包括: 创建RAP应用并添加调用HTTP服务的Action 配置通信目标、通信场景和通信安排 实现BADI增强处理多个目标地址 使用bgPF后台处理AI服务调用 通过XCO框架解析JSON响应 使用Business Event刷新界面 该方案支持根据选择的AI模型动态调用不同的API地址,实现了从SAP系统调用外部AI服务的完整流程原创 2025-12-11 23:02:57 · 233 阅读 · 0 评论 -
【学习系列】SAP RAP 23:Unmanaged Query-Custom Entity开发示例(读取、事务交互)
本文介绍了在SAP S4HANA Cloud中使用CustomEntity实现unmanaged query的方法。文章通过采购订单示例详细演示了开发步骤:1)创建CustomEntity定义查询实体;2)实现IF_RAP_QUERY_PROVIDER接口完成复杂查询逻辑;3)通过行为定义实现数据更新功能;4)将OData V2默认单选改为多选。文章特别强调了CustomEntity适用于标准SQL无法处理的复杂数据场景,如需要调用类/函数或第三方服务获取数据的情况。完整示例代码展示了从实体定义到UI扩展、原创 2025-12-04 17:33:33 · 95 阅读 · 0 评论 -
【学习系列】SAP RAP 22:Excel文件上传和读取(非扩展&扩展方式)
本文介绍了在RAP中实现Excel文件上传处理的三种方法:1) 使用@Semantics.largeObject注解实现简单上传下载,但限制在ObjectPage页面使用;2) 通过自定义action弹窗实现上传功能,但存在无法自动刷新列表等限制;3) 结合CustomUIExtension实现更灵活的完整功能,但需要UI5开发技能。文章详细说明了每种方法的实现步骤,包括数据库表设计、注解配置、前端界面开发和后端处理逻辑,并比较了各自的优缺点。最后通过一个处理不同币种数据的示例,展示了如何实现业务处理逻辑。原创 2025-11-26 16:44:42 · 137 阅读 · 0 评论 -
【学习系列】SAP RAP 21:创建基于Fiori的表格维护应用 (SM30)
本文介绍了在ABAP Cloud环境下使用RAP框架创建业务配置维护对象的最佳实践。重点阐述了如何通过ADT向导快速创建Business Configuration Maintenance Object,包括自定义表和文本表的规范定义、IAM应用授权配置、Business Catalog创建及角色分配等完整流程。该方法可实现配置数据的统一管理、多语言支持以及文档集成,相比传统SM30/SM54维护方式更具优势。文章还展示了最终在Custom Business Configurations应用中实现数据维护的原创 2025-11-18 23:17:51 · 148 阅读 · 0 评论 -
【学习系列】SAP RAP 20:Unmanaged场景开发示例-调用BAPI、BAPI包装类、BO接口创建标准采购订单
本文介绍了在SAP RAP(Restful ABAP Programming)框架下,通过三种方式实现采购订单创建的方案。首先分析了RAP框架对传统BAPI调用的限制,特别是禁止显式COMMIT语句的要求。随后详细阐述了三种实现方式:1)直接调用传统BAPI(仅支持OP环境);2)使用BAPI包装类(仅支持OP环境);3)调用标准业务对象接口(支持所有环境)。 文章重点说明了在unmanaged场景下的技术实现细节,包括字段控制、缓冲区管理、测试运行与实际调用的分离处理等。针对每种方式都提供了完整的实施步骤原创 2025-11-14 11:05:18 · 186 阅读 · 0 评论 -
【学习系列】SAP RAP 19:Unmanaged场景开发示例-Rba/Cba/Lock/Check实现
摘要:本文详细介绍了在SAP ABAP中实现unmanaged场景下采购订单抬头和明细行数据的增删改查功能。内容包括:1.实现抬头层级的创建(cba_item)、更新(update_head)和删除(delete_head)方法;2.实现明细层级的更新(update_item)和删除(delete_item)方法;3.完善save方法支持明细数据持久化;4.实现关联读取(rba_item)和基本读取(read_item)方法;5.添加编辑锁(lock)功能;6.创建消息包装类统一处理异常;7.在check_原创 2025-11-07 00:26:24 · 109 阅读 · 0 评论 -
【学习系列】SAP RAP 18:Unmanaged场景开发示例-基本数据更新
本文介绍了在SAP RAP中unmanaged模式下从0到1的开发步骤。unmanaged模式下需要自行实现数据更新、权限检查等逻辑,适用于操作现有数据库表或复杂业务场景。文章以两层的采购订单对象为例,详细说明了创建技术对象(表、视图、行为定义等)的过程,并重点阐述了如何实现CRUD相关方法的核心逻辑。通过创建缓冲类来处理交互阶段和保存阶段的数据操作,确保事务一致性。完整代码展示了抬头层级的增删改查功能实现,为后续明细层级的开发奠定了基础。原创 2025-11-06 00:23:42 · 253 阅读 · 0 评论 -
【学习系列】SAP RAP 17:RAP应用部署集成至Fiori Launchpad 【S4HC Public Edition】
本文详细介绍了在SAP S/4HANA Cloud环境中部署RAP应用集成到Fiori Launchpad的两种方法:使用BAS(SAP Business Application Studio)和VSCode。主要步骤包括:1)在BTP中配置Destination连接ES环境;2)设置信任关系;3)创建BAS开发空间;4)通过Fiori应用生成器部署RAP应用;5)创建IAM App、Business Catalog和Business Role;6)配置Launchpad Space和Pages。文章还提供原创 2025-10-22 22:55:14 · 520 阅读 · 2 评论 -
【学习系列】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的操作指南,帮助开发者将预览模式的应用正式部署到生产原创 2025-10-22 22:54:53 · 238 阅读 · 0 评论 -
【学习系列】SAP RAP 15:如何使用Messages
本文介绍了RAP框架中消息机制的核心概念与应用。消息分为TransitionMessages(过渡消息)和StateMessages(状态消息)两类:过渡消息与单次请求相关,如操作成功提示,请求结束后消失;状态消息则持久绑定业务对象实例,反映实例状态问题直至修复。文章详细说明了两种消息的实现方式,包括关键参数(%tky、%msg、%state_area等)的配置要点,并通过具体代码示例演示了在Action中实现过渡消息和在Validation中实现状态消息的方法。最后对比了new_message_with_原创 2025-10-21 22:47:22 · 274 阅读 · 0 评论 -
【学习系列】SAP RAP 14:行为定义-Save Options
本文介绍了ABAP行为定义中的保存选项SaveOptions,主要分为托管(Managed)和非托管(Unmanaged)两种场景。托管场景下包含三种模式:默认的ManagedSave完全由框架处理;AdditionalSave可在事务提交前添加额外操作(如记录日志);UnmanagedSave可自定义保存逻辑但保留框架的缓存管理。非托管场景则需完全自行处理数据持久化。文章详细演示了如何在托管场景中实现AdditionalSave(通过记录字段变更日志)和UnmanagedSave(使用新语法处理明细数据的原创 2025-10-21 22:47:01 · 141 阅读 · 0 评论 -
【学习系列】SAP RAP 13:行为定义-Business Event
本文介绍了ABAP行为定义中BusinessEvent(业务事件)的概念和用法,重点演示了两种基本用途:本地事件消费和事件触发SideEffects。文章首先说明了业务事件作为异步执行机制的用途,然后详细展示了如何在云环境中创建开发对象、定义事件、触发事件以及实现本地事件消费。接着介绍了如何通过业务事件触发SideEffects实现异步界面更新功能,包括后台处理框架的应用和测试效果展示。文中还指出某些功能在不同版本中的限制,并提供了相关参考链接。作者表示后续将继续介绍行为定义中的其他概念。原创 2025-10-20 23:31:23 · 493 阅读 · 0 评论 -
【学习系列】SAP RAP 12:行为定义-Side Effects
本文介绍了行为定义中的SideEffects(附加作用)概念及其应用场景。SideEffects用于在草稿模式下自动触发数据刷新,解决因UI不主动请求更新导致的数据不一致问题。文章详细说明了五种触发类型(字段变更、操作执行、数据源变更、实体修改、事件触发)和四种可刷新目标(字段、权限、实体、消息)。通过实际案例展示了如何通过SideEffects实现自动加载更新数据,并强调需在行为定义投影中启用该功能。这种机制提高了数据同步效率,确保界面显示与后台数据的一致性。原创 2025-10-20 23:31:07 · 135 阅读 · 0 评论 -
【学习系列】SAP RAP 11:行为定义-Feature Control
本文介绍了SAP行为定义中的FeatureControl(特征控制)概念,分为实例特征控制和全局特征控制两种类型。实例控制包含静态(如固定字段只读)和动态控制(如根据订单数量限制按钮可用性);全局控制则与实例数据无关,可基于用户权限等因素控制操作可用性。文章通过代码示例演示了如何实现字段级和操作级的动态控制,并对比了特征控制与授权控制的区别(前端限制vs后端权限)。特征控制为业务场景提供了灵活的前端交互控制能力。原创 2025-10-20 23:30:48 · 115 阅读 · 0 评论 -
【学习系列】SAP RAP 10:行为定义-Determinations和Validations
本文介绍了ABAP RAP框架中Determinations(确定)和Validations(验证)的概念与应用。Determinations用于条件触发时自动更新字段,需注意幂等性、执行顺序不确定等问题,并通过示例演示了供应商字段更新时自动关联公司代码的实现。Validations则用于数据有效性检查,示例展示了币种验证逻辑,强调managed场景中应分配给PREPARE以保证错误消息持久化。两种机制在unmanaged场景下仅支持草稿实例,且都具有不确定的执行顺序特性。文章还提供了官方文档参考链接。原创 2025-10-19 21:18:13 · 104 阅读 · 0 评论 -
【学习系列】SAP RAP 9:行为定义-Operations
本文介绍了RAP业务对象中操作(Operations)的概念,分为标准操作和非标准操作两大类。标准操作包括CRUD等基础功能,在托管场景下由框架自动处理。非标准操作分为Actions和Functions:Actions是修改类操作,包含实例操作、静态操作、可重复操作、工厂操作和保存操作五种类型,每种类型通过代码示例演示了具体实现;Functions是只读类操作,包括内部函数、静态函数和可重复函数。文章重点讲解了各类操作的定义方法、实现逻辑和前端集成要点,并分析了使用标准操作框架在错误处理、权限控制、代码复用原创 2025-10-19 21:17:47 · 144 阅读 · 0 评论 -
【学习系列】SAP RAP 8:行为定义-Authorization Control
本文介绍了SAP RAP中的授权控制实现方法,主要分为读取操作和修改操作两种场景。读取操作通过ABAP CDS的数据控制语言(DCL)实现,使用访问控制对象限制数据可见范围;修改操作则通过行为定义中的权限检查,包括全局授权、实例授权和预检查三种方式。文章详细说明了如何使用DCL创建访问控制规则,并通过实例演示了全局授权和实例授权的代码实现方法,以及预检查功能在数据更新前的权限验证。这些授权控制机制共同确保用户只能访问和操作其权限范围内的数据,有效保障系统安全性。原创 2025-10-18 16:40:20 · 134 阅读 · 0 评论 -
【学习系列】SAP RAP 7:行为定义-Draft
本文介绍了RAP框架中的草稿表(Draft)功能及其应用。草稿表允许用户临时保存数据,在激活前不影响业务逻辑,支持保存继续、暂存和设备切换功能。草稿分为独占草稿(仅限同一用户编辑)和协作草稿(允许多用户协同编辑)。启用草稿需在行为定义和投影中包含标准action,并创建包含TotalETag等管理字段的草稿表。TotalETag确保草稿转换时活动数据未被修改,而ETagmaster则防止并发修改。文章通过OData调用示例详细说明了ETag验证过程,强调草稿功能由RAP框架自动处理,开发者只需关注定义和配置原创 2025-10-18 16:39:45 · 130 阅读 · 0 评论 -
SAP RAP学习系列合集介绍
《SAP RAP学习系列合集:从入门到部署的完整指南》摘要: 本文介绍了作者创建的SAP RAP学习系列合集,涵盖RAP开发从基础概念到实战部署的全流程。系列目前包含17篇文章,系统讲解了RAP核心开发技术:从数据建模、UI构建到行为定义(包括并发控制、草稿功能、授权验证等),最后详细演示了应用部署到Fiori Launchpad的两种方案(OP版和ES版)。原创 2025-10-17 11:18:28 · 625 阅读 · 0 评论 -
【学习系列】SAP RAP 6:行为定义-Concurrency Control
本文介绍了RAP行为定义中的并发控制机制,包括乐观并发控制和悲观并发控制两种方式。乐观控制通过ETag字段实现,在数据更新时检查ETag值是否匹配,防止覆盖修改;悲观控制则采用独占锁机制,锁定期间其他用户无法编辑。文章详细说明了两种控制的实现原理、使用场景(managed/unmanaged)及混合控制模式,即在编辑时使用悲观锁,保存时通过ETag进行乐观控制。同时指出根节点必须作为lockmaster,并强调了不同场景下的实现差异。原创 2025-10-17 11:22:41 · 102 阅读 · 0 评论 -
【学习系列】SAP RAP 5:行为定义-Numbering
本文介绍了RAP框架中编号赋值的两种方式:EarlyNumbering和LateNumbering。EarlyNumbering在创建前确定主键编号,分为框架托管的managed和自定义的unmanaged实现。LateNumbering在数据持久化前生成编号,适用于无间隔编号需求,通常用于子节点层级。文章通过订单号和计划行编号的实例,详细说明了两种方式的实现步骤和注意事项,包括代码示例和运行效果演示。最后指出下一篇文章将介绍行为定义中的锁概念。原创 2025-10-17 11:22:16 · 146 阅读 · 0 评论 -
【学习系列】SAP RAP 4:通过注解来完成一些常规需求
本文介绍了RAP应用中常用注解的实现方式,包括搜索帮助、文本描述绑定、联动搜索、字段控制等功能。通过@Consumption、@UI等注解可以实现搜索帮助定义、多字段联动、必输校验、默认排序和默认值设置。管理字段可通过@Semantics注解自动记录创建/修改信息,长文本使用@UI.multiLineText实现多行显示。这些注解可优化界面交互和数据管理,为后续行为定义功能开发奠定基础。文章结构清晰,针对不同需求提供了具体的实现方案和代码示例。原创 2025-10-17 11:21:43 · 240 阅读 · 0 评论 -
【学习系列】SAP RAP 3:添加多层级的子节点
本文详细介绍了在SAP ABAP RAP开发中如何创建多层级业务对象。主要内容包括:1)创建明细和计划行层级的数据库表及CDS视图;2)使用association和composition关键字建立父子关联关系;3)创建各层级的投影视图并设置层级关系;4)更新行为定义,添加关联、操作权限等控制;5)更新服务定义公开新增视图;6)创建元数据扩展优化UI展示。通过这一系列步骤,实现了从抬头到明细再到计划行的完整业务对象层级结构,为后续UI功能扩展奠定了基础。原创 2025-10-17 11:21:30 · 118 阅读 · 0 评论 -
【学习系列】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注解。原创 2025-10-17 11:21:05 · 490 阅读 · 0 评论 -
【学习系列】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)及应用场景(核心扩展或云原生开发)。原创 2025-10-17 11:20:39 · 227 阅读 · 0 评论 -
SAP使用XCO框架创建RAP所有对象
通过XCO框架自动生成SAP ABAP开发对象。原创 2025-07-01 18:47:42 · 306 阅读 · 0 评论
分享