25Localizing Siebel Business Applications

Localizing Siebel Business Applications

This chapter describes how to configure your Siebel application so that you can deploy it in a localized environment. It includes the following topics:

For more information about localizing Siebel Business Applications, see also Siebel Global Deployment Guide.

About Localization in the Development Environment

Localization is the process of configuring Siebel CRM so that you can deploy it into an environment that requires information be displayed in a format that is specific to the local environment, such as the natural language that a set of users use to communicate. Siebel CRM maintains, in the same repository, a translatable text string and data that is specific to a language for a Siebel object. Siebel Tools allows you to edit a property that is specific to a locale for an object, such as an applet, view, or control. For more information, see Using Siebel Tools and Siebel Global Deployment Guide.

    Locale Object Types

    A locale is an object that you use to define locale data for the parent object of an object type that contains localizable data, such as a symbolic string. Siebel CRM stores data for a locale object in a set of repository tables that it designates specifically for storing locale data. These tables use a naming format that includes the name of the base table followed by the suffix _INTL. For more information, see Using Siebel Tools.

      Siebel Tools Language Mode

      To determine the localizable data to use with translatable data, Siebel Tools runs in a language mode. Siebel Tools runs in an English-American user interface, but you can edit localizable data in the language of your choice. The default edit language is English-American. Siebel Tools includes a language mode that you can choose from the Development Tools Options dialog box. If you add more languages, then you must enter the language code in all capital letters. For more information, see Using Siebel Tools.

        Checking Out and Checking in Locale Data

        The Siebel Server tracks the language that you use when you check out the project. Siebel Tools displays this information in the Server Language column of the Check Out dialog box. This feature allows your team to work with data in a language other than the language that you use when you check out the project.

        You can get locale data for a project. You can do this if you modify your current working language. For example, assume you only use language data for English-American as your current working language in Siebel Tools, and you must switch to French. To view any localizable data in Siebel Tools, you must get the locale data for French. For more information, see Using Siebel Tools.

          Locale Management Utility

          The Locale Management Utility is a tool you can use in Siebel Tools. It allows you to export and import text strings and locale information to an external file. You typically use this utility to export strings to send out for translation, and then to import the translated strings back into the Siebel repository. It facilitates a concurrent application configuration and localization process. You use this option if you deploy in multiple languages. To start this utility, you choose the Tools menu, Utilities, and then the Locale Management menu item. For more information, see Using Siebel Tools. See also Siebel Global Deployment Guide.

            Compiling and Deploying

            Every time you configure a column to be multilingual, you must deploy your changes to the Siebel runtime repository. You only need to compile the Table ListOfValues project. You must deploy modifications to users so that they can view the configured lists in the required language.

            The Replication Level field of a multilingual list of values (MLOV) determines the replication level of the list of values record. Setting this field to All routes the record to the regional databases and mobile clients. If you run the MLOV Converter Utility in translation mode to update the target columns and S_LST_OF_VAL table, then the utility does not log modifications in the transaction log table. You must reextract the regional databases and remote clients. For more information, see Converting Your Current Data for an MLOV.

              Deleting a Control or List Column While in Language Override Mode

              If you work in language override mode, then do not delete a control or list column from an applet Web layout.

              Caution: If you work in language override mode, then do not delete a control or list column from an applet Web layout. Instead, make sure the Visible property for the control does not contain a check mark. If you delete a control or list column while working in language override mode, then Web Tools deletes the corresponding object for all languages, not just for the language that you use. If you undo after you cut items from the applet layout, then close the Applet Web Template Editor without saving your modifications. For more information, see Deleting a Control or List Column.

                Localizing an Application Menu

                When Siebel CRM translates an application menu to a language other than English, more space might be required to fit all the characters that the other language uses in the menu. To allow for this requirement, you can increase the width parameter in a od tag.

                Localizing an application menu

                  Localizing Help

                  This topic describes how to deploy help in different languages. If you must use Siebel CRM in a language that is not available from Oracle, and you must deploy help in that language, then you must localize the help. For more information, see Siebel Global Deployment Guide.

                  To localize help

                  1. If the predefined localized help meets your requirements, then use that predefined help and exit this task.

                    Siebel CRM comes with predefined localized help. For more information, see Predefined Localized Help.

                  2. If the predefined localized help does not meet your requirements, then configure the ENU (American English) help to meet your requirements.

                  3. To translate the HTML source files, modify the flat files.

                    These HTML files constitute the help.

                  4. Test you modifications and correct any errors.

                  5. Distribute the localized help to the Siebel Servers and Siebel clients.

                    Predefined Localized Help

                    Siebel CRM comes with predefined localized help. Localized help files are located in the language folders on the Siebel Server or the Siebel client. Help files are installed in the following location on the Siebel Application Interface:

                    ORACLE_HOME\public\install language\help
                    

                    where:

                    • ORACLE_HOME is the directory where you installed the Siebel Application Interface.

                    • install language is the language you chose during installation.

                      Localizing a Multilingual List of Values

                      This topic describes how to localize a multilingual list of values. It includes the following information:

                      A multilingual list of values (MLOV) is a type of list of values that allows you to display values in the natural language that the user uses to communicate. It allows a user who works in a particular language to get values for another language.

                      Siebel CRM displays an MLOV in a static list. To configure an MLOV for a predefined static list, the list must meet the following requirements:

                      • It must be bounded.

                      • It must not be hierarchical.

                      For more information about the active language, see Siebel Global Deployment Guide. For more information about list of value fields, see Siebel Applications Administration Guide.

                      For more information, see the following topics:

                        Overview of Language-Independent Code

                        The list of values table contains the following columns:

                        • Display Value

                        • Language Independent Code

                        Monolingual and multilingual lists of values display values from the Display Value column. If the user chooses a value in a list, then the actual value that Siebel CRM stores in the Siebel database is different for monolingual and multilingual lists of values:

                        • A monolingual list stores the display value.

                        • A multilingual list stores the language-independent code.

                        Language-independent code (LIC) is a mechanism that allows Siebel CRM to do the following:

                        • Store data in a form that a user working in another language can get

                        • Roll up of data for management reports regardless of the language of the user who enters the data

                        The following table describes an example of how language-independent code works. In this example, a multilingual list displays the Display Value of Mr., Señor, or Herr, depending on the active language of the user. The list stores the value Mr. in the Siebel database because Mr. is the value that is defined in the Language Independent Code column.

                        Table Example of How Language-Independent Code Works

                        Display Value Language-Independent Code

                        Mr.

                        Mr.

                        Señor

                        Mr.

                        Herr

                        Mr.

                        The language-independent code value for predefined list of values data is typically the same as the American-English version.

                        You define an MLOV on a column basis. The columns that are not configured for multilingual continue to store display values instead of language-independent codes.

                          Configuring a Multilingual List of Values

                          To configure an MLOV, you modify objects in Siebel Tools, and then perform administration tasks in the Siebel client. If your implementation uses certain Siebel modules, such as Siebel Workflow, then you must perform more configuration. For more information, see Configuring Certain Siebel Modules to Use MLOV Fields.

                          To configure a multilingual list of values

                          1. Consider potential performance issues.

                            For more information, see Considering Factors That Affect MLOV Performance.

                          2. In Siebel Tools, display the following object types:

                            • Dock Object

                            • Dock Object Visibility Rule

                            For more information, see Displaying Object Types You Use to Configure Siebel CRM.

                          3. Make sure the list of values is translatable:

                            1. In Siebel Tools, in the List of Values list, locate the list of values you must modify.

                              For more information, see Creating a New List of Values.

                            2. Make sure the Translate property contains a check mark.

                              For more information, see Modifying the Translate Property.

                            3. Make sure the Multilingual property contains a check mark.

                          4. Make sure the list is bounded:

                            1. In the Object Explorer, click the Flat tab, and then click Pick List.

                            2. In the Pick Lists list, query the Type Value property for the type of list of values you must modify.

                            3. Make sure the Bounded property contains a check mark.

                          5. Make sure the columns that the list references are bounded and consistent:

                            1. In the Object Explorer, click Column.

                            2. In the Columns list, query the LOV Type property for the list of values type you must modify.

                            3. Make sure the LOV Bounded property for each column contains a check mark.

                              For more information, see Example of Determining Whether the List Is Bounded.

                            4. Make sure the Translation Table Name property is set to S_LST_OF_VAL for all columns.

                            5. Make sure the LOV Type for the list matches the LOV Type of the column that the field for the list references.

                          6. Make sure you can use the column with an MLOV.

                            For more information, see Columns That You Cannot Use with an MLOV.

                          7. Make sure the column that is referenced by the field that uses the list contains the following property.

                            Property Value

                            Translation Table Name

                            S_LST_OF_VAL

                          8. Check the visibility rules for references to the list of values that is a part of your MLOV configuration:

                            1. In the Object Explorer, click the Flat tab, and then click Dock Object Visibility Rule.

                            2. In the Dock Object Visibility Rules list, query the SQL Statement field for literals across all rows that are not empty.

                            3. Identify the values that Siebel CRM must translate.

                            4. If necessary, modify the Display Value to the language-independent code.

                            You must modify the display value for any reference in a visibility rule that references a list of values entry for a type that you configure for multilingual support. Note that you cannot modify visibility rules.

                          9. Compile your modifications.

                          10. Configure display values for each language you must support:

                            1. Open the Siebel client, navigate to the Administration - Data screen, and then click the List of Values link.

                            2. Create a new record for each display value for the type of list of values that you use for a language.

                            3. Locate the list of values you must modify.

                              For more information, see Adding Records for All Supported Languages.

                            4. Repeat the previous step for each language you must support.

                          11. Use the MLOV Converter Utility to convert data for the current lists of values.

                            For more information, see Converting Your Current Data for an MLOV.

                          12. Test your modifications.

                            Example of Determining Whether the List Is Bounded

                            The following information lists columns for the AVAILABILITY_STATUS list of values type. Three of the columns are bounded, but you cannot configure these columns as multilingual because the NEXT_AVAIL_CD column is not bounded. If you run the MLOV Converter Utility on this configuration, then the utility displays an error message similar to columns are inconsistently bounded. For more information, see Fixing an Inconsistently Bounded List of Values or an Improperly Set Translation Table Property.

                            Table Example of Inconsistently Bounded Columns

                            Name LOV Type LOV Bounded

                            CURR_AVAIL_CD

                            AVAILABILITY_STATUS

                            Y

                            NEXT_AVAIL_CD

                            AVAILABILITY_STATUS

                            Y

                            CURR_AVAIL_CD

                            AVAILABILITY_STATUS

                            Y

                            NEXT_AVAIL_CD

                            AVAILABILITY_STATUS

                            N

                            You can modify the LOV Bounded and LOV Type properties of the column in the following situations:

                            • For a predefined column that is not already assigned to a predefined list of values type.

                            • For a predefined column that is already assigned to a predefined list of values type and that has the LOV Bounded property set to FALSE, you can modify the LOV Bounded property to TRUE. Siebel CRM supports this configuration only in the context of enabling an MLOV.

                            You can configure a custom extension column for use with an MLOV. Do not configure a column for an MLOV unless you are sure that you intend to use that column in your implementation.

                              Example of Translating Names That Siebel CRM Displays in a List of Values

                              The Tactics GanttChart Ax Applet - Home Page applet is a standard Gantt chart applet that is part of the Home Page View (DBM) view. This applet is similar to the FS DB Planned GanttChart AX Applet in the predefined FS AxGanttChart View. The FS Dispatch Board Screen includes the FS AxGanttChart View.

                              The following LOV types control how Siebel CRM displays information in the Tactics GanttChart Ax Applet - Home Page applet:

                              • The MONTH_NAME LOV type controls the month names.

                              • The DAY_NAME LOV type controls the day names.

                              Siebel CRM displays the month and day names in the second frame of the Gantt chart applet. This frame includes scheduled time periods in a calendar. You can translate the month and day names.

                              To translate names that Siebel CRM displays in a list of values
                              1. In Siebel Tools, in the List of Values list, locate the list of values you must modify.

                                For more information, see Creating a New List of Values.

                              2. Add translated display values for the languages that Siebel CRM must display.

                                For more information, see Adding Records for All Supported Languages.

                              3. Make sure the Multilingual property contains a check mark for the LOV type row and the display value rows.

                                Columns That You Cannot Use with an MLOV

                                The following information lists columns that you cannot use with an MLOV.

                                Table Columns That You Cannot Use with an MLOV

                                Table Column LOV Type Bounded?

                                S_AGREE_POSTN

                                APPR_ROLE_CD

                                AGREEMENT_APPR_ROLE

                                Yes

                                S_AUDIT_ITEM

                                You cannot use any columns in the S_AUDIT_ITEM table.

                                Not applicable

                                Not applicable

                                S_CONTACT

                                PREF_LANG_ID

                                No LOV type

                                No

                                S_CONTACT_X

                                ATTRIB_48

                                No LOV type

                                No

                                S_CS_RUN

                                STATUS_CD

                                CALL_SCRIPT_SAVE_STATUS

                                Yes

                                S_DOC_ORDER

                                TAX_EXEMPT_REASON

                                GLOBAL_TAX_EXEMPTION

                                Yes

                                S_ONL_LAYOUT

                                CONTROL_TYPE_CD

                                No LOV type

                                No

                                S_ORG_EXT

                                DIVN_CD

                                SAP_DIVN_CD

                                Yes

                                S_ORG_EXT

                                DIVN_TYPE_CD

                                DIVISION_TYPE

                                Yes

                                S_ORG_EXT_XM

                                NAME

                                No LOV type

                                No

                                S_PRI_LST_ITEM

                                PRI_METH_CD

                                SRVC_PRICING_METHOD

                                Yes

                                S_PROD_INT_CRSE

                                CRSE_TYPE_CD

                                SOURCE TYPE (Internal)

                                Yes

                                S_PROD_INT_X

                                ATTRIB_50

                                No LOV type

                                No

                                S_PROD_INT_X

                                ATTRIB_51

                                No LOV type

                                No

                                S_PROD_INT_X

                                ATTRIB_53

                                No LOV type

                                No

                                S_PROJ_ORG

                                PROJ_ROLE_CD

                                PS_SUBCONTRACTOR_ROLE

                                No

                                S_PROJITEM

                                PROD_AREA_CD

                                PROD_DEFECT_SUB_AREA

                                Yes

                                S_PROJITEM

                                STATUS_CD

                                No LOV type

                                No

                                S_SRC

                                SRC_CD

                                SOURCE_TYPE

                                Yes

                                S_SRC

                                STATUS_CD

                                CAMPAIGN_STATE

                                No

                                S_SRC_EVT

                                FORMAT_CD

                                EVENT_FORMAT

                                Yes

                                S_SRCH_PROP

                                NAME

                                No LOV type

                                No

                                  Defining Properties of an MLOV

                                  You can define properties of an MLOV in Siebel Tools.

                                  To define properties of an MLOV

                                  1. In Siebel Tools, locate the list of values you must modify in the List of Values list.

                                    For more information, see Creating a New List of Values.

                                  2. Define properties for the MLOV using values from the following table.

                                    Property Description

                                    Multilingual

                                    Indicates the list of values is multilingual. The MLOV Converter Utility sets this flag for the values in the list of values. For more information, see Converting Your Current Data for an MLOV.

                                    If you add a new MLOV record after the MLOV Converter Utility runs, then you must manually add a check mark to the Multilingual property to make sure it is consistent with the previously created records.

                                    Language Name

                                    Indicates the natural language. In the Siebel client, Siebel CRM gets the values for this list from the Languages view in the Administration - Data screen.

                                    Translate

                                    If you add a list of values type that must work as an MLOV, then make sure the Translate property contains a check mark. Do not modify the Translate field for a predefined list of values. For more information, see Modifying the Translate Property.

                                    Language-Independent Code

                                    The internal language-independent code for a list of values. Siebel CRM stores it in the Siebel database for an MLOV that a Siebel application enables and references. The language-independent code must be 30 characters or less. It is typically the English-American version. You cannot modify the language-independent code.

                                    If you click the List of Values Explorer link in the Siebel client, then the Code field displays the language-independent code.

                                    Display Value

                                    Contains the text that Siebel CRM displays in a list. It stores it in the Siebel database for an MLOV that is not enabled.

                                    To determine the display value, if display values exist for more than one language for a list of values, then Siebel CRM uses the current active language.

                                    Modifying the Translate Property

                                    A translatable list of values a list of values that Siebel CRM can translate into another language without affecting the functionality of Siebel CRM. The Translate property indicates if Siebel CRM is allowed to translate the display value to another language. If the Translate property contains a check mark, then Siebel CRM can translate. You must update this information manually to reflect your configuration for any MLOV you add.

                                    Modifying the Translate Property for a Predefined List of Values

                                    The following situations apply for a predefined list of values:

                                    • Do not modify the Translate property for a predefined list of values.

                                    • Siebel CRM does not translate an MLOV whose Translate property does not contain a check mark.

                                    • The Translate property is an information-only property that Siebel Engineering uses.

                                    • No client or server functionality is associated with the Translate property.

                                    • To translate the chosen text to the language-independent code, Siebel CRM hard codes translate functionality to use the Display Value property. You cannot use a different value for translation.

                                      Adding Records for All Supported Languages

                                      If you add a new list of values record for a multilingual list of values type, and if you do not add records for each supported language, and if a user who uses one of these languages attempts to view the information, then Siebel CRM displays the language-independent code instead of the display value.

                                      If you use Assignment Manager, then you must add records for all the languages you support. For more information, see Configuring Siebel Assignment Manager to Use MLOV Fields.

                                      For more information about adding records to the list of values table, see Siebel Applications Administration Guide.

                                      To add records for all supported languages

                                      • If you add a new list of values record for a multilingual list of values type, then you must add records for all supported languages.

                                        For example, assume you must support German, French and English. In this situation, you create two new records for each display value. One record for German and one record for French.

                                        Make sure the language-independent code for each new record is the same as the original record. Make sure the Language and Display Value fields are set differently to reflect the language.

                                        For more information, see Defining Properties of an MLOV.

                                        Searching a Multilingual List of Values

                                        Searching a multilingual list of values (MLOV) can consume significant resources because this search requires a join to the S_LST_OF_VAL list of values in the SQL code. To improve performance if many records and multiple languages exist, you can use the Fieldname.TransCode function in the Search Specification property of the business component. This function gets the untranslated language-independent code (LIC) from a column in the base table instead of getting the display value in the current language. It uses the following format:

                                        [Fieldname.TransCode] = 'lang_ind_code'
                                        

                                        where:

                                        • TransCode is case-sensitive. You cannot use the following formats:

                                        Fieldname.Transcode
                                        
                                        Fieldname.transcode
                                        

                                          Example of Searching a Multilingual List of Values

                                          For example, the Status field in the Service Request business component references the SR_STAT_ID column. This column stores the language-independent code for the Open value. A query on the Status field with a multilingual list of value always returns the display value for Open in the current language. For example, if the language is DEU, then it returns Offen. The Language Parameter sets this language.

                                          Assume you must set a language-independent search specification and you use the following code:

                                          [Status] = LookupValue('Open')
                                          

                                          In this situation, to find the DEU display value for the Open value for the language-independent code, and to compare this value to the language-independent code in the SR_STAT_ID column, the DEU object manager adds a join to the S_LST_OF_VAL list of values in the SQL. This configuration makes the query more complex and difficult to support with an index.

                                          To simplify the SQL command, you can use the following search specification:

                                          [Status.TransCode] = 'Open'
                                          

                                          The Status.TransCode function in the SQL query can get the value for the value directly from the database column. Siebel CRM does not translate the value for the language-independent code into the display value.

                                          The Fieldname.TransCode function improves the performance of a query on an MLOV column, particularly if the query or search specification includes other columns from the same base table. This improvement occurs because Siebel CRM can use a combined index that includes the MLOV column. It cannot do this if it uses the LookupValue function or if it queries directly on the MLOV.

                                          Using a Calculated Field or Script to Search a Multilingual List of Values

                                          You can use the Fieldname.TransCode function with a calculated field or the GetFieldValue business component method. For example, you can:

                                          • Create a calculated field that uses the Priority.TransCode calculated value in the Service Request business component.

                                          • Use the this.GetFieldValue("Priority.TransCode") statement in a script.

                                          This configuration only works if you use an MLOV field, such as the Translation Table Name property of the column that this field references.

                                            Searching Fields That an MLOV Controls

                                            To perform a search, Siebel CRM applies the following function to the language-independent code:

                                            LookupValue (LOV Type, Language-Independent Code)
                                            

                                            You can use this function to configure search with a predefined query and search expression.

                                            For more information about the LookupValue function, see Guidelines for Using Code in an MLOV Configuration. For more information, see Guidelines for Modifying a Predefined Query.

                                            For more information about query operators and expressions, see Siebel Developer's Reference and Siebel Fundamentals.

                                            To search fields that an MLOV controls

                                            1. Use the display value for the search specification.

                                              Do not use the language-independent code to query. A query translates the search specification to the appropriate language-independent code. For more information, see Options to Filter Data That Siebel CRM Displays in an Applet.

                                            2. Make sure the Display Value you use as the search specification corresponds to the language that Siebel CRM uses to perform the query.

                                              If the query runs through a Siebel interface, such as COM, then the language that Siebel CRM uses for this translation is configured in the configuration file that it uses with the interface.

                                              Deactivating an MLOV Record Instead of Deleting It

                                              When you administer an MLOV during the lifetime of a Siebel application, it might be necessary to deactivate an MLOV record that Siebel CRM no longer requires. It is recommended that you deactivate the record instead of deleting it. Siebel CRM can correctly display an inactive record in other tables that use the record. It does not include inactive records in any lists. Enterprise Integration Manager ignores inactive records when it validates a list of values.

                                              If you delete an MLOV record, then Siebel CRM does the following:

                                              • Uses the display value in the list of values entries to display the language text. Note that it cannot correctly display records in other tables that use the MLOV record.

                                              • To display the language-independent code, it uses the language-independent codes in the target columns that refer to the deleted record.

                                              To deactivate an MLOV record instead of deleting it

                                              1. In the Siebel client, navigate to the Administration - Data screen, and then choose the List of Values link.

                                              2. Make sure the Active field does not contain a check mark.

                                                Siebel CRM includes a check mark for the Active field, by default.

                                                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:

                                                        • Parent list of values is COUNTRY.

                                                          Required values include Australia and USA.

                                                        • Child list of values is STATE.

                                                          Required values include Western Australia and Washington State.

                                                        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:

                                                        • Parent list of values is DEFECT_TYPE

                                                          Required values include Product Defect and Documentation Defect

                                                        • Child list of values is STATUS

                                                          Required values include Open and Closed

                                                        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.

                                                          Converting Your Current Data for an MLOV

                                                          This topic describes how to convert your current data for an MLOV. includes the following information:

                                                          After you configure Siebel CRM to use an MLOV, you use the MLOV Converter Utility to convert data for the current lists of values. The MLOV Converter Utility does the following:

                                                          • For each column configured for an MLOV, locates values in lists of values in user data that the S_LST_OF_VAL table does not contain.

                                                          • Inserts these values into the S_LST_OF_VAL table as inactive.

                                                          • Modifies the display value of bounded columns to the language-independent code and sets the value for the Multilingual property to true.

                                                          To convert your current data for an MLOV

                                                          1. In Siebel Tools, delete all indexes that reference the columns you must convert.

                                                            You will recreate these indexes after you finish the MLOV conversion.

                                                          2. Start the Siebel Database Configuration Wizard.

                                                            For information, see Siebel Installation Guide for Microsoft Windows. If you use UNIX, then see Siebel Installation Guide for UNIX.

                                                          3. Define the required parameters.

                                                            For more information, see Parameters You Use to Run the MLOV Converter Utility.

                                                          4. Choose Run Database Utilities.

                                                          5. Choose Multi-Lingual List of Value Conversion.

                                                          6. Choose Validate Mode.

                                                          7. Run the MLOV Converter Utility.

                                                          8. Review the log file and resolve errors, as necessary.

                                                            The MLOV Converter Utility checks for errors and writes them to a log file. The default name of the log file is mlovupgd_verify.log. The default location of the file is the siebsrvr\LOG directory.

                                                          9. If the utility reports an error, then resume the utility in validation mode.

                                                            For more information, see Resuming the MLOV Converter Utility If an Error Occurs.

                                                          10. Repeat Step 2 through Step 9 until the utility does not report any errors.

                                                          11. Repeat Step 2 through Step 5 to restart the Siebel Database Configuration Wizard.

                                                          12. Specify Translation Mode, and then run the MLOV Converter Utility.

                                                          13. Recreate the indexes you deleted in Step 1.

                                                          14. Compile and test your modifications.

                                                            For more information, see Using Siebel Tools.

                                                            Guidelines for Converting Your Current Data for an MLOV

                                                            If you convert your current data for an MLOV, then use the following guidelines:

                                                            • It is recommended that you backup the Siebel database before you run the utility. You cannot reverse or undo a conversion.

                                                            • You must perform this conversion even if you recently completed a new installation of your Siebel application.

                                                            • You can run the utility as often as necessary. The utility only processes data that is not already converted.

                                                            You run the MLOV Converter Utility in one of the following modes:

                                                            • Validation. Validates the current repository for data inconsistencies. If the utility finds inconsistencies, then the utility writes errors to a log file, and then stops.

                                                            • Translation. Does the following:

                                                              • If a column is configured for an MLOV, then the utility modifies the display value for the column to the language-independent code.

                                                              • If you set the target column for a LOV Type to multilingual, then to make sure the multilingual state of the target column and the corresponding list of values in the S_LST_OF_VAL table are consistent with each other, the utility sets the MULTILINGUAL flag to TRUE in the S_LST_OF_VAL table.

                                                                The MLOV Converter Utility sets the multilingual flag to TRUE for the header row and the Display Value rows for the MLOV.

                                                              • Verifies that target columns that use the MLOV type are configured. A target column is a column that stores the display value or the language-independent code as part of user data.

                                                              Parameters You Use to Run the MLOV Converter Utility

                                                              The following table describes the parameters you use to run the MLOV Converter Utility.

                                                              Table Parameters You Use to Run the MLOV Converter Utility

                                                              Name of Dialog Box Values You Must Choose

                                                              Siebel Enterprise Parameters: Gateway Name Server Address

                                                              Gateway Address

                                                              Enterprise Server Address

                                                              Installation and Configuration Parameters: Siebel Server Directory

                                                              Siebel Server Directory

                                                              Installation and Configuration Parameters: Siebel Database Server Directory

                                                              Database Server Directory

                                                              Database Server Options: Siebel Database Operation

                                                              Run Database Utilities

                                                              Database Utilities: Database Utility Selection

                                                              Multilingual List of Values Conversion

                                                              MLOV Parameters: MLOV Operation

                                                              Validate or Translate, depending on the mode you must run.

                                                              Installation and Configuration Parameters: Language Selection

                                                              Base language of your Siebel application.

                                                              Installation and Configuration Parameters: RDBMS Platform

                                                              RDBMS Platform

                                                              Installation and Configuration Parameters: OBDC Data Source Name

                                                              OBDC Data Source Name

                                                              Installation and Configuration Parameters: Database User Name

                                                              Database User Name

                                                              Database Password

                                                              Installation and Configuration Parameters: Table Owner

                                                              Table Owner Name

                                                              Table Owner Password

                                                              MLOV Parameters: Repository Name

                                                              Repository Name

                                                              Configuration Parameter Review

                                                              Review the parameters you defined, and then click Finish.

                                                                Resuming the MLOV Converter Utility If an Error Occurs

                                                                If an error occurs, then you can resume running the MLOV Converter Utility in validation mode or in translation mode.

                                                                To resume the MLOV Converter Utility if an error occurs

                                                                1. Open a DOS prompt, and then navigate to the following directory:

                                                                  ORACLE_HOME\BIN
                                                                  

                                                                  If you use UNIX, then open a shell prompt.

                                                                2. If you use Windows, then do one of the following at the command prompt:

                                                                  • To resume running in validation mode, type the following command:

                                                                    siebupg /m master_mlov_verify.ucf
                                                                    
                                                                  • To resume running in translation mode, type the following command:

                                                                    siebupg /m master_mlov_translate.ucf
                                                                    
                                                                3. If you use UNIX, then do one of the following at the shell prompt:

                                                                  • To resume running in validation mode, type the following command:

                                                                    srvrupgwiz /m master_mlov_verify.ucf
                                                                    
                                                                  • To resume running in translate mode, type the following command:

                                                                    srvrupgwiz /m master_mlov_translate.ucf
                                                                    

                                                                  Using the MLOV Converter Utility to Convert Multiple Languages

                                                                  The MLOV Converter Utility only upgrades one language at a time. If the target columns include data in more than one language, then you must run the utility for each language. For example, assume the ENU and DEU display values exist in a column that is enabled for an MLOV. If you run the converter in ENU, then the utility does the following work:

                                                                  • For each value that the converter finds, it checks if this value exists as a Display Value for a LOV record of the LOV Type and the language, which in this example is ENU.

                                                                  • If the value exists, then the converter updates the column with the LIC value.

                                                                  • In this example, DEU does not exist in the value, and the converter creates a new LOV record for the LOV Type and ENU.

                                                                    You do not need these new LOV records, and you must remove them.

                                                                  To use the MLOV Converter utility to convert multiple languages

                                                                  1. In Siebel Tools, click the Screens menu, System Administration, and then click the List of Values menu item.

                                                                  2. In the List of Values list, query the Display Value property for the name of the MLOV you must convert.

                                                                    As a result of your query, Siebel Tools displays the display value rows for the MLOV.

                                                                  3. Set the Multilingual property for each record in the List of Values list using values from the following table.

                                                                    Property Value

                                                                    Multilingual

                                                                    Does not contain a check mark.

                                                                  4. In the List of Values list, query the Display Value property for the name of the MLOV you must convert.

                                                                    As a result of your query, Siebel Tools displays the header row for the MLOV.

                                                                  5. Make sure the Multilingual property in the List of Values list does not contain a check mark.

                                                                  6. Run the MLOV Converter utility for one of the languages you must convert.

                                                                    For more information, see Converting Your Current Data for an MLOV.

                                                                  7. Remove the check mark from the Multilingual property for each object you modified in Step 5 and Step 6.

                                                                    Note that the MLOV Converter utility adds a check mark to the Multilingual property.

                                                                  8. Delete the unwanted records that the converter utility created.

                                                                  9. Repeat Step 2 through Step 7 for each additional language you must convert.

                                                                    Troubleshooting Problems with an MLOV Conversion

                                                                    When the MLOV Converter Utility finishes, it writes log files to the following directory:

                                                                    siebsrvr\log\mlov_verify_validation\output or siebsrvr\log\mlov_translate\output 
                                                                    

                                                                    It writes errors to the mlovupgd_verify.log file.

                                                                      Fixing an Inconsistently Bounded List of Values or an Improperly Set Translation Table Property

                                                                      If a List of Values is not bound consistently, or if the Translation Table property is not set to S_LST_VAL, then the utility logs the follow message in the mlovupgd_verify.log file:

                                                                      The following Validation checks for:
                                                                      
                                                                      1- Two or more columns defined in the same LOV domain are inconsistently bounded 
                                                                      (one bounded, one not)
                                                                      
                                                                      2- Two or more columns are defined in the same LOV domain and at least one of them 
                                                                      does not have a Translation Table Name of  S_LST_OF_VAL
                                                                      

                                                                      The utility includes a log entry for each error it encounters. The utility includes the LOV type, column, and table.

                                                                      To fix an inconsistently bounded list of values or an improperly set Translation Table property
                                                                      1. Make sure the list is consistently bounded.

                                                                      2. For more information, see Step 5 in Configuring a Multilingual List of Values.

                                                                      3. Make sure the Translation Table property is set properly.

                                                                      4. For more information, see Step 5 in Configuring a Multilingual List of Values.

                                                                      5. To make sure you corrected all errors, run the MLOV Converter Utility in validation mode.

                                                                        Fixing a LOV Domain That Is Not in the S_LST_OF_VAL Table

                                                                        If a list of values domain is not represented in the S_LST_OF_VAL table, then the utility logs the following message in the mlovupgd_verify.log file:

                                                                        The following Validation checks for:
                                                                        LOV domains in the repository that are not represented in S_LST_OF_VAL
                                                                        

                                                                        In this situation, a list of values domain does reside in the Siebel repository but it fails one of the following tests:

                                                                        • It is not represented as a value in the list of values table.

                                                                        • The list of values type is not LOV_TYPE.

                                                                        This problem can occur in the following situations:

                                                                        • You delete a record in the list of values table instead of deactivating it. For more information, see Deactivating an MLOV Record Instead of Deleting It.

                                                                        • You enter an incorrect entry in the LOV Type property for a column added using a database extension.

                                                                        To fix a LOV domain that is not in the S_LST_OF_VAL table
                                                                        1. Correct the LOV Type property:

                                                                          1. In Siebel Tools, correct the entry in the LOV Type property.

                                                                            For more information, see Adding Records for All Supported Languages.

                                                                          2. Compile your modifications.

                                                                            A script creates a matching record in the list of values table for any values it finds in the target tables that do not include matching records in the list of values table. The script marks these records as inactive.

                                                                          3. In the Siebel client, navigate to the Administration - Data screen, and then add language-specific entries for the base records you just compiled.

                                                                            This allows Siebel CRM to display the values in the active language.

                                                                        2. Add the list of values domain:

                                                                          1. In the Siebel client, navigate to the Administration - Data screen, and then click the List of Values link.

                                                                          2. Add the list of values domain and set the Type field to LOV_TYPE.

                                                                          Configuring Certain Siebel Modules to Use MLOV Fields

                                                                          This topic describes how to configure certain Siebel modules, such as Siebel Workflow, to use MLOV fields. It includes the following information:

                                                                            Configuring Siebel Workflow to Use MLOV Fields

                                                                            To determine whether a condition is true, Siebel Workflow compares values in target tables against values in the Business Process administration tables. Siebel Worklfow cannot compare the language-independent code to the display value because of the following differences:

                                                                            • Siebel CRM stores the language-independent code in the MLOV column of the database table.

                                                                            • Siebel CRM stores the display value in the Business Process Administration table.

                                                                            To allow Siebel Worklfow to work with an MLOV column, you must configure workflow objects so that they compare the language-independent code in the target table with the language-independent code in the Business Process Designer administration table. You must do this for the following objects:

                                                                            • Conditions for the workflow policy

                                                                            • Argument for the workflow policy

                                                                            For more information, see Siebel Business Process Framework: Workflow Guide.

                                                                              Preparing Policy Conditions and Action Arguments for an MLOV

                                                                              In this topic, you prepare policy conditions and action arguments for an MLOV.

                                                                              To prepare policy conditions and action arguments for an MLOV
                                                                              1. In Siebel Tools, display the following object types:

                                                                                • Workflow Policy

                                                                                • Workflow Policy Program

                                                                                • Workflow Policy Program Arg

                                                                                For more information, see Displaying Object Types You Use to Configure Siebel CRM.

                                                                              2. In the Object Explorer, click Business Component.

                                                                              3. In the Business Components list, locate the relevant business component.

                                                                              4. In the Object Explorer, expand the Business Component tree, and then click Field.

                                                                              5. In the Fields list, identify the fields that are enabled for an MLOV.

                                                                              6. Of the fields that are enabled for an MLOV, identify the fields that reference the workflow policy conditions and action arguments.

                                                                              7. For each field that references a workflow policy condition, do the following:

                                                                                1. Creating an Applet That Uses Language-Independent Code.

                                                                                2. Creating a List That Uses Language-Independent Code.

                                                                                Creating an Applet That Uses Language-Independent Code

                                                                                In this topic, you create an applet that uses language-independent code.

                                                                                To create an applet that uses language-independent code
                                                                                1. In the Object Explorer, click Applet.

                                                                                2. In the Applets list, locate an applet that resembles the functionality you require.

                                                                                  For example, Account Status Pick Applet.

                                                                                3. Right-click the applet, and then click Copy Record.

                                                                                4. Set properties using values from the following table.

                                                                                  Property Value

                                                                                  Name

                                                                                  Append LIC to the name. For example, Account Status Pick Applet LIC.

                                                                                5. In the Object Explorer, expand the Applet tree, expand the List tree, and then click List Column.

                                                                                6. In the List Columns list, locate a list column that resembles the functionality you require.

                                                                                7. Right-click the list column, and then click Copy Record.

                                                                                8. Set properties using values from the following table.

                                                                                  Property Value

                                                                                  Name

                                                                                  Name

                                                                                  Field

                                                                                  Name

                                                                                9. Create a list that uses language-independent code.

                                                                                  For more information, see Creating a List That Uses Language-Independent Code.

                                                                                  Creating a List That Uses Language-Independent Code

                                                                                  In this topic, you create a list that uses language-independent code.

                                                                                  To create a list that uses language-independent code
                                                                                  1. In the Object Explorer, click Pick List.

                                                                                  2. In the Pick Lists list, locate a picklist that resembles the functionality you require.

                                                                                    For example, Picklist Account Status.

                                                                                  3. Right-click the picklist, and then click Copy Record.

                                                                                  4. Set the properties using values from the following table.

                                                                                    Property Value

                                                                                    Name

                                                                                    Append LIC to the name. For example, Picklist Account Status LIC.

                                                                                    Sort Specification

                                                                                    Name

                                                                                  5. Configure the workflow policy and workflow policy program argument.

                                                                                    For more information, see Configuring the Workflow Policy and Workflow Policy Program Argument.

                                                                                    Configuring the Workflow Policy and Workflow Policy Program Argument

                                                                                    In this topic, you configure the workflow policy and workflow policy program argument.

                                                                                    To configure the workflow policy and workflow policy program argument
                                                                                    1. Configure the workflow policy:

                                                                                      1. In the Object Explorer, click Workflow Policy Column.

                                                                                      2. In the Workflow Policy Columns list, locate the workflow policy column that you must use with an MLOV.

                                                                                      3. Set the properties for the workflow policy column. Make sure you set them in the order that the following table lists them, starting with the Applet property.

                                                                                        Property Value

                                                                                        Applet

                                                                                        Choose the applet you created in Step 3 in Creating an Applet That Uses Language-Independent Code.

                                                                                        PickList

                                                                                        Choose the picklist you created in Step 3 in Creating a List That Uses Language-Independent Code.

                                                                                        Source Field

                                                                                        Name

                                                                                    2. Configure the workflow policy program argument:

                                                                                      1. In the Object Explorer, click Workflow Policy Program.

                                                                                      2. In the Workflow Policy Programs list, locate the workflow policy program that contains the argument you must enable for use with an MLOV.

                                                                                      3. In the Object Explorer, expand the Workflow Policy Program tree, and then click Workflow Policy Program Arg.

                                                                                      4. In the Workflow Policy Program Arguments list, choose the argument you must enable for use with an MLOV.

                                                                                      5. Set properties for the argument using values from the table in Step 1.

                                                                                    3. Compile your modifications.

                                                                                    4. Administer the values:

                                                                                      1. Open the Siebel client, navigate to the Administration - Business Process screen, and then click the Workflow Policies link.

                                                                                      2. In the Policies List, locate the policy you must modify.

                                                                                      3. In the Conditions List, choose the condition, and then enter the value.

                                                                                      4. In the Arguments List, choose the argument, enter the value, and then step off the record.

                                                                                        Siebel CRM stores the language-independent code.

                                                                                      Configuring Siebel Assignment Manager to Use MLOV Fields

                                                                                      To determine whether a condition is true, Siebel Assignment Manager compares values in target tables against values in the Assignment Manager administration tables. Assignment Manager cannot compare the language-independent code to the display value because of the following differences:

                                                                                      • Siebel CRM stores the language-independent code in the MLOV column of the database table.

                                                                                      • Siebel CRM stores the display value in the Assignment Manager administration table.

                                                                                      To allow Assignment Manager to work with an MLOV column, you must configure the criteria values and criteria skills so that they compare the language-independent code in the target table with the language-independent code in the Assignment Manager administration table. This situation is similar to configuring Siebel Workflow. For more information, see Configuring Siebel Workflow to Use MLOV Fields.

                                                                                      For more information, see Siebel Assignment Manager and Siebel Assignment Manager Administration Guide.

                                                                                        Preparing Criteria Values and Criteria Skills for an MLOV

                                                                                        In this topic, you prepare criteria values and criteria skills for an MLOV.

                                                                                        To prepare policy conditions and action arguments for an MLOV
                                                                                        1. Complete Preparing Policy Conditions and Action Arguments for an MLOV with the following modifications:

                                                                                          1. In Step 1 in Preparing Policy Conditions and Action Arguments for an MLOV, display the Workflow Policy Column and Assignment Attribute object types.

                                                                                          2. In Step 6 in Preparing Policy Conditions and Action Arguments for an MLOV, identify the fields that reference the following object types:

                                                                                            • Criteria Values

                                                                                            • Criteria Skills

                                                                                            • Workload Rules

                                                                                        2. Set the criteria for each field that references criteria values and criteria skills:

                                                                                          1. In the Object Explorer, click Assignment Attribute.

                                                                                          2. In the Assignment Attributes list, locate the assignment attribute that must work with an MLOV field.

                                                                                          3. Set properties of the assignment attribute using values from the following table.

                                                                                            Property Value

                                                                                            Translate

                                                                                            Contains a check mark.

                                                                                            Translate Pick Field

                                                                                            Choose the field that stores the language-independent code. The Name field typically stores the language-independent code.

                                                                                          4. Repeat Step 2 for each field until you configured all criteria.

                                                                                        3. Set the workload rules for each field you identified in Step b:

                                                                                          1. Create a new list to display language-independent code values.

                                                                                          2. Create a new applet to display language-independent code values.

                                                                                          3. Configure the workflow policy column to use the new list and applet.

                                                                                          4. Choose the values for predefined records.

                                                                                          Work you perform in this step is similar to work you perform to configure a workflow policy. For more information, Preparing Policy Conditions and Action Arguments for an MLOV.

                                                                                        4. Compile and test your modifications.

                                                                                          For more information, see Using Siebel Tools.

                                                                                          Configuring Siebel Anywhere to Use MLOV Fields

                                                                                          You can configure Siebel CRM to use MLOV fields with Siebel Anywhere. After you complete this task, you can perform typical tasks associated with Siebel Anywhere, such as creating and distributing a Siebel client repository upgrade kit. You must perform more configuration to create and distribute a Siebel client repository upgrade kit. For more information, see Siebel Anywhere Administration Guide.

                                                                                          To configure Siebel Anywhere to use MLOV fields

                                                                                          1. In Siebel Tools, in the Object Explorer, click Table.

                                                                                          2. In the Tables list, locate the S_UPG_KIT table.

                                                                                          3. In the Object Explorer, expand the Table tree, and then click Column.

                                                                                          4. In the Columns list, locate the STATUS column, and then set properties using values from the following table.

                                                                                            Property Value

                                                                                            Translation Table Name

                                                                                            S_LST_OF_VAL

                                                                                          5. Compile and test your modifications.

                                                                                            For more information, see Using Siebel Tools.