- 博客(110)
- 收藏
- 关注
原创 【学习系列】SAP RAP 28:如何创建Application Jobs(上)
本文介绍了在SAP云环境中使用Application Jobs实现后台作业的方法。主要内容包括:1) Application Jobs适用于周期性或长时间运行的任务,但不适合高频短周期作业;2) 实现步骤包括创建业务类、Job Catalog Entry、Job Template和授权设置;3) 业务类需实现特定接口来处理作业逻辑和参数默认值;4) 通过Job Template可以灵活配置作业参数和布局;5) 提供了完整的示例代码和权限配置说明。文章对比了新旧接口实现方式的差异,并强调了在云环境中使用App
2026-01-09 22:21:44
5
原创 【学习系列】SAP RAP 27:使用OAuth 2.0 SAML 的认证方式消费OData服务
本文介绍了将OData服务认证方式从Basic改为OAuth2.0的配置过程。主要内容包括:1)获取入站系统OAuth2.0端点信息;2)配置出站通信系统的OAuth2.0客户端;3)修改出站通信安排使用OAuth2.0认证;4)获取并上传证书;5)修改入站通信场景用户。通过7个步骤完成认证方式转换,最终实现业务对象创建者显示为实际执行用户,并确保业务人员具备相应权限才能成功调用服务。
2026-01-04 21:43:16
44
原创 【学习系列】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
78
原创 【学习系列】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
60
原创 【学习系列】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
243
1
原创 【学习系列】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
113
原创 【学习系列】SAP RAP 22:Excel文件上传和读取(非扩展&扩展方式)
本文介绍了在RAP中实现Excel文件上传处理的三种方法:1) 使用@Semantics.largeObject注解实现简单上传下载,但限制在ObjectPage页面使用;2) 通过自定义action弹窗实现上传功能,但存在无法自动刷新列表等限制;3) 结合CustomUIExtension实现更灵活的完整功能,但需要UI5开发技能。文章详细说明了每种方法的实现步骤,包括数据库表设计、注解配置、前端界面开发和后端处理逻辑,并比较了各自的优缺点。最后通过一个处理不同币种数据的示例,展示了如何实现业务处理逻辑。
2025-11-26 16:44:42
177
原创 【学习系列】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
163
原创 【学习系列】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
204
原创 【学习系列】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
119
原创 【学习系列】SAP RAP 18:Unmanaged场景开发示例-基本数据更新
本文介绍了在SAP RAP中unmanaged模式下从0到1的开发步骤。unmanaged模式下需要自行实现数据更新、权限检查等逻辑,适用于操作现有数据库表或复杂业务场景。文章以两层的采购订单对象为例,详细说明了创建技术对象(表、视图、行为定义等)的过程,并重点阐述了如何实现CRUD相关方法的核心逻辑。通过创建缓冲类来处理交互阶段和保存阶段的数据操作,确保事务一致性。完整代码展示了抬头层级的增删改查功能实现,为后续明细层级的开发奠定了基础。
2025-11-06 00:23:42
275
原创 SAP使用abapGit在云环境中迁移开发包
摘要:本文介绍了使用abapGit工具在SAP OP环境和Cloud环境间传输开发包的详细步骤。主要包括:1)前期准备,包括安装abapGit程序和GitHub组件;2)OP到Cloud环境的迁移,涉及GitHub项目创建、开发包上传及在Cloud环境导入;3)Cloud到OP环境的反向传输,通过abapGit程序拉取GitHub项目。两种场景均需生成GitHub访问token,并可能需要对不兼容对象进行手动调整。
2025-10-31 23:33:12
758
原创 【学习系列】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
542
3
原创 【学习系列】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
251
原创 【学习系列】SAP RAP 15:如何使用Messages
本文介绍了RAP框架中消息机制的核心概念与应用。消息分为TransitionMessages(过渡消息)和StateMessages(状态消息)两类:过渡消息与单次请求相关,如操作成功提示,请求结束后消失;状态消息则持久绑定业务对象实例,反映实例状态问题直至修复。文章详细说明了两种消息的实现方式,包括关键参数(%tky、%msg、%state_area等)的配置要点,并通过具体代码示例演示了在Action中实现过渡消息和在Validation中实现状态消息的方法。最后对比了new_message_with_
2025-10-21 22:47:22
284
原创 【学习系列】SAP RAP 14:行为定义-Save Options
本文介绍了ABAP行为定义中的保存选项SaveOptions,主要分为托管(Managed)和非托管(Unmanaged)两种场景。托管场景下包含三种模式:默认的ManagedSave完全由框架处理;AdditionalSave可在事务提交前添加额外操作(如记录日志);UnmanagedSave可自定义保存逻辑但保留框架的缓存管理。非托管场景则需完全自行处理数据持久化。文章详细演示了如何在托管场景中实现AdditionalSave(通过记录字段变更日志)和UnmanagedSave(使用新语法处理明细数据的
2025-10-21 22:47:01
155
原创 【学习系列】SAP RAP 13:行为定义-Business Event
本文介绍了ABAP行为定义中BusinessEvent(业务事件)的概念和用法,重点演示了两种基本用途:本地事件消费和事件触发SideEffects。文章首先说明了业务事件作为异步执行机制的用途,然后详细展示了如何在云环境中创建开发对象、定义事件、触发事件以及实现本地事件消费。接着介绍了如何通过业务事件触发SideEffects实现异步界面更新功能,包括后台处理框架的应用和测试效果展示。文中还指出某些功能在不同版本中的限制,并提供了相关参考链接。作者表示后续将继续介绍行为定义中的其他概念。
2025-10-20 23:31:23
504
原创 【学习系列】SAP RAP 12:行为定义-Side Effects
本文介绍了行为定义中的SideEffects(附加作用)概念及其应用场景。SideEffects用于在草稿模式下自动触发数据刷新,解决因UI不主动请求更新导致的数据不一致问题。文章详细说明了五种触发类型(字段变更、操作执行、数据源变更、实体修改、事件触发)和四种可刷新目标(字段、权限、实体、消息)。通过实际案例展示了如何通过SideEffects实现自动加载更新数据,并强调需在行为定义投影中启用该功能。这种机制提高了数据同步效率,确保界面显示与后台数据的一致性。
2025-10-20 23:31:07
142
原创 【学习系列】SAP RAP 11:行为定义-Feature Control
本文介绍了SAP行为定义中的FeatureControl(特征控制)概念,分为实例特征控制和全局特征控制两种类型。实例控制包含静态(如固定字段只读)和动态控制(如根据订单数量限制按钮可用性);全局控制则与实例数据无关,可基于用户权限等因素控制操作可用性。文章通过代码示例演示了如何实现字段级和操作级的动态控制,并对比了特征控制与授权控制的区别(前端限制vs后端权限)。特征控制为业务场景提供了灵活的前端交互控制能力。
2025-10-20 23:30:48
121
原创 【学习系列】SAP RAP 10:行为定义-Determinations和Validations
本文介绍了ABAP RAP框架中Determinations(确定)和Validations(验证)的概念与应用。Determinations用于条件触发时自动更新字段,需注意幂等性、执行顺序不确定等问题,并通过示例演示了供应商字段更新时自动关联公司代码的实现。Validations则用于数据有效性检查,示例展示了币种验证逻辑,强调managed场景中应分配给PREPARE以保证错误消息持久化。两种机制在unmanaged场景下仅支持草稿实例,且都具有不确定的执行顺序特性。文章还提供了官方文档参考链接。
2025-10-19 21:18:13
111
原创 【学习系列】SAP RAP 9:行为定义-Operations
本文介绍了RAP业务对象中操作(Operations)的概念,分为标准操作和非标准操作两大类。标准操作包括CRUD等基础功能,在托管场景下由框架自动处理。非标准操作分为Actions和Functions:Actions是修改类操作,包含实例操作、静态操作、可重复操作、工厂操作和保存操作五种类型,每种类型通过代码示例演示了具体实现;Functions是只读类操作,包括内部函数、静态函数和可重复函数。文章重点讲解了各类操作的定义方法、实现逻辑和前端集成要点,并分析了使用标准操作框架在错误处理、权限控制、代码复用
2025-10-19 21:17:47
156
原创 【学习系列】SAP RAP 8:行为定义-Authorization Control
本文介绍了SAP RAP中的授权控制实现方法,主要分为读取操作和修改操作两种场景。读取操作通过ABAP CDS的数据控制语言(DCL)实现,使用访问控制对象限制数据可见范围;修改操作则通过行为定义中的权限检查,包括全局授权、实例授权和预检查三种方式。文章详细说明了如何使用DCL创建访问控制规则,并通过实例演示了全局授权和实例授权的代码实现方法,以及预检查功能在数据更新前的权限验证。这些授权控制机制共同确保用户只能访问和操作其权限范围内的数据,有效保障系统安全性。
2025-10-18 16:40:20
155
原创 【学习系列】SAP RAP 7:行为定义-Draft
本文介绍了RAP框架中的草稿表(Draft)功能及其应用。草稿表允许用户临时保存数据,在激活前不影响业务逻辑,支持保存继续、暂存和设备切换功能。草稿分为独占草稿(仅限同一用户编辑)和协作草稿(允许多用户协同编辑)。启用草稿需在行为定义和投影中包含标准action,并创建包含TotalETag等管理字段的草稿表。TotalETag确保草稿转换时活动数据未被修改,而ETagmaster则防止并发修改。文章通过OData调用示例详细说明了ETag验证过程,强调草稿功能由RAP框架自动处理,开发者只需关注定义和配置
2025-10-18 16:39:45
147
原创 【学习系列】SAP RAP 6:行为定义-Concurrency Control
本文介绍了RAP行为定义中的并发控制机制,包括乐观并发控制和悲观并发控制两种方式。乐观控制通过ETag字段实现,在数据更新时检查ETag值是否匹配,防止覆盖修改;悲观控制则采用独占锁机制,锁定期间其他用户无法编辑。文章详细说明了两种控制的实现原理、使用场景(managed/unmanaged)及混合控制模式,即在编辑时使用悲观锁,保存时通过ETag进行乐观控制。同时指出根节点必须作为lockmaster,并强调了不同场景下的实现差异。
2025-10-17 11:22:41
118
原创 【学习系列】SAP RAP 5:行为定义-Numbering
本文介绍了RAP框架中编号赋值的两种方式:EarlyNumbering和LateNumbering。EarlyNumbering在创建前确定主键编号,分为框架托管的managed和自定义的unmanaged实现。LateNumbering在数据持久化前生成编号,适用于无间隔编号需求,通常用于子节点层级。文章通过订单号和计划行编号的实例,详细说明了两种方式的实现步骤和注意事项,包括代码示例和运行效果演示。最后指出下一篇文章将介绍行为定义中的锁概念。
2025-10-17 11:22:16
166
原创 【学习系列】SAP RAP 4:通过注解来完成一些常规需求
本文介绍了RAP应用中常用注解的实现方式,包括搜索帮助、文本描述绑定、联动搜索、字段控制等功能。通过@Consumption、@UI等注解可以实现搜索帮助定义、多字段联动、必输校验、默认排序和默认值设置。管理字段可通过@Semantics注解自动记录创建/修改信息,长文本使用@UI.multiLineText实现多行显示。这些注解可优化界面交互和数据管理,为后续行为定义功能开发奠定基础。文章结构清晰,针对不同需求提供了具体的实现方案和代码示例。
2025-10-17 11:21:43
259
原创 【学习系列】SAP RAP 3:添加多层级的子节点
本文详细介绍了在SAP ABAP RAP开发中如何创建多层级业务对象。主要内容包括:1)创建明细和计划行层级的数据库表及CDS视图;2)使用association和composition关键字建立父子关联关系;3)创建各层级的投影视图并设置层级关系;4)更新行为定义,添加关联、操作权限等控制;5)更新服务定义公开新增视图;6)创建元数据扩展优化UI展示。通过这一系列步骤,实现了从抬头到明细再到计划行的完整业务对象层级结构,为后续UI功能扩展奠定了基础。
2025-10-17 11:21:30
139
原创 【学习系列】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
528
原创 【学习系列】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
272
原创 SAP RAP学习系列合集介绍
《SAP RAP学习系列合集:从入门到部署的完整指南》摘要: 本文介绍了作者创建的SAP RAP学习系列合集,涵盖RAP开发从基础概念到实战部署的全流程。系列目前包含17篇文章,系统讲解了RAP核心开发技术:从数据建模、UI构建到行为定义(包括并发控制、草稿功能、授权验证等),最后详细演示了应用部署到Fiori Launchpad的两种方案(OP版和ES版)。
2025-10-17 11:18:28
667
原创 使用扣子Coze迁移优快云文章至微信
本文介绍了一个将优快云博客内容迁移至微信公众号的自动化解决方案。作者发现直接复制优快云内容到公众号会出现格式混乱问题,通过调研找到了使用"read:"阅读模式+Markdown转换的高效方法。为简化流程,作者开发了"优快云2WeChat"扣子应用,包含三个核心功能:1)将优快云链接转换为Markdown格式;2)记录用户偏好的转换网站;3)自动复制内容并跳转至转换页面。该方案通过工作流和数据库实现自动化处理,相比人工操作和API方法更高效稳定,显著提升了内容迁移效率。
2025-08-19 21:06:44
1055
原创 ABAP SQL更新DB小技巧 WITH INDICATORS
ABAP SQL在758版本后支持类似HTTP PATCH的部分字段更新功能,通过WITH INDICATORS关键字定义控制结构。该结构包含与原字段同名的X类型字段,当设置为'01'时才会更新对应字段。示例演示了先插入完整数据,再仅更新特定字段(field1)而保留其他字段不变的操作。相比传统MODIFY的全量覆盖更新,这种方式更灵活高效,类似于RAP开发中的%control结构。控制字段类型默认为X,也可自定义为布尔类型,但建议保持默认以便RAP动态处理时的快速映射。
2025-08-03 22:18:42
640
原创 SAP ABAP 多线程处理/并行处理的四种方式
在 SAP ABAP 中,实现多线程的方式有多种,每种方式的工作原理、适用场景和复杂度各不相同,以下是几种常见的多线程实现方式,理论上BACKGROUND TASK或者后台JOB也算是实现多线程的一种方式,这里只总结一下几种常见的且效率提升比较大的方式。基于CALL FUNCTION STARTING NEW TASK基于SPTA框架基于CL_ABAP_PARALLEL基于IF_ABAP_PARALLER接口。
2025-04-09 19:06:55
3485
4
原创 SAP ABAP ALV 如何让字符串类型按照自定义规则排序
这两天被问到一个需求,ALV上有一个字符串类型的状态值字段,假如值是A,B,C,D,E,按照标准排序逻辑,这个排序规则是没办法改变的,升序肯定就是ABCDE,倒叙肯定就是EDCBA,但是用户说我就想点排序后,给我按照BDCAE的顺序进行排序,有没有办法,有,通过转换例程实现。
2025-03-27 16:07:13
1255
2
原创 ABAP Cloud Developer Trial 2022 SP01 Docker安装教程
介绍SAP S4HANA2022 SP01使用环境的Docker镜像安装过程;之前老早就看到有1909版本的试用环境可以下载,但之前的笔记本配置不够就一直没装,近期换了新电脑,也刚好需要一个HANA2022环境去做测试,就装了一下这个试用环境,借此机会记录下Windows环境下安装全过程,建议不要直接安装,先浏览完所有官方文档及评论区再开始安装。
2024-12-18 23:48:50
1709
原创 SAP PI/PO Proxy2JDBC SQL_QUERY动态接口示例
PROXY2JDBC的动态接口实现方式、SQL_QUERY使用示例
2024-11-18 20:20:08
1204
10
原创 SAP ABAP任意表数据查询+快速下载工具
项目上业务顾问有时候需要下载标准表大量的数据到Excel进行一些比对,但是标准SE16N,SE16的下载电子表格功能在遇到大批量数据的时候会非常慢,于是抽空写了个通用的查询下载工具,可以快速的查询及下载数据。
2024-09-06 11:32:48
1837
1
原创 SAP ABAP自建表变更履历记录(动态更新)
平台开发时,需要记录对自建表某些字段的变更履历,即写入CDHDR/CDPOS,正常方式是SCDO创建变更对象,然后调用自动生成的类方法完成记录写入,只是每次都需要自己写逻辑去获取对应的X结构(最新数据)和Y结构(历史数据),不想每次都写这段代码,故封装了一个动态方法,每次直接调用即可。后续要记录其他自建表时,只需要将。更新传M,删除传D即可。替换为生成的类名即可,
2024-08-16 15:43:57
1838
2
SAP各代增强介绍与查找
2023-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅