Adding Fields to the Customization Package
This task is a step in Process of Creating Predefined Picklists.
In this topic you add a field to the customization package.
To add a field to the customization package
Create a working set of files for the customization package:
Open a Windows command line and then navigate to the directory that contains the current files of the customization package.
For more information, see Files That the Customization Package Contains and Using the Windows Command Line to Set Optional Parameters.
Create a copy of the current set of customization package files.
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.
Create a working set of customization package files. You 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.
Verify that Siebel Tools added the integration object:
Use an XML editor open the siebel_meta_info.xml file.
For more information, see Files That the Customization Package Contains.
Locate the PickList_Preferred_Communications object. You search for the following code:
<object TypeId="PickList_Preferred_Communications"
In the header of the PickList_Preferred_Communications object, make sure the following attributes exist and with the correct value.
Attribute Value IntObjName
CRMDesktopPreferredCommPickList
SiebMsgXmlElemName
PicklistHierarchicalSub-Area
SiebMsgXmlCollectionElemName
ListOfCrmdesktoppreferredcommpicklist
Create the picklist. You 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') ]]> </master_filter_expr> </picklist>
For more information, see Specifying Attributes of the Pick List Element.
Add the Preferred Communications field to the Contact object:
Locate the Contact object. You search for the following code:
object TypeID='Contact'
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" />
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.
Add code that creates a map for the pick list between the Siebel Server and Siebel CRM Desktop for the parent Contact object:
Use an XML editor to open the siebel_basic_mapping.xml file.
Create a new object type for the pick list.
For more information, see Code That Creates a New Object Type for the Pick List
Locate the parent object. You search the siebel_basic_mapping.xml file for the following code:
<type id="Contact"
Add code to the Contact object that defines a map between the Siebel Server and Siebel CRM Desktop.
For more information, see Code That Creates a Map Between the Siebel Server and Siebel CRM Desktop.
Add code that creates a map for the pick list between the Siebel Server and Siebel CRM Desktop for the child Account Contacts object:
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.
Copy this code to the clipboard.
Locate the Account Contacts child object. Search the siebel_basic_mapping.xml file for the following code:
type id="Account.Contact.Association"
Locate the Contact field. Search in the Account.Contact.Association object for the following text:
field id="ContactId"
Locate the matching ContactId. Search the ContactId field for the following text:
user_field id="sbl Contact ID"
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.
Map the Preferred Communications field. You add the following code immediately after the code you pasted in step f:
<field from="Preferred Communications" to="ContactPreferred Communications"></field>
Repeat step 7 for the opportunity child object.