The recurring appointment functionality was introduced in Microsoft Dynamics CRM 2011. It allows users to create many recurrences of an appointment, without having to manually enter each occurrence. In this blog, I will be concentrating on easily creating and mapping (linking) custom fields between the recurring appointment entity and the appointment entity but not cover setting up appointments with reoccurrences. This blog will apply to Microsoft Dynamics CRM 2013 and Microsoft Dynamics CRM 2015, as the functionality has been tested and confirmed working in these environments.
In a business scenario, let’s create a custom field in Recurring Appointment Entity called Appointment Notes. This field will be a text field that will allow the user to include some highlights regarding the appointment. Remember, a recurring appointment is just many of the same appointments. This field will be on the appointment form and will be editable.
A few things to note while creating the custom field:
- In the Specify Display Name field, this will not only be the display name for the newly created field on the appointment entity, but also the schema name. This is important because you will not be able to change the schema name after the field is created, but will be able to change the display name.
- You cannot use field security and the Data Propagation functionality together on the custom fields.
- If you have a custom field with the Data Type of Lookup, you cannot use the Data Propagation functionality. You will have to create the needed lookup field in the appointment entity.
- If the Data Type of the custom field requires a maximum length value, you cannot edit this value after creating the field like with normal custom fields. It will give an error of Invalid Argument if you try to edit this after the field has been created.
- If you go into edit an out-of-box field, you will notice in the window the mapping will already be created by default and will be greyed out. You cannot change the mapping for out-of-box fields between recurring appointment and appointment entities using the Data Propagation functionality.
At the bottom of the window you’ll see a section called Data Propagation. As you can see, there is no existing mapping at first when creating a custom field.
When choosing the Select Field drop down option, you are given the ability to create a new field. This option will create a new field in the appointment entity and will map the data between the two entities.
For the purpose of this blog, I’m just going to leave the default display name as Appointment Notes. Once you have chosen what you want your field to be called on the appointment entity, you must click the Validate button for Dynamics CRM to confirm it is not already being used in the appointment entity.
Once you have validated the field name is available, save the field. You will now see the new field just created is on the appointment entity.
This is an easy way to create custom fields in both entities while ensuring the fields are identical in both entities.
Key things I ran into during testing
Now that both fields have been created, let’s say you want to edit the field. For this example, we will add a description, however this will apply to most options that are editable after the field is created. You may edit the field from either entity. However, the changes will not carry over to the other entity the field is mapped on.
The pop-up message received, when saving the Appointment Notes custom field on the appointment entity, pictured below, sounds like it’s saying the changes will be applied to the mapped custom field on the recurring appointment entity. In my testing, this was not the case. I had to make the changes in both places to be effective. I believe this is a Microsoft issue, however, I cannot confirm as I never opened a Microsoft support ticket regarding this.
Pop-up after editing and saving the field changes on the Appointment Entity
Another interesting feature I came across using Data Propagation, is the mapping of an already existing field in the appointment entity to recurring appointment entity. For this example I will create a field called Appointment Topics. This field will be a text field with 1,000 maximum length, and all other options left as default.
Now that we have that custom field created in the appointment entity, let’s create the same field with the same options in recurring appointment. You’ll notice when I click the drop down menu for Select Field in the Data Propagation section, the custom field just created in appointment entity shows up as an option to choose for the mapping.
You’ll notice however, when I change the maximum length of the field, the option to map to the Appointment Topics field using Data Propagation is no longer available.
Another issue I ran into during testing was during transferring solutions with custom fields using Data Propagation in the solution. There was a client who had a managed solution in their Dynamics CRM 2013 environment. When trying to import a managed solution with just the appointment and recurring appointment entities, with the required components, the mapping functionality of the fields did not map correctly. The Data Propagation mapping was there, but the fields were not mapping the data between the different forms as they should been. I did open a Microsoft support ticket, however, they were not able to find a solution in the time the client needed it fixed.
This concludes the in depth look into Data Propagation functionality. I hope you all enjoy learning about this functionality as much as I did. If you have more questions about this functionality, please leave a comment below. If you like the tips provided in this blog, please [Tweet this post]. RSM is a national Microsoft Dynamics partner offering Microsoft Dynamics CRM services throughout the United States. We’ve helped a number of organization extend their Dynamics CRM functionality. Please contact our professionals at [email protected] or 855.437.7202 to learn more.
By: Chris Carley – Minnesota Microsoft Dynamics CRM partner