Siebel CRM Desktop for Microsoft Outlook Administration Guide > Customizing Siebel CRM Desktop > Customizing the User Interface >

Adding a Default Value to a Field


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

CRM Opportunity

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 About 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 the Default Value.
    • 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 a Customization Package.

Setting the Default Value

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 a Fixed Default Value

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 a Default Value That Is 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 the Default Value for a Function

To set the default value for a function, you set the default_source variable of the create_siebel_meta_scheme2 function 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. To determine the currency code to set for the account, it calls the get_default_currency_code function:

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 the Default Value For a Link

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

initial_links_fn

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 © 2012, Oracle and/or its affiliates. All rights reserved. Legal Notices.