關于 CRM 系統中權限控制設計的一些思路

      網友投稿 801 2025-04-01

      當試圖打開一個Opportunity時,


      系統會進行如下一系列的權限檢查:

      1. 檢查Authorization object CRM_ORD_OP:

      此處會檢查當前user的partner function和partner function category的設置情況:

      如果檢查失敗,會拋出error message:

      2. 進行第二輪針對CRM_ORD_LP的檢查:

      3. 如果再失敗,進行第三輪對CRM_OPP的權限檢查:

      45代表Allow:

      4. 如果再失敗,進行第四輪對CRM_ORD_RS的權限檢查:

      如果都失敗,將看到如下錯誤信息:

      可以用一張圖概括:

      1. 使用業務角色ANALYTICSPRO登錄WebClient UI:

      2. 點擊新建按鈕:

      為新建的報表分配一個HANA Live Query:

      關于 CRM 系統中權限控制設計的一些思路

      指定Query的參數:

      上圖WebClient UI選擇的參數都定義在HANA studio里:

      給報表添加屬性:

      添加measure:

      之后報表即可在WebClient UI里成功渲染:

      并且也能在CRM Fiori的Customer Report應用里看到該report。

      如果想獲得更多關于上圖提到的Fiori應用,請查看我的公眾號文章 SAP Fiori應用的三種部署方式

      SAP的Fiori應用是通過OData和后臺交互的。在使用Fiori應用時您可能會遇到這樣的錯誤消息:

      這個錯誤消息沒有包含有助于partner或者客戶定位問題根源的線索。

      下面是如何在后臺找出問題根源的步驟。

      1. 在Fiori前臺系統上使用事務碼/IWFND/ERROR_LOG找到當前OData出錯對應的錯誤日志:

      關于Fiori前后臺系統的區分,參考我的微信公眾號文章SAP Fiori應用的三種部署方式

      2. 點擊工具欄上的按鈕"Active Source"。然后我們會被自動帶到拋出錯誤消息的代碼位置,即下圖的第86行。這個代碼是Fiori前臺系統進行出錯處理的框架代碼,我們就在第86行設置一個斷點。

      返回Fiori UI重現錯誤,斷點觸發,默認的調用棧是上圖設置的斷點,即方法HANDLE_RFC_FAILURE內部。此時我們跳到調用棧的外面一層,即方法CALL_BACKEND, 如下圖所示。這個方法的exceptions參數lv_rfc_message的內容即具體的錯誤消息。

      如果您夠細心,您或許會發現有的SAP Fiori應用的footerbar區域內的按鈕有高亮顯示,有的則沒有。

      如何自己分析這兩種按鈕的實現原理?

      還是借助Chrome Development Tool。更多Chrome development tool的使用技巧,參考我的博客

      Chrome Development Tool tips used in my daily work

      使用network tab可以觀察到實現高亮實現的CSS class:

      記下這個css class的名稱sapMBtnEmphasized:

      由此可見,這個class是在如下代碼處設置的:

      只要Fiori應用程序的controller是繼承自BaseDetailController,則edit button一定會highlight:

      一個很小的tip:比如我想把UI5表格控件里的每列設置成寬度根據顯示的內容自適應,需要知道應該調用控件的哪個方法來實現。

      一種辦法當然是查SAP幫助文檔,得知需要調用控件的公有方法setAutoSizable。

      另一種辦法是在debugger里研究,因為根據經驗,這種公有方法的名稱按照慣例一般都是以set開頭,如下圖:

      根據經驗從調試器里的set自動完成列表里的所有條目定位到應該調用setAutoResizable這個方法。下一個問題就是這個方法到底應該傳什么參數進去。

      直接在調試器里執行方法getMetadata, 展開返回的結果:

      在_mProperties的autoResizable里得知這個set方法應該傳一個boolean類型的參數進去:

      反思

      這種思路是在runtime時獲取控件的元數據,這和Java的反射,ABAP的RTTI實際上異曲同工。

      API ERP

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel排序后的數據如何恢復原來的排序?
      下一篇:django ORM操作及進階(django框架)
      相關文章
      亚洲综合成人婷婷五月网址| 亚洲AV无码乱码国产麻豆| 亚洲熟妇中文字幕五十中出| 无码天堂亚洲国产AV| 亚洲另类无码专区首页| 在线亚洲高清揄拍自拍一品区| 亚洲电影唐人社一区二区| 亚洲网址在线观看| 亚洲精品视频免费看| 亚洲高清不卡视频| 久久av无码专区亚洲av桃花岛| 亚洲自偷自拍另类12p| 亚洲国产综合专区电影在线| 久久精品国产亚洲av四虎| 亚洲国产第一站精品蜜芽| 国产V亚洲V天堂无码久久久| 国产AV无码专区亚洲A∨毛片| 亚洲国产精品无码久久一线| 亚洲性猛交XXXX| 亚洲国产精品无码专区影院 | 亚洲AV本道一区二区三区四区 | 国产精品久久久久久亚洲影视| 亚洲Av无码国产一区二区| 久久精品国产亚洲av瑜伽| 国产精品亚洲专区在线播放 | 国产精品亚洲精品日韩动图| 亚洲综合精品网站| 91麻豆国产自产在线观看亚洲| 亚洲中文字幕在线观看| 亚洲成a人片在线观看无码 | 怡红院亚洲红怡院在线观看| 亚洲国产精品一区二区三区久久| 精品国产香蕉伊思人在线在线亚洲一区二区 | 亚洲国产日韩在线成人蜜芽 | 一本色道久久综合亚洲精品| 亚洲av无码乱码国产精品| 亚洲首页在线观看| 91丁香亚洲综合社区| 亚洲国产AV无码一区二区三区| 午夜亚洲国产精品福利| 亚洲日韩精品一区二区三区|