Mapping Child Objects for a Custom Picklist

It is recommended that you do not map a child object directly in the child object. Instead, you can copy values from the parent object and then paste them into the child object. This technique provides the following advantages:

  • Allows Siebel CRM Desktop to copy values on the contact to the child object, such as the account or opportunity.

  • If the user changes the value in a contact, then Siebel CRM Desktop automatically updates the child objects.

Example Code That Maps Child Objects for a Custom Picklist

The following illustrates the example code you use to map a child object for a custom picklist.

<type id="Account.ContactAssociation" ...>
... 
<field id="ContactId" ver="3">
   <reader class="mapi user">
      <user_field id="sblContactID" ol_field_type="1"></user_field>
      <convertor class="binary_hexstring"></convertor>
   </reader>
   <writer class="multiwriter">
      <writer class="outlook_user">
         <user_field id="sblContactID" ol_field_type="1"></user_field>
         <converter class="binary_hexstring"></convertor>
      </writer>
      <writer class="link fields>
         <field from="DisplayName" to="ContactName"></field>
         <field from="M/M" to="ContactM/M"></field>
         <field from="First Name" to="ContactFirstName"></field>
         <field from="Last Name" to="ContactLastName"></field>
         <field from="Job Title" to="ContactJobTitle"></field>
         <field from="work Phone #" to="ContactWorkPhone"></field>
         <field from="Cellular Phone #" to="ContactCellularPhone"></field>
         <field from="Email Address" to="ContactEmailAddress"></field>
         <field from="Status" to="ContactStatus"></field>
         <field from="Preferred Communications" to="PreferredCommunications"></field>
      </writer>
   </writer>
</field>
... 
</type>

The example code to map a child object for a custom picklist includes the following items:

  1. The following attribute identifies the account child object of the parent contact:

    type id="Account.Contact.Association"
    
  2. The following tag identifies the Contact field in the account object:

    field id="ContactId"
    
  3. The following attribute identifies the matching ContactId:

    user_field id="sbl Contact ID"
    
  4. You copy these fields from the parent contact object and then paste them into the account child object.

          <writer class="link fields>
             <field from="DisplayName" to="ContactName"></field>
             <field from="M/M" to="ContactM/M"></field>
             <field from="First Name" to="ContactFirstName"></field>
             <field from="Last Name" to="ContactLastName"></field>
             <field from="Job Title" to="ContactJobTitle"></field>
             <field from="work Phone #" to="ContactWorkPhone"></field>
             <field from="Cellular Phone #" to="ContactCellularPhone"></field>
             <field from="Email Address" to="ContactEmailAddress"></field>
             <field from="Status" to="ContactStatus"></field>
    
  5. You add the Preferred Communications field to allow you to add it to Account Contact forms. You create this field in Code That Creates a Map Between the Siebel Server and Siebel CRM Desktop.

             <field from="Preferred Communications" to="PreferredCommunications"></field>
          </writer>