日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CRM one order callback

發(fā)布時(shí)間:2023/12/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CRM one order callback 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

上圖黃色的不帶紅框的第一行—FM CRM_PUBLISH_OW是在最初進(jìn)入CRMMAINTAIN_OW時(shí)候被調(diào)用的(注意上面只有兩個(gè)位置有這個(gè)FM CRM_PUBLISH_OW, 一個(gè)是HEADER入口, 一個(gè)是ITEM入口), 也就是你下面所提到的CRM_ORDERADM_H_PUBLISH_OW, 這個(gè)FM隨后會(huì)call CRM_EVENT_PUBLISH_OW, 在FM CRM_EVENT_PUBLISH_OW里的 internal table gt_allowed_callbacks_hdr 存放了當(dāng)前系統(tǒng)注冊(cè)的所有call back函數(shù), 然后該FM開始做plan 的工作,所以該FM的作用類似于調(diào)度安排。

PLAN_CALLBACKS具體干的活有兩大部分:
1利用Object和event信息找出哪些是需要立即執(zhí)行的, 放到內(nèi)表lt_atonce_exets里, 隨后備用
2 決定哪些是需要隨后執(zhí)行的call back, 放到gt_plan_exets里。

再回來(lái), 對(duì)于馬上執(zhí)行的call back函數(shù), 那就在CRM_EVENT_PUBLISH_OW的最下面調(diào)用執(zhí)行代碼。如你截圖所示。那么不是immediately執(zhí)行的call back怎么辦呢?

第一幅圖里面的紅框代碼, CRM_EVENT_SET_EXETIME_OW, 是用它來(lái)執(zhí)行其他的非immediately的call back,
會(huì)看到不同的位置, 都有該FM的身影, 這應(yīng)該是call back注冊(cè)的時(shí)間點(diǎn)的區(qū)別, 有如下幾種

· 1. End of header processing(對(duì)應(yīng)下圖的end_header_maitain)
· 2. End of item processing(對(duì)應(yīng)下圖的end _item_maitain)
· 3. End of document (better name would be “End of CRM_ORDER_MAINTAIN”,應(yīng)該對(duì)應(yīng)下圖的end_order_maintain)
· 4. End of all document(應(yīng)該是下圖的end of order multi_maitain)

再遍歷, 通過(guò)GUID, KIND, EXETIME找到要執(zhí)行的call back, 然后在紅框處的EXECUTE_CALLBACKS_PLANNED調(diào)用執(zhí)行

從我的trace截圖來(lái)看, 恰恰是上面說(shuō)的第三種, End of document的時(shí)候觸發(fā)的EXECUTE_CALLBACKS_PLANNED。

下面的英文注釋也解釋了這兩個(gè)FM的作用。

下面的圖也說(shuō)明了這個(gè)執(zhí)行過(guò)程, XXX_ publish_OW負(fù)責(zé)注冊(cè),調(diào)度, 如果是馬上執(zhí)行的, 那就在CRM_EVENT_PUBLISH里面執(zhí)行;
CRM_EVENT_SET_EXETIME_OW負(fù)責(zé)根據(jù)不同的時(shí)間點(diǎn)去執(zhí)行其余的call back。

除了之前提到的trace工具SE38- CRM_EVENT_TRACE

還有一個(gè)重要的表 – CRMC_EVENT_CALL
可以只查看Z的function, 其實(shí)這個(gè)表也就是之前那個(gè)SPRO里面顯示的內(nèi)容, 可能在這里面更好查詢一些, 而且可以根據(jù)客戶修改的時(shí)間檢查是否他們最近注冊(cè)的call back存在問(wèn)題, 更方便一點(diǎn)。 我不知道還有其他的功能, 僅是自己的理解

CRMV_EVENT is for predefined callbacks. The customer-defined callbacks should not be registered here. Move them to SPRO.
Restrict the number of times the callback is planned in for a certain execution time to a minimum.

  • Register the callback for individual transaction categories instead of for the generic transaction category BUS20001 so that the callbacks do not run unnecessarily for other transactions.

  • Avoid register the unnecessary callbacks to transaction category BUS2000115 -------115 我知道是CRM Sales Transaction, 注冊(cè)FM在這個(gè)上面,是不是也相當(dāng)于general的調(diào)用, 我看聯(lián)想很多fm都是注冊(cè)在這里的,

  • consider whether it is absolutely necessary to set the execution time “Immediately”. The other execution times are better for performance since several events might trigger the same callback.-----如果不設(shè)置成immediately,

  • 還有很多選項(xiàng), 這個(gè)完全得看業(yè)務(wù)需要和實(shí)際邏輯了。

  • Consider carefully which value you set for the parameter Call Callback and restrict the number of times the callback is planned in for a certain execution time to a minimum. ------這個(gè)是在哪里設(shè)置????是我第一個(gè)界面嗎?如何限制調(diào)用次數(shù)?
    要獲取更多Jerry的原創(chuàng)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙":
  • 總結(jié)

    以上是生活随笔為你收集整理的CRM one order callback的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。