SAP CRM Fiori My task应用里roundtrip取舍的讨论

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/i042416/article/details/85646284

问题是点了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的原创文章,请关注公众号"汪子熙":

猜你喜欢

转载自blog.csdn.net/i042416/article/details/85646284