Some time ago we run into this problem for user whose language was Spanish although it can also happen for other users with different languages (i.e. Polish).
When we configure the workflow assignment as “assign to:” to be “Role Based” and we choose “Workflow originator” The workflow task is never assigned to any user and a “Host Runtime ” error is logged on the event log.
And in Workflow history form you can find error
in local language (label @SYS105452)
The issue happens in class SysWorkflowProviderService method resolveParticipant in mentioned if:
if (strcmp(enum2str(WorkflowActorType::Originator), _participant) == 0)
{
users = WorkflowUserList::construct();
users.add(workflowTable.Originator);
}
The problem here is that in Spanish
_participant =Orginador del flujo
So the strcmp (string compare) returns value false and user is not added. The parameter _participant is cut to 20 signs, the reason behind is that it is Extended Data Type WorkflowParticipantToken which string size is setup to 20.
There can be two solutions:
1. Change property StringSize of WorkflowParticipant token to 40.
2. Create new label which length will be shorter than 20 and assign it to WorkflowActorType::Orginator
We have checked all of the standard SYS layer languages and the following languages are effected by the same issue:
es |
es-mx |
fr |
fr-be |
fr-ca |
fr-ch |
hu |
is |
it |
it-ch |
lt |
lv |
nl |
nl-be |
pl |
pt-br |
ru |
sv |
–Editor: Tariq Bell