从国家条件到买方清单,深入理解 ABAP CDS 单值过滤器派生
一张销售订单列表准备交给业务部门使用,订单表里保存的是买方编号,业务人员真正关心的筛选条件却是国家。业务人员选择德国时,系统需要找到所有位于德国的业务伙伴,再拿这些业务伙伴编号过滤销售订单。最直接的做法,是在前端先请求业务伙伴服务,得到一批买方编号,再拼接一段很长的 OData$filter。另一种做法,是在 Gateway 扩展类或者 RAP Query Provider 里编写 ABAP 代码,手工查询业务伙伴并重写过滤条件。这两条路都能运行,但业务规则会逐渐散落在 UI、OData 服务实现和 ABAP 类里。国家与买方编号之间的关系原本属于数据模型,却被迫由消费端或者自定义代码维护。ABAP CDS 提供的@Consumption.derivation可以把这段逻辑放回数据模型。OData 客户端只需要给出国家,CDS 消费框架会访问另一个 CDS Entity,获得符合条件的买方编号,并把这些编号自动转化为主实体上的过滤条件。SAP 将这种能力称为Deriving Single-Value Filters,也就是单值过滤器派生。这里的单值并不表示最终只能得到一个值,而是表示每一个派生结果都是一个离散值,不是一个由下限和上限组成的区间。查找实体返回多行时,所有结果都可以成为主实体的过滤条件。(

相关新闻

AI编程提效300%的秘密武器(2024程序员专属套装深度拆解)

AI编程提效300%的秘密武器(2024程序员专属套装深度拆解)

更多请点击: https://intelliparadigm.com 第一章:AI编程提效300%的底层逻辑与范式跃迁 传统编程范式以“人写代码→机器执行”为单向链路,而AI增强编程重构了这一认知闭环:开发者聚焦意图表达与边界定义,AI承担结构…

2026/10/7 12:51:41 阅读更多 →
ABAP 能不能开发 Windows GUI 应用,一次把能做、不能做和正确架构讲清楚

ABAP 能不能开发 Windows GUI 应用,一次把能做、不能做和正确架构讲清楚

在日常开发里,这个问题很容易被两个画面搅在一起。一个画面是,开发人员写完一段 ABAP 程序,业务人员在 Windows 电脑上打开一个有输入框、按钮、表格和弹窗的界面。另一个画面是,像用 C#、Python 或 Electron 那样,把程序打包成一个 .exe 文件,复制到任意一台 Windows 电…

2026/10/7 7:26:34 阅读更多 →
告别繁琐点击:京东自动化脚本让你每天节省30分钟

告别繁琐点击:京东自动化脚本让你每天节省30分钟

告别繁琐点击:京东自动化脚本让你每天节省30分钟 【免费下载链接】jd_scripts-lxk0301 长期活动,自用为主 | 低调使用,请勿到处宣传 | 备份lxk0301的源码仓库 项目地址: https://gitcode.com/gh_mirrors/jd/jd_scripts-lxk0301 你是否…

2026/10/9 3:57:03 阅读更多 →

最新新闻

Spring Boot+Vue微信小程序购物系统:从搭建到答辩全流程指南

Spring Boot+Vue微信小程序购物系统:从搭建到答辩全流程指南

简介:一套面向毕业设计场景的Java微信小程序购物系统完整可运行项目,基于Springboot与Vue实现前后端分离,适合计算机专业学生用于课题设计、期末作业或二次开发学习,也可作为微信小程序开发的进阶参考。项目已通过导师指导与答辩评…

2026/10/9 17:59:32 阅读更多 →
小红书风控状态码大揭秘:xiaohongshu-skills 如何诊断 404/461/403/999

小红书风控状态码大揭秘:xiaohongshu-skills 如何诊断 404/461/403/999

小红书风控状态码大揭秘:xiaohongshu-skills 如何诊断 404/461/403/999 【免费下载链接】xiaohongshu-skills xiaohongshu-skills 项目地址: https://gitcode.com/gh_mirrors/xi/xiaohongshu-skills xiaohongshu-skills 是一款基于真实浏览器与已登录账号的小…

2026/10/9 17:59:32 阅读更多 →
导引头不是传感器,而是弹载智能感知中枢

导引头不是传感器,而是弹载智能感知中枢

1. 从“导弹眼睛”说起:导引头不是零件,而是一套动态感知系统你可能在新闻里听过“某型空空导弹命中率超95%”,也可能在军事纪录片里看到过“红外成像导引头锁定目标”的特写镜头——但很少有人真正停下来问一句:这个被反复提及的…

2026/10/9 17:59:32 阅读更多 →
Webpack5运行时优化:Preload、缓存、Core-js与PWA实战

Webpack5运行时优化:Preload、缓存、Core-js与PWA实战

1. 从构建工具到运行时体验的思维转变很多团队在聊 Webpack 优化时,第一反应往往是“打包体积又大了”“构建时间又慢了”,于是把精力全砸在 splitChunks、tree shaking、压缩插件这些构建期手段上。但真正上线之后你会发现一个尴尬的事实:构…

2026/10/9 17:59:32 阅读更多 →
Coze工作流自动生成功能测试用例,并驱动Playwright脚本实践

Coze工作流自动生成功能测试用例,并驱动Playwright脚本实践

一直以为测试用例只能靠人肉一条条写,直到我把 Coze 工作流接上需求文档,生成效率和用例覆盖度直接提升了一大截。这篇文章就聊聊我搭的一套“Coze 自动生成测试用例”工作流:它怎么拆解需求、按测试设计方法自动产出功能测试用例&#xff0c…

2026/10/9 17:58:31 阅读更多 →
研究生科研效率翻倍:GitHub九类神器与Skill组合指南

研究生科研效率翻倍:GitHub九类神器与Skill组合指南

1. 科研效率困局的真实切面1.1 研究生为什么总在“硬扛”带过几届学生之后,我越来越确信一件事:研究生阶段最消耗人的,往往不是课题本身的难度,而是那些本可以被工具接管的重复劳动。文献管理靠手动重命名 PDF,实验数据…

2026/10/9 17:58:31 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →