SAP S4HANA 使用CDS view真的比使用Table更先进?
笔者不这么认为!
笔者所在的项目,要求在撰写FS的时候,彻底摒弃传统的取数逻辑,不再从传统的Table里取字段名了,而是强制性要求从CDS view里抓取数据。
比如如果要抓取物料主数据的’批次管理‘字段值,按传统方式写抓取逻辑就是MARA-XCHPF。
按S4HANA的CDS View来写,抓取逻辑就是:
I_PRODUCT.IsBatchManagementRequired
原本使用CDS view替换table也没啥,毕竟很多table都能对应到具体的CDS view,无非就是把table名字和字段名换成CDS view名字和其字段名就行了。事实上,事情并非如此简单。一些原本使用传统table方式写逻辑能很简单,换成CDS view之后反而搞复杂了。
比如采购凭证表(EKKO/EKPO),不管是一次性的采购订单(Purchase Order)还是计划协议(Scheduling Agreement),都是保存在这2个表里(Header表和Item 表),要抓取采购凭证的数据就直接去这2个表里取数即可。现在要换成从CDS View取数据,就需要从2组不同的CDS view里抓取PO和SA了,分别是:I_PURCHASEORDER/ I_PURCHASEORDERITEM以及I_SCHEDGAGRMTHDR和I_SCHEDGAGRMTITM。
CDS view I_PURCHASEORDER,
CDS view I_PURCHASEORDERITEM,
CDS view I_SCHEDGAGRMTHDR,
CDS view I_SchedgAgrmtItm,
这样一来,如果要抓取采购订单和计划协议数据,就需要从4个CDS view里取数了。简单的问题复杂化!看不出此时使用CDS view的好处在哪里。
-完-
写于2026-1-4.
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |