Fixed – Workflows not firing “Waiting For Resources” in Dynamics 365 On-Premise

Recently in one of our environments, we started getting the issue that all our workflows were getting stuck at “Waiting for resources”.

As usual first step was to check if Microsoft Dynamics 365 Asynchronous Processing Service is running it or not.

The service was disabled, so we enabled it. But still, it didn’t fix the issue.

Next thing we tried was as suggested in the below article

https://www.powerobjects.com/blog/2013/03/28/how-to-fix-a-crm-workflow-stuck-in-progress/

The value for AsyncSdkRootDomain was blank which we updated followed by a restart of the service. Still no luck.

Eventually, we came to know that Servers setting for the roles Full Server were in the disabled state inside the Deployment Manager for the organization.

The reason CRM was still working because these services (including IIS Web Site) were already manually started earlier, however, the status was still disabled for this setting within Deployment Manager. (These settings were done by the network team who were planning to create the replica of these machines, and they wanted to disable the applications and our CRM technical team was unaware of it.)

Enabling it fixed the issue for it.

Hope it helps..

Advertisements

Fixed – DTS_E_PROCESSINPUTFAILED. The Process input method on component “Script Component” failed with error code 0x80131501 in SSIS

Recently I had written an article for Nigel Frank that list down step by step process of using XML Source Component of KingswaySoft for integration with Dynamics 365 CE

https://www.nigelfrank.com/blog/integrate-dynamics-365-for-customer-engagement-with-xml/

We have used XML Source Component to read the XML files.

The packages that we developed were running fine from Visual Studio SSDT but on deployment for one of our package that was using Script Component we were getting the below error while running from within SQL.

After a lot of debugging and spending a good amount of time to figure out the issue, we realized that the value of one of the input columns was not being passed to Script Component from XML Source component i.e. _ParentKeyField

This is a special column which XML Source Component adds for the child records through which we can associate it to the parent record.

This happens when we are running it from SQL and only for the Script Component. This worked fine while running it from within SSDT and in other packages even from SQL when we weren’t using Script Component.

As a quick fix, we applied XLST Transformation to put the same tag for the child records also and to refer that instead of _ParentKeyField

In parallel, we also asked the same question to the KingswaySoft Support team (info@kingswaysoft.com)

One thing I would like to explicitly mention is that KingswaySoft support team is one of the best out there, not only you will get the response immediately, but also their team is very knowledgeable.

Below is the response we got

As suggested after setting the RunInOptimizedMode property to False for the Data Flow components the issue got fixed.

This property indicates whether the Data Flow task runs in optimized mode (RunInOptimizedMode property). Optimized mode improves performance by removing unused columns, outputs, and components from the data flow.

Hope it helps..

Fixed – Script Component has encountered an exception in user code. Value cannot be null. Parameter name: keyword in SSIS

Recently while trying to use KingswaySoft’ s CRM Connection Manager in the Script Component we got the below error

error

Turned out the issue was because of the wrong version of KingswaySoft.IntegrationToolkit.DynamicsCrm assembly being referred.

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\KingswaySoft.IntegrationToolkit.DynamicsCrm

Referencing the correct one fixed it.

Hope it helps..

Error while updating organization information: Microsoft.Crm.CrmReportingException: Unknown exception thrown by report server —> System.Web.Services.Protocols.SoapException: An internal error occurred on the report server while trying to import organization in Dynamics 365 On-Premise

Recently while after restoring the database while trying to import the organization we got the below error

Checking the Report Server log,

we found the below detail

Throwing Microsoft.ReportingServices.Library.InvalidReportServerDatabaseException: , Microsoft.ReportingServices.Library.InvalidReportServerDatabaseException: The version of the report server database is either in a format that is not valid, or it cannot be read. The found version is ‘2017’. The expected version is ‘178’.;

We can use the below commands to check the DB Version


The Database that we were restoring had the following version 178 as mentioned in the error


And in our destination server where we were had restored and imported the organization, it was 2017.

We tried out a few of the things mentioned in the forums, eventually what worked for us was to create a new Report Server database in the Destination server.

https://social.technet.microsoft.com/wiki/contents/articles/32360.sspr-troubleshooting-the-version-of-the-report-server-database-is-either-in-a-format-that-is-not-valid-or-it-cannot-be-read.aspx

https://www.sqlservercentral.com/forums/topic/the-version-of-the-report-server-database-is-either-in-a-format-that-is-not-valid-or-it-cannot-be-read-the-found-version-is-164-the-expected-version-i

This created the database with the version expected and our import was successful.

Also, refer the below blog posts

https://www.magnetismsolutions.com/blog/paulnieuwelaar/2014/10/08/data-encryption-errors-after-restoring-microsoft-dynamics-crm-database

http://rafaeldontalgoncalez.com/2018/11/the-version-of-the-report-server-database-is-either-in-a-format-that-is-not-valid-or-it-cannot-be-read-the-found-version-is-164-the-expected-version-is-165-rsinvalidreportserverdatabase

https://www.crmviking.com/2016/02/backup-and-restore-strategies-for-crm.html

Hope it helps..

Fixed – ExecuteMultiple Request batch size exceeds the maximum batch size allowed error while deleting records in Dynamics 365 On-Premise

Recently while trying to delete records we were getting the below error

It was occurring when we were selecting more than 20 records for deletion.

Turned out in the MSCRM_CONFIG database, somebody had updated the value to 20 of ExecuteMultipleMaxBatchSize column in the DeploymentProperties table

We updated it to its default value 1000 to get this fixed.

Hope it helps..

Plug-in Trace Logs only works in Sandbox mode in Dynamics 365 CE

In my current Dynamics 365 implementation, we are back in the On-Premise world, after many years.

We thought of using the Plugin-Trace logs but was surprised to see that the Plug-Trace logs were not getting generated.

After doing the search realized that it only works for the plugin registered in the Sandbox mode.

https://docs.microsoft.com/pt-pt/powerapps/developer/common-data-service/logging-tracing

https://community.dynamics.com/crm/f/117/t/189346

So for time being, we registered in it Sandbox to get the trace.

Found the below article that has the workaround (unsupported)

http://blog.intocrm.net/how-to-write-plug-in-trace-logs-outside-the-sand-box/

Meanwhile, we can also Vote for the Idea

https://powerusers.microsoft.com/t5/PowerApps-Ideas/Write-to-the-Plug-in-Trace-Log-from-assemblies-outside-SandBox/idi-p/222339

https://experience.dynamics.com/ideas/idea/?ideaid=abc7aceb-a8d9-e611-80c1-00155d460d59

Hope this helps..

User Defined Variable value not getting updated inside Data Flow in SSIS

While implementing integration packages between XML and Dynamics 365 CE, we had a requirement which required us to write a Script Component (custom code) in Data Flow task to check the status of a record in CRM and based on the value of it take appropriate action.

The initial thought was to create a user-defined variable and update the variable in the Script Component and use its value inside a new Derived Column and further in the CRM Destination Component.

However, to our surprise, although we can see the variable’s value being updated within Script Component while debugging, the same was not being reflected in the Derived Column and the Destination Component in that Data Flow task.

But within the next Script task of that Control Flow, we were getting the updated value.

Below is our sample source XML File

The package

The data flow task reads the above XML file and within Script Component it sets the value of fullname variable and we are putting its value within a Derived Column. SQL Server Destination is inserting all the values into a SQL table.

The Script Component à

The Derived Column à

The SQL Server Destination à

On running the package, the result à

It is still showing the default value.

Although we can see the value correctly updated

Now within the Script Task in the control flow, we are using a message box to show the value of that variable.

The result à

The reason for the above problem is SSIS package variables does not update during the execution of the data flow task. Those variables get updated once the Data flow task finishes. Therefore, we cannot use the updated value of the variable during the execution of a dataflow task.

Even though you could change the variable values within pre-execution or post-execution methods, it only takes effect on the value of the variable after the execution of the data flow task.

http://dineshpathirana.blogspot.com/2011/05/ssis-package-variables-cannot-update.html

So here instead of using the User Defined Variable, we used the Output column of the Script Component.

And we set the same inside the script editor.

Hope it helps.

Proposal Automation In Your CRM And What To Look Out For

CRM is a very versatile tool that’s often used for B2B sales and all its aspects, including tracking opportunities, leads, contracts, consolidating collaterals, documents and keeping contacts, tasks and events under one platform.

One of the most-overlooked essentials in B2B is the sales proposal process. But a timely CPQ, or Configure, Price, Quote software built in right on your CRM can give you that boost you’ve never had.

Thinking of adding CPQ to CRM? Consider these 7 elements to get the best system for your B2B needs.

  • Have an SSO, or Single Sign On to make everything easy for you and your users.
  • Can you use templates? This can speed up the process of generating new business and growing your company.
  • Analytics and Sales Reporting solidify the objectives and gives you something to aim for.
  • Integrations free up invaluable hours of your time by automating the apps you use for B2B.
  • Full support for your kind of business, and one that can give you the right CPQ from start to finish.
  • Value and scalability so you won’t have to pay more than what’s necessary. These days, it’s all about flexible pricing and zero annual licenses.
  • Last but not the least, you’ll need product flexibility that can adapt with the ever-changing B2B landscape.

Why Will You Need Single Sign On?

At first glance, having an SSO will mean a safer and more secure platform than without, but the biggest benefit you can take from this is complete accessibility. Sales tools must be visible and easy to get into so you and your staff can use it more. Plus, your CRM will be on the same platform as your tools, including your proposal.

In short, you’ll have the power to distribute, approve, create and collaborate on the proposal you’re working in one easy-to-use system that’s controlled by a single SSO, eliminating the need to install multiple software.

Are Templates Really That Important?

Proposals can mean the difference between landing your dream job and being stuck in your current situation. You’ll need a professional, high quality, detailed and engaging proposal or else it will get sent to where the sun doesn’t shine.

Templates can get you that stunning proposal quickly and consistently. Sales quotes won’t have to be done from scratch, thereby saving you time and effort. For business proposal templates that win deals, take a look at https://qwilr.com/templates/business-proposal-template/ and customize accordingly.

The end result? Cleaner, more professional proposals that show the client you’re really serious about your job. Automation and pre-filled templates can bring you there sooner than one without.

What About Reporting?

Sales processes are mainly made up of two parts- the sale itself and afterwards, the reporting. Metrics are there to be seen and analyzed so you can do better on your proposals the next time around. Real-time monitoring on the most important sales aspects mean you’ll be able to target areas of improvements to get better results the next time around.

When you learn how to read the data you’ll be more equipped to make the necessary adjustments for improved success. This is true of CPQ, CRM and A/B testing as well.

How Integration Can Benefit You

In the world of fast-paced B2B, the quicker you can point leads to your sales team, the greater the chances of turning a profit.

Automated proposal software integrated into your CRM platform is one of the best ways to close that gap. For example, you can use Zapier to connect to Microsoft Dynamics (on version 8 and above) and Qwilr with up to 20 unique configurations. Or, have the Microsoft Dynamics CRM tied to Qwilr easily and without having to input a single line of coding.

Here’s how the process works. Zapier connected to Qwilr supports the CRM account with automatic lead updates. Your sales team will know almost in real-time if there’s a possible lead they should follow. That said, it’s only a matter of time before your sales team becomes a well-oiled machine, nurturing proposals and getting more sales and profits.

The Role Of Support

You will need a CPQ that offers support for software development, maintenance and management. Free up all your time, concentrate on proposals and work on leads instead of having to do system troubleshooting.

Why Value and Scalability Are Important

B2B sales, mergers and growth can happen in the blink of an eye, and for that reason you will need a CPQ system that can keep pace. Moreover, while a good bargain is appealing, an invaluable partner is better for long-term success.

CRM Flexibility

Being able to spread winning bundles and create them via templates is one of the must-have features for CRMs as a whole. CPQ will make your sales team work as one even if they’re not all on the same office, area or location.

Applying XSLT transformation using the XML Task in SSIS

Using the XML Task component in SSIS we can apply XSLT to the input XML file.

Recently we had a requirement to read data from XML file and create/update corresponding records in Dynamics 365 CE. For the child entity tags in the XML, we wanted to insert some of the tags (key) from the parent to the child so that it can be easily used for mapping and setting the parent lookup.

For that we had used Foreach Loop Container to read the XML file, then had applied XSLT transformation using the XML Task before processing the file using XML Source Component and CRM Destination Component of KingswaySoft.

The XML task editor here is using 3 File Connection.

One for the input file, another for output and third for the XLST file.

Here need to select

  • Operation Type as XLST
  • Source Type as file connection as we are specifying XML file as input.
  • For output, we are creating an output XML file and overwriting the destination file if existing.
  • In the Second Operand, we are specifying the XSLT file.

For InputXMLTask file connection, we need to specify the user-defined variable that reads the file in its connection string property for it to work properly.

Same for OutputXMLTask

And for the XSLT File Connection

Let us take a simple example to understand it better à

Suppose below is our source XML i.e. Contact.xml

We want to apply following XSLT transformation to it, which adds the fullname tag to it which is a combination of firstname and lastname tag. i.e. XlsTransform.xslt

Drag the XML task to the control flow of the package.

Specify the following properties for it as shown below

Run the package we will get the below output file, a fullname tag added which is combination of firstname and lastname tag as below i.e. ContactOutput.xml

Hope it helps..

Order of attributes in Alternate Key in Dynamics CRM Destination Component in SSIS (KingwaySoft)

Recently we got the below error in one of our SSIS Packages

error

The packages were working fine in one of the environments and were failing in another.

It was throwing an error in one of the lookup fields that was referring to the alternate key. Here the alternate was defined with 2 fields.

As it turned out in another environment the order of the fields was changed for the alternate key field.

We recreated the alternate key field in the proper order of the attributes to fix this.

Hope it helps..