we have 2 records in stringmapbase table .
by running ssis package we update account related information from NAV to CRM .
question is how does crm application know to take 100000004 record into crm instead of 10000003 . is there any reason
and what is the versionnumber do in stringmapbasetable
any sugestions will be marked as verified
Examine the SSIS Package to see how it is mapping the AttributeValue column to the destination. You can use that information to work out how the value is set in CRM.
String map table used in MSCRM for storing the details of Option Set Fields exists in an organization .It contains all the data (Attribute Name, OptionSet name, option value , option name) of option set.
You can see there is a field called ObjectTypeCode which referees the entity for which the attribute belongs.OrganizationId is GUID of the owning Organization. So stringmap table is link to each entity for your organization with internal relationship.So every time when you are pushing data to CRM entity internally validate the value with strin map table.
Timestamp for determining the version of the record (when it was last updated). This is used by the synchronization process.
From your picture, the first columns is for knowing the entity ObjectTypeCode. So if you query "select * from entity where objecttypecode='1'" you already know which entity that you need.
If you only want to get the optionsetname, you can used filteredtable instead of querying into entity_base or entity (which is view also). Filtered_entity will give you all the information (If the entity have lookup, it will have lookupname, if entity have optionset, it will have optionsetname). For instance FilteredAccount.
but how does crm know that it should take the recent value instead of old one .is there any specific reasn or it is inbuilt feature of microsoft crm to take recent value
I am near to answer and will make as verified once i get reply for above comment thanks
I guess this is inbuilt off course as this is internal operation and reason why version number maintained in stringmap table.
It will be a feature of the SSIS Package. Depending on how it is setup you can import the 100000003 record, the 100000004 record, both records, or no records.
Actually you can check of one of the Filtered Views to know how they built the optionsetname. Then you will have a broader view how they construct the relationship.
Business Applications communities