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

AI摘要

本文详细介绍了SAP RAP框架中unmanaged场景下的开发流程,重点实现采购订单两层结构的数据创建、更新与删除逻辑。涵盖事务缓冲区设计、early numbering、ETag处理及CRUD方法的手动实现,适用于需自控数据更新与集成遗留系统的复杂业务场景。

前言

截止到上一篇,关于managed场景下从0到1的开发步骤已经介绍完了,包括从建表到数据建模到UI发布再到行为定义中每个功能的介绍和实现,再到最后的发布(包括OP和ES两个版本下使用VSCode和BAS进行部署发布)都已经介绍完成,本篇将介绍unmanaged场景下从0到1的开发步骤,unmanaged和managed最大的区别就是,unmanaged模式中所有的数据更新(Create/Update/Delete),权限检查,锁机制等等都需要自行实现,比较麻烦但逻辑完全由自己控制。

unmanaged在以下场景中会比较有用:

  • 你需要针对现有的数据库表(包括标准表)进行操作。
  • 你的业务更新逻辑特别复杂。
  • 你需要和现有的遗留ABAP代码集成。

正文

因为单层的业务对象往往不能包含一些细节实现,比如层级之间如何关联,如何使用EML读取子节点,如果关联创建子节点等等,所以关于unmanaged的开发示例将采用两层的采购订单对象来进行演示。

本篇将主要包含以下两大块内容:

  • 创建所需要的所有技术对象(表、视图、行为定义、实施类)
  • 实现每个层级增删改查对应的具体逻辑

1.创建所有的技术对象

为了和之前managed场景的代码区分开,在unmanaged场景中重新创建一个新的开发包来包含本例所有相关的开发对象。

不同层级的实体之间如何关联和managed场景都是一样的,所以此处不再赘述,一些关键字的解释可以参考之前的文章:

SAP RAP开发实战指南 - 从架构解析到工具选型,一站式掌握现代ABAP开发核心 本文是SAP RAP开发的实战指南,系统解析了从传统ABAP到现代RAP架构的变革必要性。文章详细拆解了RAP的四层核心架构,并提供了基于Eclipse ADT工具链的完整开发流程与实战演练,帮助开发者一站式掌握如何利用RAP高效构建面向SAP S/4HANA和BTP的现代化、云原生Fiori应用。 阅读详情

相关推荐

Debootstrap实战:从零构建一个可打包成Docker镜像的Debian根文件系统

本文详细介绍了如何使用Debootstrap工具从零构建一个极致精简的Debian根文件系统,并将其打包成高性能Docker镜像。通过实战步骤解析,包括基础系统安装、系统级优化配置及Docker镜像转换,帮助开发者掌握构建完全可控的Linux根文件系统的技巧,适用于安全敏感型应用和边缘计算场景。

weixin_30699955的博客 311

30分钟用 Restful ABAP Programming(RAP)模型开发一个支持增删改查的 Fiori 应用

2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Driven Development,即通过开发维护了对应annotation(注解)的CDS view,结合SAP WebIDE,能够花费最少的编程代价,就能够在短时间内获得一个支持增删改查的Fiori应......

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

SAP OData 开发教程 - 从入门到提高(包含 SEGW, RAP 和 CDP)

在 SAP 产品里,存在多种 OData 服务的开发方式,其中最典型的三类,SEGW, RAP(Restful ABAP Programming) 和 CDP(Cloud Application Program),就是笔者在本教程里会为大家分享和讲解的内容。同笔者的另一个 SAP UI5 教程《SAP UI5 应用开发教程的学习目录 - 循序渐进,由浅入深,适合不同水平的 SAP UI5 开发人员》一样,本教程笔者计划通过 300 篇以上的文章篇幅,分别介绍这三类 SAP 主流的 OData 服务开发技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1万+

用 SAP Joule 提速 RAP 业务逻辑开发:RAP Business Logic Prediction 落地指南

RAP 业务逻辑开发中,determination 和 validation 的实现往往耗时且复杂。本文介绍了 SAP ADT 中的 AI 辅助功能(RAP business logic prediction),它能够根据开发者的描述自动生成业务逻辑代码框架。该功能主要解决模板化代码编写问题,如 EML 读写、消息构造等重复劳动,但开发者仍需负责业务规则校验和性能优化。文章详细说明了功能的使用方法,包括触发方式、描述编写技巧,以及生成代码的典型结构,并通过订单客户号校验案例展示了实际应用效果。该功能定位为高

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

【学习系列】SAP RAP 14:行为定义-Save Options

本文介绍了ABAP行为定义中的保存选项SaveOptions,主要分为托管(Managed)和非托管(Unmanaged)两种场景。托管场景下包含三种模式:默认的ManagedSave完全由框架处理;AdditionalSave可在事务提交前添加额外操作(如记录日志);UnmanagedSave可自定义保存逻辑但保留框架的缓存管理。非托管场景则需完全自行处理数据持久化。文章详细演示了如何在托管场景中实现AdditionalSave(通过记录字段变更日志)和UnmanagedSave(使用新语法处理明细数据的

DeveloperMrMeng的博客 521

保姆级避坑指南:Mid-360雷达到手后,用livox_ros_driver2从接线到出点云的完整流程

本文提供Mid-360雷达到手后的完整使用指南,涵盖从硬件接线、网络配置到livox_ros_driver2驱动的安装与调试,帮助用户避开常见陷阱,实现点云数据的稳定输出与可视化。重点解析了配置文件的参数设置和点云格式选择,确保用户能够高效部署和使用Mid-360雷达。

weixin_30733003的博客 482

从零到一:基于GeneMark-ES/ET的新基因组注释实战指南

本文提供了一份基于GeneMark-ES/ET的新基因组注释实战指南。详细介绍了从环境搭建、数据准备到核心运行的全流程,重点解析了ES(从头预测)与ET(结合RNA-Seq证据)两种模式的选择与操作,并分享了Perl模块依赖、并行处理等常见问题的解决方案,帮助生物信息学研究者高效完成基因预测工作。

weixin_29266647的博客 206

优雅谈大模型:“System2”与“System 1”

研究人员探索了三种System 2方法——RaR、S2A 和 BSM,这些方法已经成功提炼到新的LLM,这个新的模型与System 1相比,产生了更好的结果,而且成本低于System 2。然而这种方法是有局限性,只能适用于特定的任务。

鲁班模锤 5142

手把手教你用Simulink搭建交流异步电机矢量控制模型(附完整仿真文件)

本文提供了一份详细的Simulink仿真指南,手把手教你从零开始搭建交流异步电机矢量控制模型。内容涵盖主电路搭建、坐标变换实现、双闭环PI调节器设计、转子磁链观测器调试等核心步骤,并附有完整的仿真文件,帮助读者跨越理论到实践的鸿沟,掌握高性能电机控制系统的建模与仿真技能。

pz890123的博客 663

nRF52811墨水屏时钟DIY:从全刷到局刷的实战改造指南(附完整代码)

本文详细介绍了如何将基于nRF52811的墨水屏时钟从耗电的全屏刷新模式改造为高效的局部刷新模式。通过剖析全刷与局刷的原理差异,提供了从工程架构、驱动层适配到应用层逻辑重构的完整实战指南,并附上关键代码示例。改造后,设备功耗显著降低,续航大幅提升,同时解决了视觉闪烁问题,是DIY低功耗墨水屏应用的实用参考。

weixin_29194693的博客 345

Transformer实战(38)——视觉Transformer (Vision Transformer, ViT)

Transformer 在自然语言处理 (NLP) 领域取得了显著成就,在许多不同的任务中都表现出色。在本节中,我们将探索视觉 Transformer (Vision Transformer, ViT) 模型。正如 NLP 领域创建了多种模型一样,视觉领域也开发了多种模型,每种模型都为计算机视觉提供了新的视角。通过本节,将学习如何使用 ViT 等模型进行计算机视觉任务,了解基于 Transformer 的预训练计算机视觉模型的工作原理,以及如何针对特定任务进行微调。

盼小辉丶的博客 2809

ArcGIS Pro 3.4 二次开发 - 地理数据库

本文介绍了在ArcGIS Pro SDK 3.4和.NET 8环境下,如何操作地理数据库的多种方法。首先,通过路径打开文件地理数据库,并处理可能出现的异常。其次,使用连接属性或sde文件路径打开企业级地理数据库。此外,还展示了如何从项目项、要素图层中获取地理数据库,以及如何执行SQL语句。最后,文章详细说明了如何从地理数据库中获取单个定义或定义列表,包括表定义、要素类定义、关系类定义和要素数据集定义。这些操作均在后台线程中执行,确保应用程序的响应性。

Winemonk 943

基于QT与STM32的电力参数采集系统(华为云IOT)(211)

本项目构建一款集多功能于一体的电力参数采集系统,该系统以高性能、低功耗的STM32F103RCT6微控制器为核心,集成多种传感器与通信模块,实现对电力设施如电压、电流、功率、电能及环境温度等关键参数的实时精确采集,并通过GPS模块获取设备地理位置信息,满足了电力设备状态全面监控的需求。

2899

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: SAP使用abapGit在云环境中迁移开发包
下一篇: 【学习系列】SAP RAP 19:Unmanaged场景开发示例-Rba/Cba/Lock/Check实现
DeveloperMrMeng
博客等级 码龄5年 1767粉丝 113原创
评论
成就一亿技术人!
拼手气红包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、付费专栏及课程。

余额充值