文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SAP S/4HANA CDS view的扩展原理是什么

2023-06-03 23:43

关注

这篇文章主要讲解了“SAP S/4HANA CDS view的扩展原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SAP S/4HANA CDS view的扩展原理是什么”吧!

SAP S/4HANA CDS view的扩展原理是什么

When using the following ABAP code, it does not work:

data: lt_table TYPE TABLE OF I_Product.

SELECT * INTO TABLE @lt_table FROM I_Product.

The reason is corresponding extension field does not appear in SQL view of I_PRODUCT at all. Why?

SAP S/4HANA CDS view的扩展原理是什么

Simply because the extension field is not enabled for I_PRODUCT.

The enablement should also be done in custom field logic tile:

(1) select your extension field.

SAP S/4HANA CDS view的扩展原理是什么SAP S/4HANA CDS view的扩展原理是什么

(2) tab UIs and Reports:

SAP S/4HANA CDS view的扩展原理是什么

(3) Click "Enable Usage" button:

SAP S/4HANA CDS view的扩展原理是什么

Never forget to publish your change.

Once done, it works now:

SAP S/4HANA CDS view的扩展原理是什么SAP S/4HANA CDS view的扩展原理是什么

我来解答这两天我们讨论的问题。Key user 点了enable usage之后,如下图这个例子,

SAP S/4HANA CDS view的扩展原理是什么

为什么之后我们 SELECT * FROM I_PRPODUCTWD 就能把extension field一起select出来,这些extension field不是做在E_PRODUCT上吗? E_PRODUCT 是通过association和I_PRODUCTWD连接起来的,为什么select * 能够把association view里的field一起读出来?

首先,上述红色的说法就是错误的,extension field并不是通过association从E_PRODUCT里读的. 我们要明确我们点enable usage的出发点是某个具体的extension field, 而不是从CDS view出发。选择了具体的extension field之后,再选择要extend的CDS view,点击publish,此时将会自动创建一个带有当前extension field的extension view,对选中的CDS extensible view进行扩展。这样造成的结果是,从SE11里观察SQL view能发现extension field会通过append的方式直接成为extensible view的一部分,这之后和E_PRODUCT再无任何关系。

比如这个extension view 在点publish时是什么时候生成的?

SAP S/4HANA CDS view的扩展原理是什么

你可以自己debug,在这个方法里设个断点,然后点publish,你会发现publish时,有10个object会自动生成,其中第三个就是上面图里的extension view.

SAP S/4HANA CDS view的扩展原理是什么SAP S/4HANA CDS view的扩展原理是什么SAP S/4HANA CDS view的扩展原理是什么SAP S/4HANA CDS view的扩展原理是什么

那框架咋知道我这个extension field在publish时要生成这10个东西?

答案还是在registry里:

SAP S/4HANA CDS view的扩展原理是什么

如果想研究具体框架的generation实现,看这个class,里面每个sub class负责一种特定的repository generation实现,

SAP S/4HANA CDS view的扩展原理是什么

其中CL_CFD_ENH_CDS_ENH_ABSTRACT又包含了所有CDS view相关的generation逻辑,里面又分了三种不同的类型。

SAP S/4HANA CDS view的扩展原理是什么

所有这些协同工作,最后确保从application developer的眼里,看到extension field在design time时即出现在extensible view本身。

额外补充一点哈。

E_PRODUCT一个最主要的目的就是为了register使用,同时在创建custom field时点publish时,能够自动生成一个E_Product的extension view。

如下图。当然在此之前需要先去自动扩展Product table的这个字段,这也是在点publish时自动完成的。

SAP S/4HANA CDS view的扩展原理是什么

然后当你需要把这个custom field暴露在上层的view时,比如I_ProductWD,这时去Jerry提到的点击Enable时就会生成I_ProductWD的extension view。

其实你如果点击对应的字段,你会发现其实就是从上面的E_Product的extension view里去读取的。

SAP S/4HANA CDS view的扩展原理是什么

感谢各位的阅读,以上就是“SAP S/4HANA CDS view的扩展原理是什么”的内容了,经过本文的学习后,相信大家对SAP S/4HANA CDS view的扩展原理是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯