在一个真实的 SAP S/4HANA 开发项目里,我们经常会遇到这样的 CDS 数据模型。底层是VBAK、VBAP、MARA、I_Product、I_BusinessPartner之类的业务数据源,上层需要完成金额计算、字符串处理、日期计算、聚合、币种换算,再通过 Association 把销售订单、客户、产品等对象连接起来,最后交给 RAP、OData、Fiori Elements 或分析查询消费。真正开始写代码以后,很快就会碰到一个很实际的问题,CDS view entity到底能够做多少事情。能不能写四则运算,能不能CASE,能不能聚合,能不能直接做正则替换,能不能换算币种,能不能访问当前登录用户,能不能通过 Association 继续导航,能不能定义父子 Composition,能不能做UNION、INTERSECT和EXCEPT。这些问题其实都指向同一个主题,也就是CDS view entity的 Feature Scope。SAP 当前对CDS view entity的定位很明确。它通过DEFINE VIEW ENTITY定义,可以从一个或多个数据源选择数据,支持计算元素、参数、Association、Join 以及各种查询子句,并且能够通过 Annotation 增加业务语义。它不仅服务于分析场景,同样是事务型应用数据模型的
阅读完成 · 觉得有帮助?