The recurring appointment is new enhancement in Microsoft Dynamics CRM 2011 and I will show you how to customize it with respect to your organization’s need. After reading this post, you can able to create fields in recurring appointment entity and link it to a field in appointment entity. After creating the link, the expansion of recurring appointment will correctly copy the data in the created field to respective recurring instances.
Recurring appointment is a template which has some recurrence rule for series expansion and data to create recurring instances. For example, consider a weekly series which has 10 occurrences, starts on 23-Nov-2010, occurs from 11:00 AM to 11:30 AM, has subject “Weekly Performance Meeting” and Location “Meeting Room 123 at Second Floor”. When the series is expanded, it will have 10 recurring instances (actually appointments) with subject “Weekly Performance Meeting”, location “Meeting Room 123 at Second Floor” and occurring from 11:00 AM to 11:30 AM.
It’s very easy to move data from recurring appointment to their instances for system fields, like recurring appointment’s subject data will copied to their instances’ subject field. But how will customization work for them? Microsoft Dynamics CRM 5 has solved this issue with “linked field” property. Now user can create a custom field (say F1) in appointment, another custom field (say F2) in recurring appointment and link them, so that while expansion, data will move from recurring appointment’s field to instance’s field (F1 to F2).
There are three scenarios possible for any recurring appointment custom field:
- This field is not applicable for appointment entity. You can select mapping status as “ignore mapping”.
- Corresponding destination field is already created in appointment entity. You want to link with recurring appointment’s field.
- Corresponding destination field is not in appointment. While creating link, you want that field to be created in appointment entity.
How to create linked field in recurring appointment:
Here is an example how you can create linked filed. Let assume your appointment entity has custom fields “City”, “Product” and “Flavor”. All of these are string fields and city has field length 100 while Product and Flavor has field length 50.
Now when you open the field form for recurring, you will see 3 values in “select field” list: Ignore mapping, City and Create New.
“City” field is listed here because maximum length is set to 100 and appointment has only one custom field which has maximum length 100 which is “City”. As you change the maximum length to 50, list changes and now it has 4 values: “Ignore mapping”, “Flavor”, “Product” and “Create new”
For linking of fields, all of their attributes must be same (e.g. Type, Format etc.).
As you select the field, saves the form and publishes the changes, link gets created and starts working.
What’s “Create new”?
This is a time-to-value feature for linked field, where at the time of linking, you can create appointment’s field at the same time (if it not already exists). It will reduce one step for you to create appointment’s field first.
This feature is not available for “lookup” data type, because on create of “lookup” data type field a new relationship also gets created. Here you need to first create “lookup” field in appointment entity and then link with recurring appointment entity’s field.
What happen when the linked field gets updated or deleted?
This is again a fantastic feature of linked fields, where if you update Recurring appointment or Appointment field, respective linked field also gets updated.
If recurring appointment’s field gets deleted, then there is no impact on appointment field, because it’s one directional linking. On the other hand, deletion of appointment’s field will trigger an update on recurring appointment’s field remove the link.
Field Level Security and Linked fields
Field Level Security (FLS) and Linked fields are mutually exclusives feature because user may have different FLS profiles for recurring appointment‘s field and appointment’s field, which will cause issues in data flow while expansion.
That’s why you cannot link the custom attributes that have FLS enabled. Similarly, you cannot enable field-level security for linked custom attributes.