Siebel CRM Desktop for Microsoft Outlook Administration Guide > Customizing Siebel CRM Desktop > Customizing Field Behavior >

Adding Default Values to Fields


This topic describes how to configure Siebel CRM Desktop to add a default value to a field when the user creates a new record. The example in this topic configures CRM Desktop to add the following default value to the Opportunity Name field:

CRM Opportunity

For more information, see Customizing Defaulting.

To add a default value to a field

  1. Use a JavaScript editor to open the business_logic.js file.
  2. Add the following code to the end of the create_siebel_meta_scheme2 function:

    scheme.objects.get_object("object_type").get_field("field_name")["default_source"] = default_value;

    where:

    • object_type is the name of the object type identifier of the object type that resides in the siebel_basic_mapping.xml file. This file includes definitions for object types. Each definition includes an Id attribute. This attribute is the object type identifier that you must use for the object_type. For more information, see Customizing Field Mapping.
    • field_name is the name of a field that resides in the object type definition in the siebel_basic_mapping.xml file.
    • default_source identifies the source for the default value. For more information, see Setting Default Values.
    • default_value defines the default value that CRM Desktop adds.

      For this example, you add the following code:

    scheme.objects.get_object("Opportunity").get_field("Name")["initial_value"] = "CRM Opportunity";

  3. Save and close the business_logic.js file and then test your work.
  4. Republish the customization package.

    For more information, see Republishing Customization Packages.

Setting Default Values

This topic describes the values that you can use to specify the source of the default value. You specify this value in the default_source variable of the create_siebel_meta_scheme2 function.

Setting Fixed Default Values

To set a fixed value, you set the default_source variable of the create_siebel_meta_scheme2 function to the following value:

initial_value

You typically use this format with a number that does not require a translation, such as a Boolean number or an empty string where the default value is empty. You use the following format:

scheme.objects.get_object("object_type").get_field("field_name")["initial_value"] = value;

Example 1

To set the Appt PIM Flag field that resides in the Action object, you use the following code:

scheme.objects.get_object("Action").get_field("Appt PIM Flag")["initial_value"] = true;

This example sets the default value to true. It does not use a list of values. The Appt PIM Flag field is a Boolean field.

Example 2

To set the country code for the phone number to a default value when the user creates a new account, you can use the following code:

scheme.objects.get_object("Account").get_field("MainPhone Number")["initial_value"] = "+31";

Setting Default Values That Are Language Dependent

To get a language dependent value from the resource file, you set the default_source variable of the create_siebel_meta_scheme2 function to the following value:

initial_value_res

This value uses the value that Siebel CRM Desktop defines in the package_res.xml file and in each language-specific package_res_XX_yy.xml file. It allows you to use a different default value for each language. If the MLOVs (multi-value lists of values) are correctly configured on the Siebel Server, then CRM Desktop stores the correct Language-Independent Code on the server. You use the following format:

scheme.objects.get_object("object_type").get_field("field_name")["initial_value_res"] = resource_key;

Example

The following example specifies to set the default value of the Display field that resides in the Action object to the value that the lang_action_display_activities_only resource key contains:

scheme.objects.get_object("Action").get_field("Display")["initial_value_res"] = "lang_action_display_activities_only";

The following values in the resource file determine the default value:

  • The English resource file includes the following code:

    <str key="lang_action_display_activities_only">Activities Only</str>

    At run time CRM Desktop sets the default value in the English client to Activities Only.

  • The Dutch resource file includes the following code:

    <str key="lang_action_display_activities_only">Alleen activiteiten</str>

    At run time CRM Desktop sets the default value in the Dutch client to Alleen activiteiten.

Setting Default Values for Functions

To set the default value for a function, you set the default_source variable of thecreate_siebel_meta_scheme2function to the following value:

initial_value_fn

This value uses a function that returns a value. It allows you to do more complex lookups. You use the following format:

scheme.objects.get_object("object_type").get_field("field_name")["initial_value_fn"] = function_name;

Example

The following example comes predefined with Siebel CRM Desktop. It calls the following get_default_currency_code function to determine the currency code that CRM Desktop sets for the account:

scheme.objects.get_object("Account").get_field("Currency Code")["initial_value_fn"] = get_default_currency_code;

The following predefined code defines the get_default_currency_code function. You can also write your own function that provides a default value:

function get_default_currency_code(ctx)
{
  var defaults = helpers.get_defaults(ctx.session);
  var currency_id = null;
  if ((defaults != null) && (defaults["CurrencySymbol"] != null))
{
  var currency = ctx.session.open_item(defaults["CurrencySymbol"]);
    if (currency != null)
    {
    currency_id = currency.id();
    }
  }
return currency_id;
}

Setting Default Values For Links

To set the default links that Siebel CRM Desktop uses for an object type, you set the InitialLinksCallback property of the descriptor that this object type uses to an instance of the class that CRM Desktop gets from the CallbackObject class. CRM Desktop uses this property to create the initial links. The following example uses a multi-value group that returns multiple records:

scheme.objects.get_object("Account")["initial_links_fn"] = prefill_team;

This example uses a multi-value group that associates multiple records. To add multiple team members instead of setting a single value, you can use a function that you specify elsewhere and use the following source:

initial_links_fn

Siebel CRM Desktop for Microsoft Outlook Administration Guide Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices.