博客 / 詳情

返回

SAP S4HANA 使用CDS view真的比使用Table更先進?

SAP S4HANA 使用CDS view真的比使用Table更先進?

 

 

 

筆者不這麼認為!

筆者所在的項目,要求在撰寫FS的時候,徹底摒棄傳統的取數邏輯,不再從傳統的Table裏取字段名了,而是強制性要求從CDS view裏抓取數據。

比如如果要抓取物料主數據的’批次管理‘字段值,按傳統方式寫抓取邏輯就是MARA-XCHPF。

 SAP S4HANA 使用CDS view真的比使用Table更先進?1

 

 

按S4HANA的CDS View來寫,抓取邏輯就是:

I_PRODUCT.IsBatchManagementRequired

 SAP S4HANA 使用CDS view真的比使用Table更先進?2

SAP S4HANA 使用CDS view真的比使用Table更先進?3

 

 

 

原本使用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,

 SAP S4HANA 使用CDS view真的比使用Table更先進?4

 

 

CDS view I_PURCHASEORDERITEM,

 SAP S4HANA 使用CDS view真的比使用Table更先進?5

 

 

 

CDS view I_SCHEDGAGRMTHDR,

 SAP S4HANA 使用CDS view真的比使用Table更先進?6

 

 

 

CDS view I_SchedgAgrmtItm,

 SAP S4HANA 使用CDS view真的比使用Table更先進?7

 

 

這樣一來,如果要抓取採購訂單和計劃協議數據,就需要從4個CDS view裏取數了。簡單的問題複雜化!看不出此時使用CDS view的好處在哪裏。

 

 

 

-完-

 

寫於2026-1-4.

 

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.