We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

Dynamics CRM Workflow updating closed letter after Mail Merge

Medium Priority
952 Views
Last Modified: 2013-11-24
I have created a new entity (Fund Member) to create a many to many relationship between Contact and a new entity called Fund. Users will be running mail merges from this entity either via Advanced find, or associated views from  the Contact or Fund entity. When the activity is created, the default regarding is the Fund Member record, and the recipient is blank. We need recipient to be populated with the contact and the regarding to be populated with the fund. To do this I have created a workflow described below.

The workflow changes the recipient and regarding for a Letter Activity after the activity has been created. To do this, the workflow has to change the activity status to Open, update the activity, then reclose it.

This works when a letter is created for a single contact, but when applied to multiple contacts, some of the instances complete, but most of them get stuck in the 'Wait' status, and on further investigation they have failed after opening the activity with a with  "SQL error has occured" message.

I improved the success rate to only the occasional error by including a wait timout of 1 minute between the status change and the update, but this isn't a totally risk free solution.

HAs anyone else experienced this issue and developed a better solution?
Comment
Watch Question

Feridun KadirPrincipal Consultant
CERTIFIED EXPERT

Commented:
What is the trigger for the workflow?
Can you try enabling the Trace feature using CRMDiagTool4
http://blogs.msdn.com/benlec/archive/2008/03/04/crmdiagtool4-for-microsoft-crm-4-0-has-been-released.aspx
This would help in finding out more information.
Once you have enabled tracing - you could find the file in <install drive:>\Program Files\Microsoft Dynamics CRM\Trace locaiton and the file name would be have "CrmAsyncService" (which is a trace file for workflow).

Have you tried restarting the CRM Asynchronous processing service? Does it make any difference in sending those waiting letters?

Let me know how u go

Author

Commented:
I have tried restarting the async process but still have the issue.

I have turned tracing on, and reproduced the issue, but can't find any clues in the trace (not really sure what I am looking for). The trace is attached.
VDEVGF1-CrmAsyncService-bin-2009.log
Hi Swakyn,

May I know if you have added any rollups to CRM 4.0?
Please refer to this http://support.microsoft.com/kb/952858. There is one hotfix 957701  that addresses workflow waiting issue.

Author

Commented:
We are on Rollup 3, so this hotfix has already been applied.

Author

Commented:
Further investigation with SQL Server Profiler has found that deadlocks are causing the problem.See message below:-
Transaction (Process ID 108) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Feridun KadirPrincipal Consultant
CERTIFIED EXPERT

Commented:
It sounds as if you have workflows competing with each other. Reading your original post again, I notice that you say: "To do this, the workflow has to change the activity status to Open, update the activity, then reclose it. "

Could this be triggering the workflow again?

Perhaps you need to include a test at the beginning of the workflow to prevent it running more than once.
Commented:
Unlock this solution with a free trial preview.
(No credit card required)
Get Preview
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.