从内置函数到业务扩展:深入掌握 ABAP CDS 标量函数与 AMDP 的协同设计

在很多项目里,开发人员都会遇到这样一种尴尬局面:CDS 里现成的预定义函数够用,但总差那一点点。业务一旦进入复杂比率计算、单位换算、金额语义保留、分析模型复用这些场景,单靠内置函数往往就会把视图写得越来越臃肿,表达式越来越难维护。SAP 在 SAP BTP, ABAP Environment 2308、ABAP Release 7.58 以及 SAP S/4HANA 2023 这一代能力中引入了 SQL-based CDS scalar functions,目的正是把这类复杂逻辑抽离出来,通过 AMDP 和 SQLScript 交给 HANA 执行,同时又能继续以 CDS 语法的方式被重用。 (SAP Community)

这项能力的价值,不只是可以自己写函数这么简单。更准确地说,它把原来散落在单个 CDS view entity

ABAP on HANA/CDS view/AMDP 大乱炖 文章目录1. HANA的三大杀器1.1 内存式数据库1.2 多核架构1.3 列式存储1.3.1 数据压缩1.3.2 并行处理1.3.3 聚集和索引1.3.4 代码下移2. CDS 概念2.1 ABAP 开发环境2.2 OPEN SQL语句2.3 CDS 到底是啥2.4 CDS 类型2.5 创建CDS view3. CDS 实战3.1 Annotation注解3.2 Case 语句3.3 数学计算3.4 字符串表达3.5 货币转换3.6 聚集语句3.7 Join3.8 Union3.9 参数3.10 作为子C 阅读详情

相关推荐

从数据读取到业务事件:理解 ABAP CDS 视图的目的与选型(含 RAP、扩展与分析场景)

CDS视图在SAP S/4HANA中不仅是数据查询工具,更是语义模型和运行时能力的载体。它通过分层架构(基础视图、组合视图、消费视图等)实现数据复用与场景适配,支持UI、分析、事务处理等多样化消费。视图类型包括提供数据访问的接口视图(I_前缀)、消费视图(C_前缀)和事务视图,以及不提供数据访问的扩展视图。这种分层设计确保了数据模型的稳定性与扩展性,同时支持自定义字段和上下文感知分析。正确理解CDS视图的用途和分层规则,能帮助开发者构建更健壮、可维护的SAP应用。

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

从内置函数到自定义算法:用 AMDP 驱动的 CDS Scalar Function 打开 ABAP CDS 的新扩展面

摘要: ABAP CDS标量函数填补了复杂算法复用的关键空白。该功能允许开发者通过AMDP和SQLScript将自定义计算逻辑下推到HANA数据库层,在保持数据库执行优势的同时提升代码复用性。技术实现包含三部分:CDS函数定义声明接口,实现引用绑定运行时环境,AMDP方法提供具体计算逻辑。这种设计使复杂算法可脱离视图本体,显著改善代码可维护性,特别适合Clean Core场景中的规则集中治理。典型应用包括财务计算、业务指标等需要多视图复用的场景。

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

把复杂算法写进数据模型:ABAP CDS 自定义 Scalar Function 的建模、实现与 RAP 落地指南

摘要: SAP ABAP CDS 中的 SQL-based scalar function 通过封装复杂业务逻辑(如折扣计算、风险评估等)实现高效复用,提升性能与代码可维护性。其核心优势包括: 复用性:避免重复代码,支持跨 CDS 视图调用; 性能优化:通过 SQLScript 下推计算至 HANA 数据库; Clean Core 适配:符合分层设计原则,减少标准对象修改。 关键实现步骤: 定义函数签名(DDL 声明参数与返回值); 绑定 AMDP 实现(SQLScript 编写业务逻辑); 注意多租户/C

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

从 SAP HANA 到 ABAP Cloud:彻底讲透 scalar function 的定位、实现方式与 Clean Core 实践

SAP项目中,scalar function是数据库层的重要计算单元,用于封装可复用的单值逻辑。不同于返回结果集的table function,它直接嵌入SQL表达式,适用于折扣率计算、数据标准化等场景。在SAP技术栈中,scalar function有三种形态:原生SQLScript函数、AMDP托管函数和CDS绑定函数。正确使用可提升查询性能,但需注意与procedure、table function的边界区分。AMDP scalar function是ABAP项目中的推荐实现方式,能确保函数生命周期受

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

从定义到实现:在 ADT 中创建 SAP ABAP CDS Scalar Function Definition 的完整实践

摘要:SAP S/4HANA 2023 FPS00 引入的 CDS scalar function 功能为开发人员提供了新的建模抓手,可将可复用的数据库侧逻辑封装为标准化的函数。该功能由函数定义、实现引用和 AMDP 实现三部分组成,能够有效解决逻辑复用、语义一致等问题。文章详细介绍了创建 CDS scalar function definition 的标准流程、版本前提及适用边界,强调其作为可传输 Repository 对象的特性,并指出合理设计参数和返回类型对后续维护的重要性。通过将业务规则沉淀为平台级

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

SAP 搭建ADT环境开发CDS View(入门到进阶)

SAP 搭建ADT环境开发CDS VIEW 从入门到进阶

Li958172829的博客 9939

从Wi-Fi到蓝牙:手把手教你用Cadence Virtuoso搭建一个2.4GHz锁相环频率综合器(含PFD/CP/VCO模块设计)

本文详细介绍了如何在Cadence Virtuoso中设计一个2.4GHz锁相环频率综合器(PLL),涵盖从系统架构到模块级设计的全流程。重点解析了PFD、CP和VCO等核心模块的设计技巧与仿真验证方法,帮助模拟集成电路设计师掌握高频PLL的实现要点,满足Wi-Fi和蓝牙等无线通信标准的要求。

weixin_30315723的博客 413

Windows系统下复现PointNet++算法

本文详细介绍了如何在Windows系统下复现PointNet++算法,内容包括程序下载、环境配置、数据集准备以及三个主要任务(语义分割、分类、部件分割)的实现步骤和常见报错解决方法。通过遵循本文的指导,用户可以顺利完成PointNet++算法的复现。

LingYi_5的博客 4315

在Ubuntu 22.04 LTS上搞定Intel Quartus Prime 22.1和QuestaSim:一份保姆级的安装与License配置指南

本文提供在Ubuntu 22.04 LTS上安装和配置Intel Quartus Prime 22.1与QuestaSim的详细指南。涵盖依赖安装、环境变量设置、License配置及常见问题解决,帮助FPGA开发者快速搭建稳定的开发环境。特别针对Ubuntu系统优化,确保工具链高效运行。

weixin_29208077的博客 313

SAP Gateway Foundation OData V4 服务管理深度解析,从 Service Repository 到 Service Group 的完整运行逻辑

本文解析了SAP S/4HANA中OData V4 API的技术架构,重点阐述Service Repository、Service与Service Group的三层管理体系。以SalesOrder和PurchaseOrder API为例,说明不同服务可能属于特定repository(如srvd_a2x)而非默认DEFAULT库。Service Group作为业务模型组合单元,支持跨服务引用和统一配置,其发布状态直接影响服务可用性。文中对比了后台管理事务/IWBEP/V4_ADMIN与网关端/IWFND/V4

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

使用 MATLAB/Simulink 进行锂电池SOC估算和等效电路建模

本文介绍了使用MATLAB/Simulink进行锂电池SOC估算与等效电路建模的方法。首先阐述了SOC估算和等效电路模型的背景及重要性,然后详细讲解了系统结构设计的主要组成部分,包括电池模块、SOC估算模块(采用卡尔曼滤波器算法)和等效电路模型等。文章重点分步说明了建模过程:从创建Simulink项目、搭建电池模块,到实现SOC估算算法(提供示例代码),构建等效电路模型(Thevenin模型示例),添加传感器模块,最后设置仿真参数。通过仿真运行分析关键指标(SOC估算误差、电压偏差等)来评估模型性能,为锂电

xiaoheshang_123的博客 258

3、硬件工程师笔试面试学习汇总——器件篇目录(2025版本)

硬件工程师笔试面试学习

XU157303764的博客 7599

【AI智能体】Dify集成 Echarts实现数据报表展示实战详解

Dify集成 Echarts 实现智能数据报表集成与展示实战详解

congge 5953

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 从内置函数到自定义算法:用 AMDP 驱动的 CDS Scalar Function 打开 ABAP CDS 的新扩展面
下一篇: 打通 ABAP 与外部数据世界:全面理解 SAP ABAP CDS External Entities 的设计思想、运行机制与工程落地
汪子熙
汪子熙 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域 优质创作者: 软件测试技术领域 优质创作者: 软件测试技术领域 领域专家: 数据库技术领域 领域专家: 数据库技术领域
博客等级 码龄16年 3万+粉丝 1万+原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

汪子熙

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值