The answer is fairly straight-forward and is useful not only for upgrade scenarios but in other cases where you might be searching for a particular workflow that has a specific condition, action, or workflow plugin. That is, you can use this as a general purpose mechanism for finding workflows with a particular clause.
Let's start with identifying workflow plugins. For example, let's say that I want to find workflows that use the following workflow plugins:
The following query will find cases where the GetDate method is used. You could similarly search for the other methods by simply replacing the search clause.
select distinct name from FilteredWorkflow where statecodename = 'Published' and activities like '%DateUtilities%' and activities like '%GetDate%'
This returns with a result of "App Server Install". And sure enough if I open up that workflow in CRM, I see that the workflow plugin is called.
Alternatively let's say I was searching for another clause within the workflow e.g.
select distinct name from FilteredWorkflow where statecodename = 'Published' and activities like '%region= Australia%'
Once again this also returns the "App Server Install" workflow and if I scroll a little further down I will see that also in the workflow:
By now you should be getting the idea. But interestingly if you tried the same search in a CRM 2011 environment you will not get any results returned. To make it work in 2011, you will need to tweak the queries very slightly replacing the "Activities" column with the "Xaml" column. The following will now work in your CRM 2011 environment:
select distinct name from FilteredWorkflow where statecodename = 'Published' and Xaml like '%DateUtilities%' and Xaml like '%GetDate%'
select distinct name from FilteredWorkflow where statecodename = 'Published' and Xaml like '%region= Australia%'
No comments:
Post a Comment