摘要:利用框架,這種的變化和的讀取這種依賴關系實際上通過設計模式里的觀察者模式來完成的。每當,數據發生變化時,這個變化通過下圖的發布出去,其他觀察者就能基于這個發布者發布的事件進行對應處理,在我文章的這個例子里,就會調用根據最新的讀取的數據。
例如需求是搞清楚function module CRM_PRODUCT_I_A_CHANGE_ORGM_EC在什么樣的場景下會被調用。當然最費時間的做法是設一個斷點,然后跑對應的場景,觀察斷點何時被觸發。也有另一種不通過調試的分析方法:
使用事務碼CRMV_EVENT, 輸入函數名稱CRM_PRODUCT_I_A_CHANGE_ORGM_EC:
得到結果:
上述結果的業務含義是:每當Sales area被創建或者更新時,我們查詢的function module都會自動被One Order框架調用。
觀察如下調用棧:
那么為什么從業務上來說,每當一個訂單的Organization Model組織架構數據發生變化之后,就需要調用這個回調函數呢?打開這個函數的源代碼,在102行看到了CRM Product的settype之一, CRMM_PR_SALESG(Set type allowing you to group products for various purposes. As this set type is dependent on distribution chains, a distribution chain has to be selected before data can be maintained)的數據被讀取。
關于這個settype更多說明,請參考SAP Help).
這個settype是一個Distribution Chain相關的settype, 離開了某個具體的Sales area則無意義。
因此每當訂單的Organization model數據發生變化時,CRMM_PR_SALESG的數據必須根據變化后最新的Organization model數據重新讀取。利用One Order框架,這種Organization model的變化和CRMM_PR_SALESG的讀取這種依賴關系實際上通過設計模式里的"觀察者模式"來完成的。CRM_PRODUCT_I_A_CHANGE_ORGM_EC是Organization model數據變化的眾多觀察者之一,通過事務碼CRMV_EVENT訂閱了Organization model數據變化這一事件。每當Organization ,model數據發生變化時,這個變化通過下圖的CRM_EVENT_PUBLISH_OW發布出去,其他觀察者就能基于這個發布者發布的事件進行對應處理,在我文章的這個例子里,就會調用CRM_PRODUCT_I_A_CHANGE_ORGM_EC根據最新的Organization model讀取settype CRMM_PR_SALESG的數據。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/35913.html
摘要:利用框架,這種的變化和的讀取這種依賴關系實際上通過設計模式里的觀察者模式來完成的。每當,數據發生變化時,這個變化通過下圖的發布出去,其他觀察者就能基于這個發布者發布的事件進行對應處理,在我文章的這個例子里,就會調用根據最新的讀取的數據。 例如需求是搞清楚function module CRM_PRODUCT_I_A_CHANGE_ORGM_EC在什么樣的場景下會被調用。當然最費時間的做...
摘要:利用框架,這種的變化和的讀取這種依賴關系實際上通過設計模式里的觀察者模式來完成的。每當,數據發生變化時,這個變化通過下圖的發布出去,其他觀察者就能基于這個發布者發布的事件進行對應處理,在我文章的這個例子里,就會調用根據最新的讀取的數據。 例如需求是搞清楚function module CRM_PRODUCT_I_A_CHANGE_ORGM_EC在什么樣的場景下會被調用。當然最費時間的做...
摘要:引言作為服務器的優勢就在于適合處理高并發的請求,對于網站后臺這種密集型的后臺尤其有優勢,其核心就在于是一個異步非阻塞模型。關于異步,同步,阻塞,非阻塞這些概念,本文不做討論。另外兩個的調用時間需要判斷是否都在主線程中被執行。 引言 node作為服務器的優勢就在于適合處理高并發的請求,對于web網站后臺這種I/O密集型的后臺尤其有優勢,其核心就在于node是一個異步非阻塞模型。關于異步,...
摘要:一什么是觀察者模式觀察者模式,引用維基百科的說法,一個目標對象管理所有相依與它的觀察者對象,并在它本身狀態改變時發生通知。四觀察者模式的用途觀察者模式主要用于解耦合,一個對象變了,可以通知多個對象,而不是在回調里來處理各種情況。 一、什么是觀察者模式 觀察者模式,引用維基百科的說法,一個目標對象管理所有相依與它的觀察者對象,并在它本身狀態改變時發生通知。這通常通過調用各觀察者所提供的方...
摘要:序列文章面試之函數面試之對象面試之數組的幾個不操作面試之對比分析面試之數據結構與算法前言設計模式如果應用到項目中,可以實現代碼的復用和解耦,提高代碼質量。 showImg(https://segmentfault.com/img/bVbq2VA?w=480&h=260); 序列文章 JS面試之函數(1)JS面試之對象(2)JS面試之數組的幾個不low操作(3)JS面試之http0.9~...
閱讀 3315·2021-11-12 10:36
閱讀 2467·2021-11-02 14:43
閱讀 2146·2019-08-30 14:23
閱讀 3462·2019-08-30 13:08
閱讀 919·2019-08-28 18:09
閱讀 3129·2019-08-26 12:22
閱讀 3140·2019-08-23 18:24
閱讀 2016·2019-08-23 18:17