Configuring Siebel Business Applications > Configuring Lists and Pick Applets > About Lists and Pick Applets >

About Dynamic Lists


This topic describes the dynamic list. It includes the following topics:

Similar to a static list, a dynamic list is a type of list that allows the user to choose a value from a list, and then Siebel CRM uses the value to update a field. Rather than getting the values from the list of values table, a dynamic list gets values from another business component that the user maintains. A field that uses a dynamic list is typically a joined field that displays data from a table other than the base table of the business component. The dynamic list allows the user to update the joined field.

You use a pick applet to display a dynamic list in the Siebel client. The pick applet allows the user to choose a value from a list, and then enter the value into a control or the cell of a list column. For more information, see Using the Pick List Wizard to Create a Dynamic List.

Example of How Data Flows in a Pick Applet

Figure 67 describes how data in the pick applet typically originates from a different business component than the business component that supplies data to the originating applet.

Figure 67. Example of How Data Flows in a Pick Applet
Explanation of Callouts

The following steps occur in this example:

  1. The user enters information for the Organic Cereals opportunity in the Opportunity Form applet, and then clicks Select.
  2. Siebel CRM displays the Account List pick applet and displays rows from the Account business component.
  3. The user chooses Account 1, Smith's Dry Goods, and then clicks OK.
  4. Siebel CRM enters Account data for Smith's Dry Goods into the Opportunity Form applet.

A dynamic list maintains the foreign keys that facilitate a join relationship. In the opportunity and account example, a foreign key in the Opportunity business component identifies the account for each opportunity. If the user chooses an account in the pick applet, then Siebel CRM enters data into this foreign key field. This choice associates the account with this opportunity for future use by the join that uses the foreign key. For example, if the user chooses a record in the pick applet, then it copies values in some list columns in the chosen record to corresponding list columns in the originating applet. In this example, the user chooses a parent account for an account record.

How Siebel CRM Creates a Dynamic List

Figure 68 describes the relationships between object types that Siebel CRM uses to create a dynamic list.

Figure 68. Relationships Between Object Types That Siebel CRM Uses to Create a Dynamic List

Figure 69 describes the objects that Siebel CRM uses to create a dynamic list.

Figure 69. Objects That Siebel CRM Uses to Create a Dynamic List
Explanation of Callouts

Siebel CRM uses the following objects to create a dynamic list:

  1. Originating applet. Contains the control or list column that calls the pick applet. After Siebel CRM calls the pick applet and chooses a value, it displays revised values in specific controls in the originating applet. In the example, the Opportunity Form Applet is the originating applet. For more information, see Originating Applet of a Dynamic List.
  2. Pick applet. Dialog box that Siebel CRM calls to choose a value. The dialog box is a list applet that contains a scrolling list table of rows. Each row corresponds to a business component record. In the example, the Account applet is the pick applet.
  3. Originating business component. Business component of the originating applet. This business component supplies the data that Siebel CRM displays in the originating applet. The selection process in the pick applet causes Siebel CRM to update the current record in this business component. In the example, the Opportunity Form Applet is the originating applet and it references the Opportunity business component.
  4. Pick business component. Business component of the pick applet. Data from fields in this business component display in the list columns of the pick applet. In the example, the Account business component is the pick business component.
  5. Originating control or originating list column. If the user clicks the originating control or list column, then the originating control or list column calls the pick applet. In the example, the Account control is the originating control.
  6. Originating field. Field in the originating business component that the originating control references. It includes child pick maps that define how Siebel CRM maps fields from the pick business component to the originating business component. In the example, the Account field is the originating field.
  7. Pick maps. Each pick map defines a relationship between a field in the pick business component and a field in the originating business component. If the user chooses a record, then these relationships provide the information that Siebel CRM requires to update the current, originating business component record with information from the pick business component record.

    If the user chooses a value from an unbounded list, then Siebel CRM uses the corresponding pick map that references the same field that it uses to copy the value to the field that it associates with the list. If the list is bounded, then Siebel CRM only enters data into fields that it associates with other child pick maps.

    Entering a new value in an unbounded list does not cause Siebel CRM to display the value in the list of values that the user can choose. It does not update fields in a pick map if the user chooses a value from an unbounded list. An applet that references the CSSBuscomp or the CSSBCBase class with an unbounded list does not map all the values in the pick map. To map all the values in a pick map, the list must be bounded.

  8. Pick list. References the business component of the pick applet. In the example, the PickList Opportunity Account pick list is the list.
  9. Join and join specification. The join is a child of the originating business component. The join specification is a child of the join. The join field references this child object. One of the pick maps updates the join field. If Siebel CRM modifies the value in the join field, then it updates all fields whose values it gets from the join. This update is not as immediate as the update that it does through the pick map. If the other pick maps are absent, then Siebel CRM does not update the data until the user navigates away from the view, and then returns to the view. In the example, S_ORG_EXT is the join and Account Id is the join specification.

Originating Applet of a Dynamic List

The originating applet contains the control or list column that calls the pick applet. It can contain other controls or list columns into which Siebel CRM enters data if the user chooses a value from the list applet. The originating applet does not require special configuration.

Figure 70 describes the details of the originating applet that Figure 68 includes.

Figure 70. Originating Applet of a Dynamic List
Explanation of Callouts

Siebel CRM uses the following objects in the originating applet of a dynamic list:

  1. Business component property. Creates the association between the originating applet and the originating business component.
  2. Originating control. Calls the pick applet if the user clicks the arrow. The Pick Applet property of the originating control defines the name of the pick applet. The Field property of the originating control defines the originating field. It includes definitions for the pick map child object. For more information, see Originating Business Component of a Dynamic List.

    The Runtime property of the control or list column must be TRUE.

  3. Controls that contain data from a pick applet and join. If the user chooses a value from the pick applet, then Siebel CRM updates each control that contains data from a pick applet and join.
  4. Controls not related to pick applet. Other controls in the applet.

Originating Business Component of a Dynamic List

The originating business component of a dynamic list is the business component that the Business Component property of the originating applet references. This business component supplies the data that Siebel CRM displays in the originating applet.

Figure 71 describes how Siebel CRM defines the originating business component of a dynamic list. This list is described in Originating Applet of a Dynamic List.

Figure 71. Originating Business Component of a Dynamic List
Explanation of Callouts

Siebel CRM uses the following objects in the originating business component of a dynamic list:

  1. Originating field. Provides data to the originating control. The originating field is the parent of the pick map. The Pick List property of the field specifies the pick list. A pick map is a child of an originating field. It supports pick applets on more than one field in the business component.

    The originating field must reference a database column. You cannot associate a pick applet or list with a read-only field, including a calculated field.

  2. Pick maps. Creates a relationship between a field in the pick business component and a field in the originating business component. This relationship provides the information that Siebel CRM requires to update the active record of the originating business component with information from the pick business component. One of the pick maps updates the join field. The join updates the business component fields that depend on the join.

    It is recommended that you test your pick map after you create it. If the value in the originating field remains the same after you choose a value from the pick applet, then you must check the pick map definition for that field.

  3. Field property. Identifies a field in the originating business component that contains data from a field in the pick business component when Siebel CRM calls the PickRecord method.
  4. Pick List Field property. Identifies a field in the pick business component that provides data for the field in the Field property of the pick map. Siebel CRM does the following:
    • If the user picks a value from an unbounded list, then it updates the fields in the pick map.
    • If the user types in a new value, then it does not update fields in the pick map.
    • If the user types a new value into a field that references an unbounded list, then it does not add the value to the list of values that the user can choose.

      You must not define more than one multi-value field in an originating business component that references the same destination field that the pick applet references in the Pick List Field Property. If you do this, then Siebel CRM does not display the arrow for the list and the user cannot use the list. For more information, see About the Multi-Value Field.

  5. Join field. Works as a foreign key in the join that the pick applet references. Typically, the name of the join field includes the Id, such as Account Id or Key Contact Id. Siebel CRM defines it in the Source Field property of the join specification. The join field is one of the fields defined in a pick map. If the user chooses a record from the pick applet, then Siebel CRM updates the join field and all fields that reference the join.

    The pick maps initially update fields in the originating business component and the controls or list columns that reference these fields. The join and join specification do not update the contents of the applet until the user navigates away from the view, and then returns to the view.

  6. Join and join specification. Sets up the join between the base table of the originating business component and the base table of the pick business component. Siebel CRM uses this join to update fields in the originating business component that include the name of the join in the Join property of the field.
  7. Fields that get data from the pick applet and join. If Siebel CRM modifies the value in the join field, then it updates fields that include the name of the join in the Join property. If the user chooses a value from the pick applet, then it updates the fields that it defines in the Field property of the pick maps.

    A pick map and a join update the same fields, but an update that involves a pick map is immediate. An update that involves a join is somewhat delayed. if the user picks a record, then a pick map can update the display value of a joined field. For example, with the Account Name joined field. A pick map does not physically copy a value to the joined fields. It only writes to the foreign key field. For example, Account Id.

  8. Pick list. The field of the originating control references the pick list. The Business Component property of the pick list references the pick business component.

    If you define a pick applet that a multi-value group applet calls, then define the list and the pick maps on the originating field in the originating business component. Do not define the list and the pick maps on fields in the child business component that the multi-value group applet references. For more information, see How Siebel CRM Creates a Multi-Value Group.

How Siebel CRM Constrains a Dynamic List

You can configure Siebel CRM to dynamically filter a pick applet to display only records that include a field value that matches a corresponding field in a record of the originating business component. This configuration is known as constraining a list. For example, you can define the pick applet for a contact that an applet that displays quotes calls so that the pick applet only displays contacts that Siebel CRM associates with the account for the current quote. For more information, see Constraining a Dynamic List.

Figure 72 describes how Siebel CRM constrains a dynamic list. It includes details of the pick business component that Figure 68 describes.

Figure 72. How Siebel CRM Constrains a Dynamic List
Explanation of Callouts

Siebel CRM uses the following objects to constrain a dynamic list:

  1. Pick applet. Displays only contacts that contain the same account, account Id, and account location as the quote. To do this, you define a constraint pick map as a child of the Contact Last Name field. This is in addition to the predefined copy pick map object definitions that define pick behavior.
  2. Pick map. The following types of pick maps are available:
    • Copy pick map. Updates the current record in the originating business component with information from the pick business component. For more information, see Originating Business Component of a Dynamic List.
    • Constraint pick map. Displays only the records that contain a matching value in a corresponding field in the originating and the pick business component. A constraint pick map causes Siebel CRM to filter the records that it displays in the pick applet. For more information, see Constraint Pick Map Acts as a Predefault Value.

      If the Constrain property of the pick map is:

    • TRUE. The pick map is a constraint pick map.
    • FALSE. The pick map is a copy pick map.
  3. Pick business component. The business component that the pick applet references. Siebel CRM displays data from fields in this business component in the list columns of the pick applet.
  4. Fields that Siebel CRM displays in the pick applet. Enters data into the list columns in the pick applet. The Field property of the corresponding list columns in the pick applet reference these list columns. Siebel CRM includes some of the same fields in the Pick List Field property of Pick Map object definitions. These fields have a role in updating corresponding fields in the originating business component.
  5. Fields that Siebel CRM does not display in the pick applet. Siebel CRM does not display these fields in list columns that reside in the pick applet, but it does include some of these fields in the Pick List Field property of the object definitions for a Pick Map. Such fields have a role in updating corresponding fields in the originating business component.
Constraint Pick Map Acts as a Predefault Value

A constraint pick map uses the new record that Siebel CRM adds from a pick applet as a predefault value. For example, assume the user chooses a record in the Quotes list that is associated with an account, and then clicks the Opportunities control in the form for the quote. The user then adds a new opportunity in the Pick Opportunity dialog box with no account included. Siebel CRM assigns the new opportunity to the constrained account. This situation occurs if the Constrain property of the Account Id pick map of the Opportunity field in the Quote business component is TRUE.

Foreign Key Field Must Be Constrained

If the constrained field references a joined table in the pick business component, then the foreign key field must be constrained. If the foreign key field is not constrained in this situation, and if the user creates a new record in the pick applet, then Siebel CRM displays an error that is similar to the following:

This operation is not available for read-only field

Configuring Siebel Business Applications Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.