SAP Fiori My task里complete checkbox的处理
Sent: Tuesday, 7 April, 2015 7:41 PM
UI上點擊complete的check box之后,UI只是簡單地將instance設置了一個Completed 為true的標志位:
該標志位傳到后臺后,即iv_completed_requested = ls_task-completed = X:
這會trigger application通過function module CRM_ORDER_MAINTAIN修改task對應的status field:
新的status value為hard code的value FINI ( 即constant GC_STATUS_TRAN_COMPLETED )
通過function module CRM_STATUS_ACTIVITY_INFLUENCE, 框架會計算出針對當前如下三個輸入,究竟應該往table CRM_JEST里寫入哪些entry:
這個FM里會根據傳入的status profile和business transaction從table TJ31 里找出該transaction 掛的所有user status:
然后同理從TJ06中找到所有相關的system status:
注意:
如果有多個user status 映射到了同一個system status上,在做status的customizing 保存時不會出錯,但是在點擊task前的checkbox試圖將task設置成complete時,在status handling的FM CRM_STATUS_CHANGE_FOR_ACTIVITY里會報錯,錯誤信息來自subroutine stonr_ambiguous_check:
檢測到針對同一business transaction 和status profile,存在duplicate user status之后拋出error message ( message class BS, message number 046 )
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP Fiori My task里complete checkbox的处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP OData Multiple O
- 下一篇: 特斯拉再度降价:又便宜2万!Model