这个博客是关于利用CDS的虚拟元素特性的,这个特性就像ODataViaSADL(直接在SEGW/WITHODataPublishTrue注解中)一样公开。此ODATA可由基于Fiori元素的应用程序进一步使用。
(有关Fiori元素的更多信息,请查看此链接)
此外,物联网智能水表,遵循SAP标准文档有助于理解带有虚拟元素的CD,链接
业务场景
标准消费CD正在生成Fiori元素应用程序。字段可能有业务需求,需要自定义ABAP逻辑进行计算
好消息是我们可以使用带虚拟元素的CD,德国云服务器,公众号返利,可以利用ABAP资源编写复杂的自定义逻辑进行计算
虚拟元素可以通过字段的计算值来实现,过滤计算值,排序计算值。
技术说明
制作带有UI和虚拟元素注释的消费光盘。给定虚拟元素的占位符,必须定义虚拟元素的数据类型。创建一个普通的ABAP类来实现接口IF\u SADL\u EXIT\u CALC\u ELEMENT\u READ。实现两种方法:GET\u CALCULATE\u INFO和CALCULATE。CD可以作为ODATA或SEGW参考数据源公开。生成显示计算列的基于Fiori元素的应用程序。
详细说明
让我们为虚拟元素实现ABAP代码退出。
示例-连接材料、工厂、,全民淘客,存储位置以"-"分隔
(这只是为了演示目的,我们还可以使用CDS concat函数实现)
创建带有虚拟元素和虚拟元素特定注释的CD
我们为数据类型为的虚拟元素"TestExit"指定了占位符abap字符(40)如果退出计算元素读取,则创建带有实现接口的类。
实现下面的方法
为了演示的目的,获取计算信息是带有空白实现的。利用ABAP资源(即功能模块等)实现计算方法
注册CDS生成的网关服务,检查网关客户端的输出我们可以在响应中看到计算字段
我们可以在基于Fiori元素的应用程序中使用相同的cd,万云,并且将填充具有虚拟元素的字段。开发基于Fiori元素的列表报告,有关Fiori元素列表的更多信息,请参阅以下链接
输出
摘要
带有虚拟元素的CD在原始数据模型没有所需字段且需要使用ABAP资源(功能模块/类方法等)基于自定义逻辑进行计算的情况下非常有用以萨德尔为基地的奥达塔。