Configuring Siebel Business Applications > Localizing Siebel Business Applications > Localizing a Multilingual List of Values >
Guidelines for Localizing a Multilingual List of Values
This topic describes guidelines for localizing an MLOV.
Guidelines for Configuring a Multilingual List of Values
If you configure an MLOV, then use the following guidelines:
- Make sure language-independent code is unique. For more information, see Language-Independent Code Must be Unique.
- If the header row entry is inactive, then make sure the Display Value rows are not active.
- You cannot configure a hierarchical MLOV. Siebel CRM does not support this configuration. If you require a hierarchical MLOV, then see Article ID 473813.1 on My Oracle Support, which was previously published as Siebel Technical Note 632. For help with a hierarchical MLOV, see Getting Help From Oracle.
- Do not create more than one header row for an MLOV type. For example, assume an MLOV named ACCOUNT_STATUS includes nine Display Value rows, three rows each for English, Spanish, and German. Siebel CRM requires only one header row for these nine values. If you create three header rows for the ACCOUNT_STATUS MLOV, then the MLOV will fail.
- Make sure the length of the table column that stores the language-independent code is equal to the longest display value for the MLOV.
CAUTION: The length of the table column that stores the language-independent code must equal the longest display value for the MLOV. This length is 30 characters. If it does not, then Siebel CRM truncates the display value. If the predefined column does not meet your requirements, and if you use a custom extension column, then you must make sure the column is a VARCHAR column and has a maximum length of 30.
- Make sure any customization you perform that directly involves the list of values table is compatible with other MLOV functionality in your Siebel application. For display, Siebel CRM uses a lookup to convert the underlying language-independent code to the corresponding display value. For search and sort, it performs a database join to the list of values table.
- Associate an MLOV with only one business component field. Siebel CRM uses only one multilingual list type for each column. Multiple business components can reference a table, and multiple business component fields can reference the same column in a table. When run in validation mode, the MLOV Converter utility makes sure an MLOV is associated with only one field. For more information, see Converting Your Current Data for an MLOV.
Guidelines for Using Code in an MLOV Configuration
If you use code in an MLOV configuration, then use the following guidelines:
- Do not hard-code the conditions for a dynamic drilldown or toggle applet. Instead, use the LookupValue function. A drilldown or toggle applet references a business component field that includes a value from a list of values. These values are dynamic. You must not hard-come them. For example, a dynamic drilldown might navigate the user in the following ways:
- To a Credit Card screen if the account type is Credit Card
- To a Savings screen if the account type is Savings
- Never use Siebel Visual Basic to hard-code the Display Value. Instead, use the language-independent code. Siebel Visual Basic does not include a function that gets a Display Value that is specific to a particular language. To write Siebel Visual Basic code using only language-independent code, you must create a calculated business component field that contains the language translation for a language-independent code.
- Use the LookupName function only in a calculated field or in a search specification. You cannot use it with Siebel scripting. For more information, see Options to Filter Data That Siebel CRM Displays In an Applet.
- For the Pre Default Value and Post Default Value properties of a business component field that uses a list of values list, always prepend the LookupValue function with
Expr:. The first argument is the LOV Type. The second argument is the language-independent code. The function returns the Display Value for the language. For example:
Expr: "LookupValue (""FS_PROD_ALLOC_RULES"", ""Default"")"
- If you define a search specification for a business component, link, applet, or list, then use the LookupValue function. For example:
[Invoice Code] = LookupValue('FS_INVOICE_CODE', 'Auction')
For more information, see Options to Filter Data That Siebel CRM Displays In an Applet.
Guidelines for Using Enterprise Integration Manager with an MLOV
Enterprise Integration Manager (EIM) can import and export data. You can import data into the list of values table and other tables in Siebel CRM. If you use Enterprise Integration Manager with an MLOV, then use the following guidelines:
- If you import data into the list of values table, then you must make sure the source table includes a language code and a name-value pair. This pair includes the display value and the language-independent code.
- If you import data into any other table, then you must provide a language code for the LANGUAGE command-line parameter for EIM. The source table must include the display value for multilingual columns in the language defined in the parameter. EIM validates imported data against list of values entries. It converts incoming data to the related language-independent code during the import.
- When EIM validates MLOV values during an import, it ignores list of values entries that are marked inactive.
- During an export, you must define a language code for the LANGUAGE parameter so that EIM can correctly translate the language-independent code in the table to the display value.
For more information, see Siebel Enterprise Integration Manager Administration Guide.
Language-Independent Code Must be Unique
If you create a multilingual list of values or a hierarchical list of values, then use a unique language-independent code. For a monolingual list where no language-independent code exists, you can use unique display values. For example, assume a customer requires the following country and state hierarchical list of values:
In this example, WA is not assigned to the language-independent code for both child list of value entries. The meaning is different for each location, so Siebel CRM assigns a unique language-independent code. For example, WESTERN_AU and WASH_STATE_USA.
Situations exist where it is appropriate to use duplicate values in the child list of values, but you must assign these the same display values in the same language. For example:
The status can be Open for each type of defect, so the list of values table contains multiple entries with the display value Open, one for each time that Siebel CRM can use it with each parent list of values entry. The LookupValue function returns the first value in the list of values table that matches the supplied LOV_TYPE and language-independent code values, so it is essential that Siebel CRM assigns the same display value.