ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从内置函数到 SQL-Based Scalar Function,彻底理解 ABAP CDS Functions 的三层函数体系

从内置函数到 SQL-Based Scalar Function,彻底理解 ABAP CDS Functions 的三层函数体系 在 ADT 里给一个 CDS view entity 增加计算字段时,经常会遇到一种很典型的选择。一个字段需要转成大写,可以直接调用UPPER。一个日期需要向后推 30 天,可以调用DATS_ADD_DAYS。金额需要按照汇率换算,可以使用CURRENCY_CONVERSION。可一旦业务规则稍微复杂一些,例如需要把企业自己的编码规则、评分算法或者某种复杂计算封装起来,现成的 CDS 函数可能就不够用了。这时很容易冒出一个问题,ABAP CDS 里的函数到底是怎么组织的。很多开发人员长期使用CONCAT、SUBSTRING、ROUND、DATS_ADD_DAYS之类的函数,会自然地把它们统称为 CDS Function。但到了较新的 ABAP Platform 和 ABAP Cloud 版本,又会碰到define scalar function、SQL-based scalar function、Analytical scalar function、System Function 等概念。如果没有把这些概念放到同一张图里理解,很容易把 built-in function、user-defined function 和 system function 混在一起。当前 ABAP CDS 的函数体系可以从三个入口理解,分别是 User-Defined Functions、Built-In Functions 和 System Functions。它们表面上都表现为函数调用,但设计目的、创建者、执行引擎、生
返回列表