SAPS/4HANACDSview的擴(kuò)展原理是什么

這篇文章主要講解了“SAP S/4HANA CDS view的擴(kuò)展原理是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“SAP S/4HANA CDS view的擴(kuò)展原理是什么”吧!

成都創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為古縣等服務(wù)建站,古縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為古縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

SAP S/4HANA CDS view的擴(kuò)展原理是什么

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的擴(kuò)展原理是什么

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的擴(kuò)展原理是什么SAP S/4HANA CDS view的擴(kuò)展原理是什么

(2) tab UIs and Reports:

SAP S/4HANA CDS view的擴(kuò)展原理是什么

(3) Click "Enable Usage" button:

SAP S/4HANA CDS view的擴(kuò)展原理是什么

Never forget to publish your change.

Once done, it works now:

SAP S/4HANA CDS view的擴(kuò)展原理是什么SAP S/4HANA CDS view的擴(kuò)展原理是什么

我來解答這兩天我們討論的問題。Key user 點了enable usage之后,如下圖這個例子,

SAP S/4HANA CDS view的擴(kuò)展原理是什么

為什么之后我們 SELECT * FROM I_PRPODUCTWD 就能把extension field一起select出來,這些extension field不是做在E_PRODUCT上嗎? E_PRODUCT 是通過association和I_PRODUCTWD連接起來的,為什么select * 能夠把a(bǔ)ssociation view里的field一起讀出來?

首先,上述紅色的說法就是錯誤的,extension field并不是通過association從E_PRODUCT里讀的. 我們要明確我們點enable usage的出發(fā)點是某個具體的extension field, 而不是從CDS view出發(fā)。選擇了具體的extension field之后,再選擇要extend的CDS view,點擊publish,此時將會自動創(chuàng)建一個帶有當(dāng)前extension field的extension view,對選中的CDS extensible view進(jìn)行擴(kuò)展。這樣造成的結(jié)果是,從SE11里觀察SQL view能發(fā)現(xiàn)extension field會通過append的方式直接成為extensible view的一部分,這之后和E_PRODUCT再無任何關(guān)系。

比如這個extension view 在點publish時是什么時候生成的?

SAP S/4HANA CDS view的擴(kuò)展原理是什么

你可以自己debug,在這個方法里設(shè)個斷點,然后點publish,你會發(fā)現(xiàn)publish時,有10個object會自動生成,其中第三個就是上面圖里的extension view.

SAP S/4HANA CDS view的擴(kuò)展原理是什么SAP S/4HANA CDS view的擴(kuò)展原理是什么SAP S/4HANA CDS view的擴(kuò)展原理是什么SAP S/4HANA CDS view的擴(kuò)展原理是什么

那框架咋知道我這個extension field在publish時要生成這10個東西?

答案還是在registry里:

SAP S/4HANA CDS view的擴(kuò)展原理是什么

如果想研究具體框架的generation實現(xiàn),看這個class,里面每個sub class負(fù)責(zé)一種特定的repository generation實現(xiàn),

SAP S/4HANA CDS view的擴(kuò)展原理是什么

其中CL_CFD_ENH_CDS_ENH_ABSTRACT又包含了所有CDS view相關(guān)的generation邏輯,里面又分了三種不同的類型。

SAP S/4HANA CDS view的擴(kuò)展原理是什么

所有這些協(xié)同工作,最后確保從application developer的眼里,看到extension field在design time時即出現(xiàn)在extensible view本身。

額外補(bǔ)充一點哈。

E_PRODUCT一個最主要的目的就是為了register使用,同時在創(chuàng)建custom field時點publish時,能夠自動生成一個E_Product的extension view。

如下圖。當(dāng)然在此之前需要先去自動擴(kuò)展Product table的這個字段,這也是在點publish時自動完成的。

SAP S/4HANA CDS view的擴(kuò)展原理是什么

然后當(dāng)你需要把這個custom field暴露在上層的view時,比如I_ProductWD,這時去Jerry提到的點擊Enable時就會生成I_ProductWD的extension view。

其實你如果點擊對應(yīng)的字段,你會發(fā)現(xiàn)其實就是從上面的E_Product的extension view里去讀取的。

SAP S/4HANA CDS view的擴(kuò)展原理是什么

感謝各位的閱讀,以上就是“SAP S/4HANA CDS view的擴(kuò)展原理是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對SAP S/4HANA CDS view的擴(kuò)展原理是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

名稱欄目:SAPS/4HANACDSview的擴(kuò)展原理是什么
網(wǎng)站鏈接:http://bm7419.com/article18/gejidp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站營銷網(wǎng)站改版、小程序開發(fā)、營銷型網(wǎng)站建設(shè)面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管