This task is a step in “Process of Adding a Predefined Siebel Picklist to Siebel CRM Desktop” on page 185.
In this topic you add a field to the customization package.
To add a field to the customization package
1 Create a working set of files for the customization package:
Length 30
The value for this property must match the value that is set in the Length property of the Preferred Communications field.
Physical Data Type DTYPE_TEXT
The value for each of these properties must match the value that is set in the Type property of the Preferred Communications field.
External Data Type
External Sequence 500
For more information, see “Requirements for the Sequence Property” on page 190.
XML Sequence This value must equal the value in the External Sequence property. In this example, that value is 500.
XML Tag PreferredCommunications
The value for this property must match the field name on the Contact business component but with the spaces removed. This is the value you noted in Step j on page 187.
Property Value
a Open a DOS command prompt, and then navigate to the directory that contains the current files of the customization package.
For more information, see “About Files in the Customization Package” on page 144.
b Create a copy of the current set of customization package files.
c Move the original set of files to a backup directory.
If necessary, to restore the configuration that existed before you started this customization effort, you can revert to this backup set of files.
d To create a working set of customization package files, rename the set of files you copied in Step b.
For example, enter the following command:
rename v01* v02*
This command renames the prefix for all files in the directory that currently use v01 as the prefix. For example, it renames v01_forms_12.xml to v02_forms_12.xml. It is recommended that you use this technique to indicate that you have modified the customization package.
2 Verify that Siebel Tools added the integration object:
Use an XML editor to open the siebel_meta_info.xml file.
For more information, see “About Files in the Customization Package” on page 144.
a To locate the PickList_Preferred_Communications object, search for the following code:
<object TypeId="PickList_Preferred_Communications"
b In the header of the PickList_Preferred_Communications object, make sure the following attributes exist and with the correct value.
3 To define the picklist, add the following element to the siebel_meta_info.xml file:
<picklist TypeId='PickList_Preferred_Communications' CollectionTypeFld Name='Type' SrcObjectTypeId='PickList_Preferred_Communications'
ValueFldName='Value' LabelFldName='Value' LangFldName='Language' >
<master_filter_expr>
<![CDATA]
[Parent] = LookupValue ('OFFER_MEDIA', 'Package') ]]>
Attribute Value
IntObjName CRMDesktopPreferredCommPickList
SiebMsgXmlElemName PicklistHierarchicalSub-Area
SiebMsgXmlCollectionElemName ListOfCrmdesktoppreferredcommpicklist
</picklist>
For more information, see “Defining Attributes of the Pick List Element” on page 193.
4 Add the Preferred Communications field to the Contact object:
a To locate the Contact object, search for the following code:
object TypeID='Contact'
b Add the following code to the Contact object:
<field Name="Preferred Communications" Label="Preferred Communications"
DataType="DTYPE_TEXT" HasPicklist="yes" PicklistIsStatic="yes"
PicklistCollectionType="OFFER_MEDIA" PicklistTypeId="PickList Preferred Communications" IOElemName="PreferredCommunications" />
5 Repeat Step 4 for each of the following objects:
■ Account.Contact
■ Opportunity.Contact
In this example, these objects in the siebel_meta_info.xml file must include the Preferred Communications field. You must add this field to each object.
6 Add code that creates a map for the pick list between the Siebel Server and Siebel CRM Desktop for the parent Contact object:
a Use an XML editor to open the siebel_basic_mapping.xml file.
b Create a new object type for the pick list.
For more information, see “Code to Create a New Object Type for the Pick List” on page 193 c To locate the parent object, search the siebel_basic_mapping.xml file for the following code:
<type id="Contact"
d Add code to the Contact object that defines a map between the Siebel Server and Siebel CRM Desktop.
For more information, see “Code to Define a Map Between the Siebel Server and Siebel CRM Desktop” on page 195.
7 Add code that creates a map for the pick list between the Siebel Server and Siebel CRM Desktop for the child Account Contacts object:
a Choose the code from the contact object that you use to map the child account object.
For more information, see “Mapping Child Objects for a Custom Picklist” on page 196.
b Copy this code to the clipboard.
c To locate the Account Contacts child object, search the siebel_basic_mapping.xml file for the following code:
type id="Account.Contact.Association"
d To locate the Contact field, search in the Account.Contact.Association object for the following text:
field id="ContactId"
e To locate the matching ContactId, search the ContactId field for the following text:
user_field id="sbl Contact ID"
f Paste the contact fields that you copied to the clipboard in Step a into the following user field:
sbl Contact ID
For more information, see “Mapping Child Objects for a Custom Picklist” on page 196.
g To map the Preferred Communications field, add the following code immediately after the code you pasted in Step f:
<field from="Preferred Communications" to="ContactPreferred Communications"></field>
8 Repeat Step 7 for the opportunity child object.