AlertThis post is over a year old, some of this information may be out of date.
SharePoint Designer 2010 – Start Approval Process Workflow Action Not Working In Other Languages
post
Problem
When designing a SharePoint Designer workflow for a Dutch site, an error occurred when I used a language specific **Start Approval Process **action. The error only tells you that the workflow will not work: “Errors in the workflow prevent it from functioning correctly”. It only highlights the Approval Process in red.
“Het process Goedkeuring voor Current Item met Elst starten” is Dutch for: “Start Approval process on Current Item with Elst”.
Digging deeper in the Approval process action, revealed that the problem lies in a Log to History List action.
Show imageLog in History List Action (Dutch) Error
In the Log to History List action three field values got an incorrect field reference. These incorrect field references are displayed with the following value: [%.ReturnValue%].
Manually add new field references for the Assigned To, External Participant, and DueDateTime fields. First remove the [%.ReturnValue%], click on the Add or Change Lookup button. In the Data source select Current Task: Approval (Language Specific), in the Field from source select the correct field reference;
This solution requires that you change the moss.actions xml file for a specific language in the SharePoint root folder. If you do not want to modify any of the SharePoint root files, I recommend you to follow the first solution.
When I investigated the moss.actions file for the English, Dutch and French language packs, I noticed that the field ID’s in the Dutch and French version, were different than those in the English version.
1
2
3
4
5
6
7
8
<!-- ENGLISH VERSION --><ns0:DynamicStringActivityx:Name="ID11464"__Context="{ActivityBind ROOT,Path=__context}"Value="Task created for [%ID11465.ReturnValue%] on behalf of [%ID11467.ReturnValue%]. Due by: [%ID11469.ReturnValue%]"/><!-- DUTCH VERSION --><ns0:DynamicStringActivityx:Name="ID11464"__Context="{ActivityBind ROOT,Path=__context}"Value="Taak gemaakt voor [%ID11158.ReturnValue%] namens [%ID11160.ReturnValue%]. Einddatum: [%ID11162.ReturnValue%]"/><!-- FRENCH VERSION --><ns0:DynamicStringActivityx:Name="ID11464"__Context="{ActivityBind ROOT,Path=__context}"Value="Tâche créée pour [%ID11158.ReturnValue%] de la part de [%ID11160.ReturnValue%]. Échéance : le [%ID11162.ReturnValue%]"/>
In the English version the following ID’s are used:
Assigned To: ID11465
External Participant: ID11467
DueDateTime: ID11469
In the Dutch and French version the ID’s are different:
Assigned To: ID11158
External Participant: ID11160
DueDateTime: ID11162
Follow the next steps to change these ID values.
Navigate to the following location on your SharePoint server: SharePoint Root\TEMPLATE**<LANGUAGE CODE>**\Workflow;
Make a copy of the moss.actions file.
Open the moss.actions file in a text editor;
Do a search with the following string: x:Name=“ID11464”;
In this XML Node change the **ID11158 **-> ID11465, ID11160 -> ID11467, and ID11162 -> ID11469;
Save the moss.actions file;
Do an IISRESET;
Open your site in SharePoint Designer 2010;
Open or create a new workflow and add the language specific Start Approval Process action;