不知道大家在电子邮件工作台(E-mail Workbench)中,当要把邮件路线至其他组织单位或分配至其agent时,有没有遇到下面的错误:主题为 的电子邮件 的状态为 已完成;不能执行操作(E-mail with subject has status Completed; action cannot be performed)。下面来分享下,遇到这个问题的解决方法。
首先,对于状态为 完整的(complete)的邮件来说,因为相关处理已经完成,所以当你要路线至(route to)或分配至(assign to),正确的behavior确实是系统将发送error: 主题为 的电子邮件 的状态为 已完成;不能执行操作(E-mail with subject has status Completed; action cannot be performed),以提醒业务人员,这封邮件已经处理完了。
但是大家看上图的话,会发现我要路线至(route to)或分配至(assign to)的是一封状态为队列中或处理中的邮件,这就讲不通了。其实这个错误是由于错误的customizing,下面就来介绍下问题的分析及解决方法。
问题分析:
1.通过debug,我发现在下面的method中,系统或读取表中crmc_ic_auicomm所包含的的所有INT( E-Mail)的entry。
CL_CRM_ERMS_WB_ACT_ROUTE
IF_CRM_ERMS_WB_ACTION~EXECUTE
*-- Get the task ID that is used as a wrapper for the e-mail
SELECT * FROM crmc_ic_auicomm INTO lv_ic_auicomm WHERE commtype = 'INT'. 《《《《《《《《《《《《《《
ls_possible_task-option = 'CP'.
ls_possible_task-sign = 'I'.
CONCATENATE '*' lv_ic_auicomm-wftaskid INTO lv_task.
ls_possible_task-low = lv_task.
APPEND ls_possible_task TO lr_possible_tasks.
2.所以,下图中的对象标识207914和207915就会被读取,之后系统在上面的method中继续判断对象标识207914和207915所对应的该email的work item
是不是在状态Ready,SELECTED,STARTED之外,如果之外的话,就意味着mail已经完成complete,系统就会发出对应的问题error。
3. 在这里我发现了问题,大家知道对于一个erms邮件,对象标识207915对应的是background step,也就是说当一个email进来,backgroud step处理完后,所对应的work item就会变为completed.(可以在T-code:swi1里查看)
4.由上,我知道了问题所在,是我错误的在表crmc_ic_auicomm中,maintain了207915。由于所有email进来crm中后,background step都会转为complete,这造成了系统在上述step2中会check所有邮件的background step,接着发现他是complete的,继而接下来系统发出error:E-mail with subject has status Completed; action cannot be performed.
解决方案:
所以解决方案是在下面的customing中,删除207915这条记录。
删除207915这条记录
恢复为以下标准系统中的正确customizing。
207914 | INT |
14008030 | INT |
14008031 | FAX |
14008032 | LET |
相关英文KBA:
2148197 - Error “E-mail with subject has status Completed; action cannot be performed” when routing or assigning in E-mail workbench