问题是点了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。