Just want to share my experience of using KingswaySoft’s OptionSet Mapping Editor and how easy and efficient it makes to migrate data in Microsoft Dynamics 365 CE.
Here our SQL (OLE DB Source) was having following values for Phone Code field. Here we are doing upsert for the Contact entity.
However inside CRM, we were only maintaining or dealing with few of the values as shown below for the corresponding field.
To deal with this situation, inside SSIS Package, drag the Dynamics CRM OptionSet Mapping component.
In General page, specify the input column of the table and for target properties, specify the CRM Connection Manager, Entity and the field to which we are mapping the input to.
Here we need to explicitly define input value and option set value mapping, for each of the option set values for the field inside CRM, because the source doesn’t have the “+” appended to it i.e. unmatched values only.
Here we have defined the mapping
Now for the extra values that source have, we want it to map it to Others option set value inside CRM.
For this in Action Drop-Down select “Replace as an existing option” and in “Replace as” select the Others option set value.
If we want to create the missing input value as an option set value we can use Create Option Action
- Set as empty will simply ignore the unmatched input values and would pass blank for them.
- Leave it as is will not do any manipulation and will pass the input values as it is.
- Raise an error as the name suggests will throw an exception.
Get all the details here
Hope it helps..
16 thoughts on “How to – Easily map OptionSet using CRM OptionSet Mapping Editor in SSIS”
I am new to Kingswaysoft and facing an issue. My source optionset has two values
Value-96637000 text- Plant
Value-96637001 text- Depot
and target has as mentioned below
Value-1 text- Plant
Value-2 text- Depot
I am getting the error that value is too large for target optionset. and not able to do the mapping with optionset mapping control as my text values are same. it automatically removes that mapping as text values are same.
What should the probable solution?
Hi Vrushali you can use the text of source as it has the same value as our CRM Destination. you do not need to use the Options Set Mapping component here.
We only need to use that optionset mapping component if the values are different (labels) or we want to handle non matching values in specific manner, else we can directly map them inside CRM Destination Component.
Thanks NIshant for quick resposne. Let me check and see if it works for me. I think I have tried that but wasn’t working. Might be missing something.
You’re Welcome. Sure check and do let me know.
hi, im working with this component, but i dont find a manner to not insert an empty value… i dont want to create it, i dont want to replace it, and i dont want to insert an empty value… what can i do to ignore those values. There is not an output error.. is just raise an error and stopt completly the package. Thanks gor your help.
Why not Set as empty ? You’d get the expected result. No values set in optionset field ?
I tried the same way , value is not replacing.
source has; (option set)
target has; (option set)
Now, i used the input value as ‘6’ againt optionset value ‘Company1’
Nothing is changing here
Here input value can be either company 1 or 123 and the optionsetvalue will be 6