Posted on:
Categories: SharePoint
Description:

Symptoms:

You have a SharePoint 2013 platform type workflow that is associated with a Document Library. When the workflow runs it appears as cancelled. You may see an error in the workflow status page similar to the following

 

RequestorId: d75940f0-4635-2143-388d-cf1483a55983. Details: System.ApplicationException: HTTP 500 {"Transfer-Encoding":["chunked"],"X-SharePointHealthScore":["0"],"SPClientServiceRequestDuration":["64"],"SPRequestGuid":["b82a35c8-0da1-45d8-96a8-ea3b2e32a149"],"request-id":["b82a35c8-0da1-45d8-96a8-ea3b2e32a149"],"X-FRAME-OPTIONS":["SAMEORIGIN"],"MicrosoftSharePointTeamServices":["15.0.0.4481"],"X-Content-Type-Options":["nosniff"],"X-MS-InvokeApp":["1; RequireReadOnly"],"Cache-Control":["max-age=0, private"],"Date":["Thu, 27 Mar 2014 21:01:53 GMT"],"Server":["Microsoft-IIS\/8.0"],"X-AspNet-Version":["4.0.30319"],"X-Powered-By":["ASP.NET"]} at Microsoft.Activities.Hosting.Runtime.Subroutine.SubroutineChild.Execute(CodeActivityContext context) at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

 

The error message above contains an SPRequestGuid which can be matched to a correlation ID in the ULS logs. The error message indicates the following

 

“The file "http://sharepointsite/sites/site/test.txt" is not checked out.  You must first check out this document before making changes.”

 

Cause:

 

The document library is set to require check out

 

In SharePoint 2013, when a workflow is associated with a list or a content type, a new column is added to track the status of the workflow. This workflow status column is updated automatically with a description of the stage of the workflow that is currently being executed.


The important point to consider is that when the workflow runs, and before it has executed any of its actions, it will attempt to update the workflow status field for the item that triggered the workflow. Since the document needs to be checked out before any changes can be made to it the workflow will fail. This is important becuase it means that you cannot try to workaround this issue by configuring your workflow to check out the document before it attempts to update the workflow status field. As already mentioned, the workflow will attempt to update the workflow status field before any of the workflow's actions are executed. Therefore, you will have to use another workaround if you want your workflow to succeed.

 

Workarounds:

 

  1. Disable ‘Require Check Out’. This option is not going to be viable if there is already a business case to require check out.
  1. In SharePoint Designer remove the option to update the workflow status. Now, since the workflow does not need to update the item, you will no longer encounter the issue outlined above.



You can refer to this blog post for further information about this workaround http://www.cleverworkarounds.com/category/sharepoint-2013/page/2/