Data Controls Implementation Guide

Data Controls Implementation Guide

Import Configuration

Duplicate Prevention control lets you create new records using data available in the Hub, in the application embedding the control. The control sends data of the selected matched record as content of ON_IMPORT event. The matched record is then serialized into a string in JSON format (in this string fields of numeric types are converted into string using Java
String.valueOf
method, values of date/time columns are converted into string using format 'M-d-yyyy H-m-s'). The format of JSON string and the list of imported objects and fields are configured using the
mdmEntity
element:
<mdmEntity name="<IDD object name>" sourceEntity="<object name in JSON>" maxOccur="<max objects to export>"> <columnMapping columnUid="<column UID>" sourceColumn="<column name in JSON>"/> <columnMapping columnUid="<column UID>" sourceColumn="<column name in JSON>"/> ... </mdmEntity>
The
mdmEntity
element has following attributes:
name
Name of the IDD object (SubjectArea, Child or Grandchild) that must be imported.
sourceEntity
Name of the object in the generated JSON string.
If the embedding application converts this string into a JavaScript object, then this name must be a valid JavaScript variable name and must not start with a number.
maxOccur
Maximum number of objects to be imported for children and grandchildren controls.
If this attribute is not specified, then only 10 objects are imported. To import all objects, the value must be set to
-1
. This attribute is ignored for Logical One:One children, where only 1 child is imported.
Only objects and fields that are explicitly specified in the configuration are imported. If import configuration is not specified, then all fields of the SubjectArea's PrimaryObject are imported.
Consider a scenario where the SubjectArea Perso, has children Telephones and Addresses, and the Addresses child has the AddressesSerivces grandchild. If the imported data must contain only PrimaryObject's data, all the Addresses children and no more than five AddressesServices grandchildren, then the following import configuration can be used:
<?xml version="1.0" encoding="UTF-8"?> <pmcConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="
siperian-bdd-config-6.xsd
" import=”true” systemName="SFDC"> <mdmEntity name="Person" sourceEntity="Person"> <columnMapping columnUid="C_PARTY|FIRST_NAME" sourceColumn="FirstName"/> <columnMapping columnUid="C_PARTY|LAST_NAME" sourceColumn="LastName"/> <mdmEntity name="Addresses" sourceEntity="Addresses" maxOccur=”-1”> <columnMapping columnUid="C_ADDRESS|CITY" sourceColumn="City"/> <columnMapping columnUid="C_ADDRESS|STATE" sourceColumn="State"/> <mdmEntity name="AddressesServices" sourceEntity="AddressesServices " maxOccur=”5”> <columnMapping columnUid="C_ADDRESS_SERIVE|PHONE" sourceColumn="Phone"/> </mdmEntity> </mdmEntity> </mdmEntity> </pmcConfig>
following sample code handles ON_IMPORT event and works with JSON string:
function handleImportEvent(event) { var importedRecordString = event[‘record’]; // convert JSON string into JavaScript object var importedRecord = eval(‘(’ + importedRecordString +’)’); // get FIRST_NAME field of PrimaryObject var firstName = importedRecord.Person.FirstName // get CITY field of first child Addresses var city = event[record].Addresses[0].City // get PHONE field of AddressServices grandchild var phone = event[record].Addresses[0]. AddressServices[0].Phone; }
The
import
attribute can be used to disable the import functionality. If it is disables, then the import button is not displayed. By default, the import functionality is enabled). To disable the import functionality, set the import attribute to
false
, as shown in the following example:
<?xml version="1.0" encoding="UTF-8"?> <pmcConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="
siperian-bdd-config-6.xsd
" import=”false” systemName="SFDC"> </pmcConfig>

0 COMMENTS

We’d like to hear from you!