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

這個batch request取了三部分資料:
形如下列格式的user status: 把CRMC_TASK_OD裡所有task transaction type對應的status全部傳回。
這個資料在open app時不需要,因為task list裡需要顯示的status description已經包含在task list odata裡了:
Priority:
形如下列格式:
這個資料在open App時是需要的。看這封郵件第一張圖右上方的”!”. 現在的實作是,首先把transaction type對應的所有priority都取回來,再按照key值對其排序,最小的認為是”highest priority”. 然後渲染list時,如果目前priority 為highest priority,則加個驚歎号。
如果想在open app時不取priority list, 隻能在task header新增一個isHighestPriority的boolean 字段,讓Saber在improved的service裡把這個值填上,而不是現在這樣讓前台來計算。
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沒有在任何地方用到。
Employee id & Name:
這個也不需要了。現在的實作是專門在這個roundtrip裡取目前logon user sy-uname的id和name。這個name隻會用在AssignTo button的實作裡。
我說這個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。