Siebel CRM Desktop for IBM Notes Administration Guide > Customizing Picklists > Process of Creating Dynamic Picklists >
Modifying the Metadata, Basic Mapping, and Forms to Support Dynamic Picklists
This task is a step in Process of Creating Dynamic Picklists. In this topic you add fields to the metadata, basic mapping, and forms to support a dynamic picklist. To modify the metadata, basic mapping, and forms to support a dynamic picklist
- Add the picklist field to the metadata. Do Adding Fields to the Metadata to Support Static Picklists with the following modifications:
- Add the following code:
<field Name='JVD Industry' Label='JVD Industry' DataType='DTYPE_TEXT' HasPicklist='yes'PicklistIsStatic='yes'PicklistTypeId='PickList_Industry' IOElemName='JVDIndustry'/>
Note that this code does not include the CollectionType attribute because a dynamic picklist does not use the list of values that a static picklist uses. It also includes the PickList_Industry picklist type.
- Create the new PickList_Industry picklist type. You add the following code immediately after the code you added in Step a:
<picklist TypeId='PickList_Industry' SrcObjectTypeId='Industry' ValueFldName='Name' LabelFldName='Name' />
This picklist definition is not as complex as the picklist definition you use to create a static picklist. A dynamic picklist does not use a list of values and does not require the CollectionTypeFldName attribute. This example uses the predefined Industry object to get the picklist values.
- Add the JVD Industry field to the basic mapping. Do Adding Fields to the Basic Mapping to Support Static Picklists, but use the following code:
<field id="JVD Industry"> <reader> <lotus_std> <lotus_field id="JVDIndustry" /> <convertor> <string /> </convertor> </lotus_std> </reader> <writer> <lotus_std> <lotus_field id="JVDIndustry" /> <convertor> <string /> </convertor> </lotus_std> </writer> </field>
Bold text identifies the code that is different for a dynamic picklist.
- Create the type that stores the list of values. Do Modifying the Basic Mapping to Store Values for Static Picklists, but use the following code:
<type id="OpportunityJVD IndustryPicklist" predefined_folder="1" ver="1"> <form message_class="IPM.Contact.SBL.OpportunityJVD_IndustryPicklist"></form>
Bold text identifies the code that is different for a dynamic picklist. For more information about doing this step, see Step 4.
- Open IBM Domino Designer, and then add the field to the following form:
(SBL)form:opportunity
For more information, see Opening IBM Domino Designer.
- Upload and publish your work. Do Uploading and Testing Your Static Picklist.
- Test your work:
- Open the client and then navigate to the opportunity form.
- Make sure the form displays the Industry picklist.
- Choose the Industry picklist and then make sure it displays the appropriate values.
The picklist must display all the industries that are appropriate for the opportunity that Siebel CRM Desktop currently displays. For example:
- Banks
- Basic Materials
- Beef Cattle Feedlots
- Beef Cattle except feedlots
- Berry Crops
- And so on
|