SAP CRM 效能小技巧

來源:互聯網
上載者:User

標籤:請求   init   過程   而不是   執行階段錯誤   功能   profile   小技巧   ipc   

導言

本頁面打算收集SAP CRM實施中可以用於避免效能問題的注意事項,重要的事項會由表徵圖標識。

如果你有其他的技巧想要說出來,別猶豫!

效能注意事項通用

緩衝讀取類訪問,特別是在效能關鍵的地方,比如欄位檢查,這時要避免資料庫查詢。

 

嘗試把所有的東西放在同一個CRM_ORDER_MAINTAIN調用當中,以避免不必要的開銷。編輯多文檔的時候也是一樣,需要被替換為一個調用。

 

不要無限制地使用SAP內部API,比如,唯讀取需要的資料就可以,而不是整個業務。

 

總是把效能放在心上,特別是在實現經常被調用的代碼的時候。這也包括,要事先預計好代碼被調用的情況。

 

.在維護業務後,不要忘記使用CRM_ORDER_INITIALIZE函數,以釋放緩衝的記憶體。

 

  ABAP Programming and Performance Notes  要考慮到通用的效能指導方針(避免嵌套迴圈、資料庫的反覆查詢)更多資訊請看:ABAP Programming 和 Performance Notes。

 

處理行項目的時候,不要通過header guid 使用函數CRM_ORDERADM_I_READ_OB(比如行項目層級的事件回調),這對效能來說極為關鍵,特別是在處理大量項目的時候。
在僅僅是讀取當前項目所在層級的時候,應使用函數CRM_ORDERADM_I_STRUCT_READ_OB。

 

系統設定

閱讀note 1162685 以擷取有關CRM WebClient UI設定的通用資訊。


閱讀note 1162605 ,關於如何改善CRM WebClient UI使用中的網路效能。

 

閱讀note 1281896 以擷取有關CRM WebClient UI共用記憶體大小設定的資訊。

 

擴充性

不在欄位檢查中放置效能昂貴的代碼。


為增強進行運行時效能評估(考慮到包含API調用的整個運行期間,並不是只有附加的代碼會導致效能問題,問題也有可能是不適當的API調用所導致的)。

 

不使用產生的表擴充處理垃圾資料。

 

在產生擴充時,你可以考慮關閉通用的檢查、實現一個專門的檢查,以提高效能。

 

事件處理器

不要將行項目交叉地放到各個立即執行的回呼函數中,而是應該放在文檔處理的結尾處。


Always keep the concept of secondary transaction categories ("Nebenbus") in your mind. Make sure that newly registered EC function modules only run for the desired objects.

 

只有在真的需要某個值的時候,才應該在事件處理器回調中請求資料。

 

使用CRMD_TRACE來找到事件處理器回調註冊(應當被放置)的正確位置。

 

報表架構

 搜尋使用者指定欄位的時候,考慮擴充合適的索引表。閱讀note 1527039.

 

 要考慮到許可權檢查也是查詢過程的一部分,並詳細觀察查詢許可權檢查對資料庫查詢帶來的影響。

 

 

定價, VMC, 產品配置

儘可能降低價格處理的複雜性:考察多種情況,檢查不常用的情況類型,限制價格處理的訪問數量,使用合適的請求禁止某些在處理中不需要的情況。


查閱note 1269480 擷取有關配置、VMC和IPC的效能問題。

 

查詢note 1005457 擷取VMC設定(Java 堆).

 

VMC日誌只需要記錄錯誤。

 

CRM IPC定價公式實現的基本準則:
- 不要進行表訪問。自建表的讀取不會被IPC緩衝,因此應當在CRM服務端實現定價準備步驟。 I
- 在使用者出口(user exit)的實現中,避免執行階段錯誤(null 指標異常)。
- 在使用者出口處避免使用迴圈。

 

CRM功能自訂

Actions:保持條件儘可能的簡單,不管它是一個計劃(scheduling condition)或者是初始條件(starting conditions)。這使得Actions條件和報表查詢的速度更快。


Actions:對複雜的計劃和起始條件使用各自的BAdI EVAL_SCHEDCOND_PPF 或EVAL_STARTCOND_PPF來實現,這樣可以獲得比使用基於工作流程的條件更高的效能。基於條件的工作流程通常會由一個解譯器來解釋並且訪問資料,這會成為效能的關鍵。


Actions: 操作:對不同的業務情境使用不同的PPF配置。這可以讓運行時變快,因為檢查的條件和更少,配置的需要載入的Actions也更少。

 

Actions: 狀態檢查應當被視為計劃條件建模,而不是初始條件。被計劃條件填滿的Actions,會在應用初始化其刪除之前持續存在。在某些情況下,這可以導致不必要的PPF選擇報表的長時間運行。
一個初始條件應該只是導致導致action啟動並執行延遲,條件的其它部分必須是計劃條件的一部分。

 

預約:在日期配置資訊中移除不需要的日期,例如如果你沒有使用賬單計劃的話

 

修改文檔:檢查是否可以無效化某個文檔的修改功能。(可以通過業務類型自訂使其無效,標識是‘No Change Docunments’)

 

關於Actions的更多資訊,請參考Action profiles in SAP CRM

Web Client 使用者介面架構

 

只把需要的視圖/assignment blocks放置在UI上面。如果視圖/assignment blocks不是頻繁被需要的,使用懶載入模式。


不在組件控制器中的DO_PREPARE_OUTPUT方法中使用效能昂貴的代碼,因為在每次往返中,它都要被處理。


不要只是繞過BOL緩衝,以防緩衝中的資料沒有更新。要尋找資料不一致的原因,並且修改其中的問題。

 

不使用複雜的綁定(更新一個節點,將引發多個其它節點的更新,以及/或者一串其它節點)。

 

註冊事件時,不要忘記解除註冊(否則,事件處理器將仍然被調用,甚至在不再需要的情況下)。

 

在UI組件中,不使用ALL組件集。否則會消耗不必要的記憶體。

 

 

 

本文連結:http://www.cnblogs.com/hhelibeb/p/6103685.html

英文原文:Performance Tips and Tricks

 

SAP CRM 效能小技巧

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.