1. 程式人生 > >SAP CRM Fiori My task應用裡roundtrip取捨的討論

SAP CRM Fiori My task應用裡roundtrip取捨的討論

問題是點了My task tile之後,進到task list view之後的第一個batch 操作是否可以去掉:

clipboard1

這個batch request取了三部分資料:

形如下列格式的user status: 把CRMC_TASK_OD裡所有task transaction type對應的status全部返回。
這個資料在open app時不需要,因為task list裡需要顯示的status description已經包含在task list odata裡了:

clipboard2

clipboard3

clipboard4

Priority:

形如下列格式:
這個資料在open App時是需要的。看這封郵件第一張圖右上方的”!”. 現在的實現是,首先把transaction type對應的所有priority都取回來,再按照key值對其排序,最小的認為是”highest priority”. 然後渲染list時,如果當前priority 為highest priority,則加個驚歎號。

如果想在open app時不取priority list, 只能在task header新增一個isHighestPriority的boolean 欄位,讓Saber在improved的service裡把這個值填上,而不是現在這樣讓前臺來計算。
clipboard5

clipboard6

Technical information: 又分為三個小的category.

privateAllowed

這個不需要了。這個field是從CRMC_ACTIVITY_H里根據transaction type取的,但是我檢查過了,這個儲存在technicalInfo 這個model裡的field根本沒有被用到,
至少在master branch裡。在task edit view裡,task header裡有兩個field分別控制private control是否能夠被編輯,以及當前private control顯示ON還是OFF。這個roundtrip裡基於transaction type取到的PrivateAllowed沒有在任何地方用到。

clipboard7

clipboard8

Employee id & Name:

這個也不需要了。現在的實現是專門在這個roundtrip裡取當前logon user sy-uname的id和name。這個name只會用在AssignTo button的實現裡。
clipboard9

clipboard10

我說這個roundtrip里根據log on user取的responsible employee 不需要的原因是因為My task現在的實現總是基於employee responsible搜尋的,因此我們可以認為
My task裡看見的所有task的employee responsible = 當前logon user. 因此,在assignTo實現裡,employee responsible可以不用從technicalInfo的model裡取,直接取當前task的responsible employee。

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":