This article provides an introduction and basic steps to setup Multilingual List of Values (MLOV) in Siebel, ‘Sajal Sethi’ a friend of mine working in Siebel for past 4 years has provided this article.
Difference between Monolingual & Multilingual LOV’s:
Technically difference between the two is:
At the database level, Mono-lingual LOVs store Display Value in the columns whereas Multi-lingual LOVs store Language Independent Code (LIC) in the columns. Thus, for MLOV’s this leads to displaying of translated value of LOV in UI depending on the application’s language.
Points you should consider before setting up an MLOV:
- Configuration of MLOV’s can affect performance, especially when the field on which the picklist is based is used as part of a search or sort. One should consider the trade-off between need of having MLOV and performance.
- MLOV must be bounded (at Picklist level & Column Level)
- Picklist should not be a Hierarchical picklist.
- Picklist’s LOV Type should always match the LOV Type of the underlying column
- If the LOV Type is vanilla, it must be marked as Translatable in Administration Application -> List of Values -> Translate list column in the shipped version. (You are not supposed to check the flag.)
- Column should not be one of the columns in the attached list
Steps to setup Multilingual List of Values
Steps to be followed in Siebel Tools: (to be done directly on Server Tools)
- Go to Flat Tab, and Select Object Type: Column
- Query in the LOV Type field to search for all columns that are mapped to the LOV you want to make multi-lingual.
- All these Columns should have ‘LOV Bounded’ attribute set to TRUE (set it to True if not already true)
- Set the ‘Translation Table Name’ field of the column to ‘S_LST_OF_VAL’.
- Go to Flat tab and select Object Type: Picklist
- Query the ‘Type Value’ attribute for the LOV Type to be changed to MLOV
- For all the records queried, set the ‘LOV Bounded’ property to True.
Dock Object Visibility Rules:
- Go to Flat tab and select Dock Object Visibility Rules view
if you are not able to see Dock Object in Object explorer then you need to add it
- In SQL Statement field, search for the current value of LOV being changed to MLOV
- If this Display value exists in any of the SQL statements, replace it with corresponding LIC
Steps to be followed in Siebel Client Application:
- Connect to Server database through Siebel Web client (thick client)
- Navigate to Site Map > Application Administration > List of Values
- Query for LOV Type for all the Columns that have been enabled for MLOV.
- For every language that is supported, create a new record for language specific display value (LIC must remain the same as the original record).
- Length of LIC value must be equal to the longest display value for that LOV_TYPE, else values get truncated.
- If the LOV Type is non-vanilla, set it as translatable in Administration Application -> List of Values -> Translate list column.
Best Practice while referring to MLOV in Scripts:
- When a developer uses GetFieldValue in a script to fetch value a field which is LIC enabled, the function will return display value instead of Language Independent code.
- To overcome this problem, do the following:
Create a calculated field on the BC with Calculated Value as: LookupName(LOV_TYPE, [LIC Enabled Field Name])
- Use this calculated field in the script for GetFieldValue. This will always return Language Independent Code from NAME column of S_LST_OF_VAL table as desired.