
我们正在做一个 SAP Fiori 销售订单页面,抬头数据来自zdb_sales_hdr,行项目来自组合实体,页面上还要显示未完成行项目数量、未完成金额、当前订单是否允许交货。放在 Angular 和@ngrx/store里,常见做法是把订单状态放进Store,再写出selectOpenItems、selectOpenAmount、selectCanDeliver这一组 selector。组件订阅这些结果,原始状态变化后,页面上的派生值跟着刷新。回到 ABAP,看到select这个单词,很容易联想到SELECT语句。两者看起来只差大小写,解决的问题却不在同一层。ABAP SQL 的SELECT是数据库查询语句,负责从数据库表、CDS 实体或其他数据源构造结果集。NgRx 的store.select面向已经进入前端状态容器的数据,它负责读取状态切片、计算派生状态,并以响应式数据流持续交付结果。SAP 官方文档对 ABAP SQL 的描述也很明确,SELECT子句决定结果集结构,INTO子句把查询结果写入 ABAP 数据对象。它是一轮查询,不是持续存在的状态订阅。(