Administering Unicode-Mode Applications Skip Navigation
Essbase® Analytic Services Database Administrator's Guide | Update Contents | Previous | Next | Print | ? |
Information Map

Administering Unicode-Mode Applications


In most cases, administering Unicode-mode applications is no different than administering non-Unicode-mode applications. Working in multiple character sets in Unicode mode can require additional attention in the following areas:

Setting Up a Computer for Unicode Support

Consider installing the following tools (not provided by Hyperion Solutions) for working with UTF-8 encoded text on computers that manage Unicode-mode applications:

Several software manufacturers provide UTF-8 fonts and Unicode editors.

Defining Password Security

Analytic Services security is defined at the Analytic Server level. To create passwords, use characters encoded according to the code page specified in the ESSLANG value on Analytic Server. In a multiple character set environment, consider using the characters in the standard ASCII character set, in the range from 0 through 127. Standard ASCII includes the upper and lower case letters in the standard English alphabet and the numerals 0 through 9. These characters are common to all code pages as well as to UTF-8.

Naming Applications and Databases

When you name applications and databases, be sure to use characters supported by the locale of the computer.

Managing Unicode-Mode Applications

Working with Unicode-mode applications involves the following processes:

Setting Analytic Server to Unicode Mode

By setting Analytic Server to Unicode mode, you grant permission for creating Unicode-mode applications and for migrating applications to Unicode mode.

To set Analytic Server to Unicode mode, use either of the following methods:


Tool
Topic
Location

Administration Services

Managing the Analytic Server Permission to Create Unicode-Mode Applications

Essbase Administration Services Online Help

MaxL

alter system

Technical Reference



Note: You can work with Unicode-mode applications without Analytic Server being set to Unicode mode.

Viewing the Unicode-Related Mode of Analytic Server

The Unicode-related mode of Analytic Server indicates whether or not Analytic Server has permission to create Unicode-mode applications and to migrate applications to Unicode mode. In Essbase Administration Services, the Unicode-related mode of Analytic Server is shown as a server property. In MaxL, it is displayed as the configuration, with the following values:

To check to see whether Analytic Server is set to Unicode mode, use either of the following methods:


Tool
Topic
Location

Administration Services

Managing the Analytic Server Permission to Create Unicode-Mode Applications

Essbase Administration Services Online Help

MaxL

display system

Technical Reference



Creating a New Unicode-Mode Application

At the time that you create an application you can specify the application to be in Unicode mode.

To create a new application and specify it to be in Unicode mode, use either of the following methods:


Tool
Topic
Location

Administration Services

Creating Unicode-Mode Applications

Essbase Administration Services Online Help

MaxL

create application

Technical Reference



Migrating Applications to Unicode Mode

When Analytic Server migrates an application to Unicode mode, the character encoding in the application files is converted to UTF-8 encoding. Text files such as calculation scripts, report scripts, and data sources are not converted to UTF-8 encoding. For Unicode-mode applications, text files such as calculation scripts, report scripts, and data sources can be encoded in UTF-8 or in non-Unicode locales. You can use the Analytic Services Unicode File Utility to convert non-Unicode-encoded files to UTF-8. For details about this utility, see the Technical Reference.

Note: If you choose to work with non-Unicode text files, make sure that you understand how Analytic Services determines the locales of non-Unicode text files. See Managing File Encoding.

Before migrating application files to Unicode mode, perform the following tasks:

To migrate an application from non-Unicode mode to Unicode mode, use either of the following methods:


Tool
Topic
Location

Administration Services

Migrating Applications to Unicode Mode

Essbase Administration Services Online Help

MaxL

alter application

Technical Reference



Viewing the Unicode-Related Mode of an Application

In Administration Services, the Unicode-related mode of an application is shown as an application property. In MaxL, it is displayed as the application type, with the following values:

To see whether an application is a Unicode-mode application, use either of the following methods:


Tool
Topic
Location

Administration Services

Monitoring Applications

Essbase Administration Services Online Help

MaxL

display application

Technical Reference



Using Control Characters in Report Scripts

When working with reports for non-Unicode-mode applications, Report Writer uses language-specific codes that enable columnar data to line up precisely. Unicode does not contain language-specific formatting codes within its encoding. As a result, report columns may not line up precisely.

Non-Unicode-mode applications that use single-byte code pages continue to support the following Hexadecimal control characters in report scripts: x20, x09, x0A, x0D, xB3, xC3, xC4, xC2, xC0, x0C, xB1.

Unicode-mode applications and non-Unicode-mode applications that use multi-byte code pages support the following Hexadecimal control characters in report scripts: x20, x09, x0A, x0C, x0D.

Working with Partitions

Consider the following situations when designing and working with partitions:

Working With Logs

By default, the agent log file is encoded to the locale specified by the ESSLANG variable defined for Analytic Server. You can use the configuration setting UNICODEAGENTLOG to tell Analytic Server to write the agent log in UTF-8 encoding. In UTF-8 encoding, with a font that supports it, all characters should be readable. For details about the UNICODEAGENTLOG configuration setting, see the Technical Reference.

Application and outline change log files for databases in Unicode-mode applications are UTF-8 encoded. You can use Log Viewer or Log Analyzer in Essbase Administration Services or a UTF-8 editor to view these application logs. You need a UTF-8 editor or viewer to view outline change logs. You cannot change the encoding of logs related to Unicode-mode applications to non-Unicode encoding.

Managing File Encoding

Analytic Services supports many non-Unicode encodings, as listed under Supported Locales. In addition, UTF-8 encoding is supported for Unicode-mode applications.

Because a bit combination can map to different characters in different encodings, you need to understand how Analytic Services works with file encodings-particularly if you intend to use non-Unicode-encoded files with Unicode-mode applications.

Note: For Unicode-mode applications shared across multiple locales, using UTF-8-encoded files is recommended. Using UTF-8 encoding is simpler because you do not have to keep track of locales and encoding. Also, using UTF-8 can be more efficient because Administration Server uses Unicode encoding internally and no internal conversion between formats is needed.

The following topics describe how Analytic Services determines the encoding of files and how you manage files with different encoding:

How the Encoding of a File Is Determined

With non-Unicode-mode applications, Analytic Services and Administration Services assume that character text is encoded to the locale specified by the ESSLANG value defined for Analytic Server.

When Analytic Services works with Unicode-mode applications, it encodes character text in UTF-8 encoding internally and stores character text in UTF-8. Export files are also encoded in UTF-8. When Analytic Services works with Unicode-mode applications, it can also handle non-Unicode-encoded input files such as script files, rules files, and data sources, converting them internally to UTF-8.

Note: For Unicode-mode applications, Analytic Services requires the query log settings file dbname.cfg to be encoded in UTF-8.

Analytic Services and Administration Services use file encoding indicators to know whether a file is encoded in UTF-8 or in one of the supported non-Unicode encodings. Encoding indicators are UTF-8 signatures or locale indicators. A locale indicator is optional for a non-Unicode input file whose encoding matches the locale of the Analytic Server. However, a locale indicator must be provided for a non-Unicode input file that is encoded different from the encoding specified in the locale of Analytic Server. For details about encoding indicators, see Encoding Indicators.

UTF-8-encoded text files must include the UTF-8 signature.

Administration Services uses the following process to determine the encoding of a non-Unicode-encoded file:

  1. If a locale indicator is present in the file, Administration Services uses the specified encoding.

  2. If no locale indicator is present and the file is located within an application, Administration Services uses the encoding specified in the locale of Analytic Server.

  3. It no locale indicator is present and the file is not located within an application, Administration Services determines the encoding based on the type of file:

When Analytic Services performs a dimension build or data load, the rules file and data file can have different encodings; for example, the text in a rules file can be in UTF-8 encoding, and the data source can be encoded to a non-Unicode computer locale.

Note: When you use Administration Services Console to create script files or data sources, the appropriate encoding indicator is automatically included in the file. When you use any tool other than Administration Services Console to create text Unicode-encoded files, you must ensure that the UTF-8 signature is included. Non-Unicode-encoded text files require a locale indicator if the encoding is different than the locale of Analytic Server.

The following text Analytic Services system files are encoded to the locale specified by the ESSLANG value defined for Analytic Server.

Encoding Indicators

To properly interpret text such as member names, Analytic Services must know how it is encoded. Many files contain an encoding indicator, but you may occasionally be prompted to specify the encoding of a file; for example, when Administration Services creates a file and stores it in a different location than the Analytic Server, or when Administration Services reads a file created by a non-Unicode release of Analytic Services. The type of encoding indicator depends on the type of file:

The UTF-8 signature is a mark at the beginning of a text file. The UTF-8 signature, visible in some third-party editors, indicates that the file is encoded in UTF-8. Many UTF-8 text editors can create the UTF-8 signature. You can also use the Analytic Services Unicode File Utility (ESSUTF8) to insert the UTF-8 signature into a file. For more information, see Analytic Services Unicode File Utility. When you create a file using Administration Services Console, a UTF-8 signature is automatically inserted in the file.

UTF-8-encoded text files must contain the UTF-8 signature.

The locale header record is an additional text record that identifies the encoding of the non-Unicode-encoded text file. You can add the locale header at the time you create the file or you can use the Analytic Services Unicode File Utility to insert the locale header. For details about the locale header, see Locale Header Records.

Note: Do not combine a UTF-8 signature and locale header in the same file. If a text file contains both types of encoding indicators, the file is interpreted as UTF-8 encoded, and the locale header is read as the first data record.

Caution: Do not use non-Unicode-encoded files containing locale indicators with Analytic Server installations that are not Unicode enabled, that is, installations that used a release prior to Release 7.0. The Analytic Services Unicode File Utility (ESSUTF8) enables you to remove locale indicators.

Locale Header Records

The locale header record is an additional text record that identifies the encoding of the non-Unicode text file. You can insert the locale header record as the first record in a non-Unicode-encoded text file when you create the file or you can use the Analytic Services Unicode File Utility (ESSUTF8) program to add the header. The locale header record has the following format:

//ESS_LOCALE <locale-name> 
 

<locale-name> is a supported Global C locale in the format that is used for the ESSLANG variable:

<language>_<territory>.<code page name>@<sortsequence>  
 

Note: Analytic Services consults only the <code page name> portion of the record. The <sortsequence> specification does not affect sort sequences in report scripts.

See Supported Locales for a list of supported Global C locales.

The following example displays a locale header for a specific Russian code page:

//ESS_LOCALE Russian_Russia.ISO-8859-5@Default 
 

The following rules also apply:

Caution: Do not insert a locale header record in a UTF-8 encoded file. The file is interpreted as UTF-8 encoded, and the locale header is read as the first data record.

For compatibility, when Administration Services Console saves calculation scripts on Analytic Server installations that are not Unicode-enabled, that is, installations that use a release prior to Release 7.0, it uses a different format. Instead of prefixing the locale with //, Administration Services Console inserts the locale header between the calculation script comment indicators, /* */.

Supported Locales

The following supported locales can be used as locales in locale header records and in the Analytic Services Unicode File Utility (ESSUTF8) and as ESSLANG values.

Arabic_SaudiArabia.ISO-8859-6@Default
Arabic_SaudiArabia.MS1256@Default
Croatian_Croatia.ISO-8859-2@Croatian
Croatian_Croatia.MS1250@Croatian
CyrillicSerbian_Yugoslavia.ISO-8859-5@Default
CyrillicSerbian_Yugoslavia.MS1251@Default
Czech_CzechRepublic.ISO-8859-2@Czech
Czech_CzechRepublic.MS1250@Czech
Danish_Denmark. ISO-8859-15@Danish
Danish_Denmark.IBM500@Danish
Danish_Denmark.Latin1@Danish
Danish_Denmark.MS1252@Danish
Dutch_Netherlands.IBM037@Default
Dutch_Netherlands.IBM500@Default
Dutch_Netherlands.ISO-8859-15@Default
Dutch_Netherlands.Latin1@Default
Dutch_Netherlands.MS1252@Default
English_UnitedStates.IBM037@Binary
English_UnitedStates.IBM285@Binary
English_UnitedStates.IBM500@Binary
English_UnitedStates.Latin1@Binary
English_UnitedStates.MS1252@Binary
English_UnitedStates.US-ASCII@Binary
Finnish_Finland.IBM500@Finnish
Finnish_Finland.ISO-8859-15@Finnish
Finnish_Finland.Latin1@Finnish
Finnish_Finland.MS1252@Finnish
French_France.IBM297@Default
French_France.IBM500@Default
French_France.ISO-8859-15@Default
French_France.Latin1@Default
French_France.MS1252@Default
German_Germany.IBM273@Default
German_Germany.IBM500@Default
German_Germany.ISO-8859-15@Default
German_Germany.Latin1@Default
German_Germany.MS1252@Default
Greek_Greece.ISO-8859-7@Default
Greek_Greece.MS1253@Default
Hebrew_Israel.ISO-8859-8@Default
Hebrew_Israel.MS1255@Default
Hungarian_Hungary.ISO-8859-2@Hungarian
Hungarian_Hungary.MS1250@Hungarian
Italian_Italy.IBM280@Default
Italian_Italy.IBM500@Default
Italian_Italy.ISO-8859-15@Default
Italian_Italy.Latin1@Default
Italian_Italy.MS1252@Default
Japanese_Japan.IBM930@Binary
Japanese_Japan.JapanEUC@Binary
Japanese_Japan.MS932@Binary
Korean_Korea.MS1361@Binary
Korean_Korea.MS949@Binary
Norwegian_Norway.IBM500@Danish
Norwegian_Norway.ISO-8859-10@Danish
Norwegian_Norway.ISO-8859-15@Danish
Norwegian_Norway.ISO-8859-4@Danish
Norwegian_Norway.Latin1@Danish
Norwegian_Norway.MS1252@Danish
Polish_Poland.ISO-8859-2@Polish
Polish_Poland.MS1250@Polish
Portuguese_Portugal.IBM037@Default
Portuguese_Portugal.IBM500@Default
Portuguese_Portugal.ISO-8859-15@Default
Portuguese_Portugal.Latin1@Default
Portuguese_Portugal.MS1252@Default
Romanian_Romania.ISO-8859-2@Romanian
Romanian_Romania.MS1250@Romanian
Russian_Russia.ISO-8859-5@Default
Russian_Russia.MS1251@Default
Serbian_Yugoslavia.ISO-8859-2@Default
Serbian_Yugoslavia.MS1250@Default
SimplifiedChinese_China.IBM935@Binary
SimplifiedChinese_China.MS936@Binary
SimplifiedChinese_China.UTF-8@Binary
Slovak_Slovakia.ISO-8859-2@Slovak
Slovak_Slovakia.MS1250@Slovak
Slovenian_Slovenia.ISO-8859-10@Slovenian
Slovenian_Slovenia.ISO-8859-2@Slovenian
Slovenian_Slovenia.ISO-8859-4@Slovenian
Slovenian_Slovenia.MS1250@Slovenian
Spanish_Spain.IBM500@Spanish
Spanish_Spain.ISO-8859-15@Spanish
Spanish_Spain.Latin1@Spanish
Spanish_Spain.MS1252@Spanish
Swedish_Sweden.IBM500@Swedish
Swedish_Sweden.ISO-8859-15@Swedish
Swedish_Sweden.Latin1@Swedish
Swedish_Sweden.MS1252@Swedish
Thai_Thailand.MS874@Thai
TraditionalChinese_Taiwan.EUC-TW@Binary
TraditionalChinese_Taiwan.IBM937@Binary
TraditionalChinese_Taiwan.MS950@Binary
Turkish_Turkey.ISO-8859-3@Turkish
Turkish_Turkey.ISO-8859-9@Turkish
Turkish_Turkey.MS1254@Turkish
Ukrainian_Ukraine.ISO-8859-5@Ukrainian
Ukrainian_Ukraine.MS1251@Ukrainian 
 

Analytic Services Unicode File Utility

You can use the Analytic Services Unicode File Utility to convert non-Unicode-encoded text files to UTF-8 encoding or to add or delete encoding indicators. This program supports the following operations:

Located in the ARBORPATH\bin directory, the Analytic Services Unicode File Utility is called essutf8.exe (in Windows) or ESSUTF8 (in UNIX). You can use the utility program with the following files:

For information about this utility and its command syntax, see the Technical Reference.



Hyperion Solutions Corporation link