Tips for scheduling integrations between Dynamics ERP and Dynamics CRM
Connector for Microsoft Dynamics gives administrators the ability to independently schedule integration runs between a source and destination entity at regular intervals. This provides the flexibility to optimize your network and system resources utilization and also allows you to tailor Connector to your business' unique requirements. This post will provide you with a walk through of how to actually change the schedule, as well as provide you with some business scenarios for why you might want to change the schedule for various maps.
Changing the schedule for a given map / entity pairing
The schedule for a given map can be accessed from that map's "Status" section, which appears at the top of the mapping window in the Connector client, as shown below:
After clicking the "Edit" link following the "Check for Changes:" row, you will be see the following dialog, which will then allow you to change the recurrence pattern and start time for this map.
Changing a map's Start Time
The "Start" value listed above, is the date and time that this map will start running using the "Recurrence Pattern" listed next. For example, the settings in this screen shot will cause a map to start running on 1/19/2011 at 1:56 PM and will run the map again 30 seconds after that initial run has succeeded and again 30 seconds after every successful run. The "Start" value can be any valid date and time, but an interesting use of this field would be to schedule a map to run over a weekend or during some other low-traffic time. For example, if you are configuring your initial sync between a Dynamics ERP and Dynamics CRM and you know that there are several 10's of thousands of records that will be integrated using this map - you might want to have it start on a Saturday. This would allow for less network bandwidth requirements and also place less demand on your servers (assuming that your business is not operating at a high volume on Saturdays.)
Changing a map's Recurrence Pattern
The "Recurrence Pattern" value listed above is the interval between the last successful run of this map and the next attempted run of this map. In this example, the source entity for this map will be queried for changes 30 seconds after the current set of records have been successfully integrated. It's important to note that this is an interval between runs and not a fixed schedule. This means that this map will not be run every thirty seconds but rather every (total time required to integrate a set of records) + 30 seconds. So if the current run of this map will require 400 seconds to process its records, then the next run of this map will be 430 second from the starting point of the current run or 30 from the end of the current run. The options for the recurrence pattern are described in detail next.
- Once - this setting will cause a map to be run only once. This is accomplished by running the map immediately after this setting is saved and then updating its start time to be 12/31/9999 (which is the maximum date/time allowed). This then causes the map to never be run again. If you should need to run this map again, you can simply set the "Start Time" to a date in the past or to one that is suitable for your particular needs in the future.
- Recurring - this is generally the most common setting and enforces the map recurrence behavior described above. Most maps are installed by default with this option and a setting of 45 seconds. Since this setting is per map, you have quite a bit of flexibility to set these runs to be as intensive or as infrequent as your business requires. One example of a map that you most likely will only need to run every few weeks would be the "Unit of Measure" map. Generally, most businesses run with a standard set of units that they work in and these units rarely (if ever) change so there really isn't a need to run this map more than occasionally to ensure that a unit hasn't been inadvertently deleted from Dynamics CRM. In fact, the Unit of Measure map might be a good candidate for running only once, depending on your business needs. Another good example of two maps that you might want to run on different schedules would be the Customer and Sales Order maps. Let's say that your business adds two or three new customers per week, but that your existing customers are placing several orders per day. In an effort to maximize network bandwidth and system resource utilization, the Connector administrator would most likely set up the Account to Customer and Customer to Account maps to run on a once per day recurrence pattern, while the Sales Order maps would be running every few minutes. There would definitely be a chance with this pattern that a new order could be placed for a customer that has not been integrated, however the Connector's retry mechanism would detect this and begin retrying the order on an ever increasing time interval, since eventually the Customer will be integrated and then the order will succeed on its next retry attempt.
- Weekly - this setting will cause a map to be run once per week on the day specified at 12:00 AM. This setting is great for businesses that run in a batch mode. For example if your business batches all of its transactions on a certain day of the week, then then Connector could schedule those records for integration once per week - either after or before your batching operation runs. This way the integration is not using network or system resources when it doesn't have to and is following your business's normal operations schedule.
- Continuously- this setting will cause a map to start its next run immediately after its current run has finished. Think of this setting as the same as the "Recurring" setting with zero seconds between runs. If you are running with extremely high volumes of integrated records, then this setting will get you as close to real-time as possible but it is important to note that this setting IS NOT real-time. Let's say that you are selling via a web store and that the storefront is built in Microsoft CRM, such that each new order creates a new Sales Order in CRM and that you need those orders to appear in the Dynamics ERP in as close to real-time as possible. You would use the continuous setting to achieve this type of behavior, but be aware that it can be very system and network intensive to use this setting. It is encouraged that you perform a thorough analysis of your needs before deciding to use this setting and that it only be used on one map in one direction.
Saving your changes
Click the "Save" button after ALL map changes to persist those changes to the database.
Comments
Anonymous
November 01, 2011
Hello, might not be the appropriate place to ask this question here, but I'm really stuck and not sure what to do. So hopefully you could provide some idea. I edit the schedule and set it to run every 30 seconds but the "Last Run Time" is never update at all, stuck at the default value of "12/31/1752 6:00:00 PM". The service status is showing as running but nothing seem to be happening at all. Is there anything else I should be looking into? thanks very much for any help.Anonymous
November 14, 2011
In the past, we have seen issues where the client has become “disconnected” from the Connector service and therefore the client does not properly display the true status. Here are two suggestions:
- Use the Services MMC console (services.msc) to verify that the Connector service is up and running.
- Close down the Client and then restart it. (Best place to log general questions on Connector and get responses is in https://community.dynamics.com)