中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行SAP Cloud for Customer Extensibility的設計與實現

發布時間:2021-12-18 16:14:57 來源:億速云 閱讀:124 作者:柒染 欄目:軟件技術

如何進行SAP Cloud for Customer Extensibility的設計與實現,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

C4C用戶通過Key User Tool這個工具(類似CRM的Application Enhancement Tool,AET)對C4C標準UI和客戶定制開發的UI進行增強。增強類型分為Personalization和Adaptation,分別針對同一tenant內單個用戶生效和同一tenant內全部用戶生效。

Key User Tool非常容易使用。如果想通過Adaptation的方式增強UI,登錄C4C ,在頂部菜單欄選擇Adapt -> Edit Master Layout(相應的,如果選擇Personalization方式,則通過下圖Adapt旁邊的Personalize菜單項開始)。

如何進行SAP Cloud for Customer Extensibility的設計與實現

現在將光標懸浮在頁面任意位置,如果頁面被C4C后臺設置為“可以增強”,那么能看到一個彈出的工具欄,點擊里面的加號圖標,就能從下拉菜單中選擇“Add Fields”來進行字段的增強了。

如何進行SAP Cloud for Customer Extensibility的設計與實現

填寫字段描述,類型等信息之后保存即可。

如何進行SAP Cloud for Customer Extensibility的設計與實現

大家把上圖C4C擴展字段創建頁面和下圖出現在Jerry前一篇文章的S/4HANA擴展字段創建頁面做對比,是不是非常相像?

如何進行SAP Cloud for Customer Extensibility的設計與實現

對客戶而言,整個過程簡單易懂,僅僅幾分鐘便完成全部操作。背后的支撐是SAP C4C提供的Extensibility框架, 這正是我要給大家介紹的。首先我們從基本概念說起。

Personalization

用戶通過這種方式對UI進行的調整,只對當前進行Personalization的用戶生效,對其他用戶不可見。

C4C后臺有一個叫XREP的存儲系統,設計思路和理念同Jerry介紹S/4HANA Extensibility時提到的LREP一致,只不過在C4C里換了一個名字而已,這里的X代表Cross。盡管C4C的客戶和Partner無法像S/4HANA那樣,登錄后臺查看XREP的全部內容,但仍舊可以通過UI Designer里的Configuration Explorer,查看XREP里的部分內容。如下圖右邊區域所示,XREP實質上就是一個用ABAP實現的分層的文件系統。

如何進行SAP Cloud for Customer Extensibility的設計與實現

從技術上講,每個Personalization施加的UI修改,都會生成一個文件,這些文件的C4C官方叫法是Change Transaction,下文簡稱CT。Personalization產生的CT存儲在C4C后臺XREP里名叫公式輸入有誤PERS中的CT合并到對應的C4C標準UI上。

Adaptation

技術上講,Adaptation產生的CT文件會存儲在該用戶所歸屬的Layer里。例如客戶做的UI修改,會存儲到名為$Cust的Layer中去。而Partner做的修改,存儲到Partner對應的Solution獨有的Layer下面。Partner Solution是C4C一個特有的概念,如下圖Cloud Application Studio中的一個例子。大家可以把Partner Solution類比成ABAP Package的一個封裝,一個Partner Solution里能存放Cloud Application Studio支持的各種資源,比如UI,BO,Web Service,OData開發等等。每個Partner Solution在XREP里都有對應的Layer。

如何進行SAP Cloud for Customer Extensibility的設計與實現

我的同事Yang Joey曾經在他的文章 SAP成都研究院C4C光明左使:SAP Cloud for Customer 使用SAP UI5的獨特之處 提到過,C4C的UI界面的源代碼,是以XML格式存儲在ABAP Netweaver后臺的XREP里的。XREP提供了許多訪問這些XML文件的API,比如讀取,解析,激活等等。同S/4HANA LREP一樣,C4C XREP有不同的Layer,分別存儲SAP標準UI,Partner創建的UI,以及用戶所創建的資源。通過Layer實現了資源的區分隔離,使得操作者對UI的更改不需要修改最底層SAP標準的UI文件。運行時,上層的更改覆蓋對應的底層文件的表現。關于不同層之間合并(Merge)的更多細節,請參考Jerry文章 SAP產品的Field Extensibility 里S/4HANA章節里對LREP的介紹。

運行時,C4C框架從XREP Layer 公式輸入有誤Load包含SAP標準UI,以及Partner和客戶進行UI更改產生的CT。在Adaptation模式下產生的CT會被立即合并到對應的UI去,CT合并之后$Load中的UI文件會被重新生成,以便在下次加載時前臺框架總是基于最新合并后的UI源代碼進行渲染。

如何進行SAP Cloud for Customer Extensibility的設計與實現

我們現在以Adaptation的方式修改一個標準字段的屬性,然后觀察伴隨著這個修改動作,自動生成的CT到底是什么樣子的。我們將Employee UI上Manager這個標準字段的Mandatory屬性打上勾,意思是如果該字段未維護,則對Employee做的修改無法成功保存。

如何進行SAP Cloud for Customer Extensibility的設計與實現

因為用戶和Partner無法登陸C4C后臺,所以我們需要用另一種方式查看生成的CT明細。在地址欄的url里增加debugMode=true的參數進入調試模式。

如何進行SAP Cloud for Customer Extensibility的設計與實現

然后重新加載該頁面,按住Ctrl + 鼠標左鍵點擊“Manager”字段,出現一個彈出窗口。下圖紅色下劃線標注的就是這個CT在XREP中的存儲路徑。路徑里有個片段"AddCondition", 提示了這個CT的類型。點擊超鏈接"Get CTs"查看CT明細。

如何進行SAP Cloud for Customer Extensibility的設計與實現

這個CT的XML內容如下:

如何進行SAP Cloud for Customer Extensibility的設計與實現

里面包含的一些重要信息:

  • UsedAnchor:這個屬性是C4C Extensibility設計區分于SAP CRM和S/4HANA的最重要標志之一,馬上詳細介紹。上圖的UsedAnchor類型為SectionGroupAnchor,xrepPath為該Anchor在XREP中的路徑。

  • TargetFile: 說明這個CT會被合并到哪個C4C UI上。上圖例子里的值為COD_Employee.TI, 指的是Employee的明細頁面,即Employee明細頁面上發生了UI Adaptation操作。

  • AddCondition:說明這個UI修改的具體類型。上圖例子指修改的屬性名稱為"Mandatory", 默認值為true。

現在來細說UsedAnchor。Jerry的文章 SAP產品的Field Extensibility  曾經提到,在SAP CRM和S/4HANA的后臺,都有一個統一的Extensibility注冊表。每個應用的開發人員,如果希望自己應用的UI能夠支持Extensibility,那么需要將框架需要的信息注冊進去。同樣,C4C Extensibility也需要這種注冊表的邏輯,通過上面例子里提到的Anchor實現。

Anchor的中文意思是“錨點”,這個字用在C4C Extensibility注冊這個上下文非常合適。每個Anchor指向了一個可以通過C4C Key User Tool進行增強的UI區域。我們用UI Designer中打開剛才修改了Manager字段Mandatory屬性的Employee明細頁面,發現Manager字段位于一個Section Group中。選中該Group,從頁面右邊的Extensibility屬性中能發現維護有一個Anchor。該Anchor即我們之前研究的CT的XML內容里UsedAnchor字段的值。

如何進行SAP Cloud for Customer Extensibility的設計與實現

如果一個Section Group的Extensibility屬性處維護有Anchor,意思是SAP C4C聲明該Section Group可以被Key User Tool增強。反之,不可增強。在Adaptation模式下將鼠標放至這些不可增強的UI上,只會被高亮,但沒有任何工具欄顯示。

如何進行SAP Cloud for Customer Extensibility的設計與實現

除了Key User Tool外,C4C的Partner還有另外一個途徑對UI做增強,即使用Cloud Application Studio的Extensibility Explorer。選中一個UI Section Group,如果該Group的Extensibility字段維護了Anchor,那么可以看到下圖紅色高亮的操作選項,按照向導即可對該UI做增強。

如何進行SAP Cloud for Customer Extensibility的設計與實現

最后,這些自動創建的CT,到底是在何時何處,由誰創建的?

CT ****創建

CT創建的觸發是在UI端JavaScript代碼中完成,然后投遞到C4C后臺的。在C4C UI端JavaScript的目錄sap/client/flex/changes文件夾下,存放著不同類型的UI修改對應的處理器(Handler)。比如AddConditionHandler.js這個文件,負責響應用戶在Key User Tool里對UI字段的屬性做了修改的事件。

如何進行SAP Cloud for Customer Extensibility的設計與實現

而ChangeRegistry.js, 作為響應用戶在Key User Tool里操作的入口,將不同類型的UI修改分發給對應的處理器進行處理。

下圖顯示的是當"PropertyChange"這個類型的UI修改發生時,該修改被ChangeRegistry.js投遞給處理器PropertyChange.js。

如何進行SAP Cloud for Customer Extensibility的設計與實現

PropertyChange.js會根據傳入的事件參數進行解析,判斷出當前發生更改的字段的Property是mandatory,于是進入_mandatoryChanged進行處理,創建CT記錄這個修改。

如何進行SAP Cloud for Customer Extensibility的設計與實現

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

额敏县| 开远市| 边坝县| 瓦房店市| 阳信县| 浦县| 嘉祥县| 南城县| 玉山县| 平阳县| 隆林| 社旗县| 连山| 赣州市| 山阳县| 瓮安县| 稷山县| 泰安市| 茶陵县| 汉源县| 阜平县| 辉南县| 丽水市| 南部县| 华蓥市| 道孚县| 鹤山市| 江门市| 焦作市| 孙吴县| 东台市| 岢岚县| 高阳县| 彭州市| 应城市| 阜宁县| 敦煌市| 襄城县| 三江| 中阳县| 西林县|