首页 > 代码库 > Globalization Guide for Oracle Applications Release 12
Globalization Guide for Oracle Applications Release 12
Section 1. OverviewAudienceThis document, the Oracle Applications Globalization Guide, provides key information for using Oracle Applications in global organizations. Much of the information is also applicable to smaller organizations that may be located in a single country but trade globally. This guide follows a task-based approach for presenting information, and different chapters (marked with an X in the table below) will be of interest for particular users.
This guide provides an overview of internationalization concepts and associated operations in an Oracle Applications system. Several appendices serve as reference guides for a number of specific internationalization topics. These are intended for consultation on an as-needed basis, depending on the specific requirements of an installation. TerminologyThis section explains some terminology related to international language support in Oracle Applications. National Language Support (NLS)In Oracle Applications, National Language Support (NLS) refers to the ability to run an Applications instance in any single supported language, including specific regional or territorial number and date formats. Typically, in order to support a given language, only the customer-facing components of the Applications software (user interface, lookup tables, online documentation, and so on) are translated. Translations are delivered via NLS patches. Multiple Language Support (MLS)In Oracle Applications, Multiple Language Support (MLS) refers to the ability to run multiple languages in the same Applications instance. MLS provides multiple language architecture, while NLS provides the individual language translations. NLS_LANGMany Oracle products use the NLS_LANG environment variable to specify locale behavior. NLS_LANG has three components, concatenated as LANGUAGE_TERRITORY.CHARSET; for example, NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1. Base Language and Installed LanguagesAn Applications instance has one base language, and may have one or more installed languages. An instance will always have at least American English. All products, whether MLS-enabled or not, can store data in the base language. MLS-enabled products or components can store data in the base language as well as any installed languages. Most products in Applications Release 12 are MLS-enabled. UnicodeUTF8 and AL32UTF8 are encodings of the Unicode character set and include all the characters in all modern languages. UTF8 and AL32UTF8 allow Oracle Applications to be run from one database instance using any combination of supported languages. The advantage of AL32UTF8 over UTF8 is in the handling of supplementary characters, which are increasingly used in certain languages. AL32UTF8 is the current default database character set for Oracle databases. LocaleA locale is a collection of information relating to the linguistic and cultural preferences for a particular region. In an Oracle database, a locale consists of language, territory, and character set. An Oracle locale is associated with certain formatting behavior, and provides defaults for the user profile options in Oracle Applications. LocalizationsLocalizations provide additional business functionality that is required for certain countries. This is distinct from translations, which are the text data for a language used in Applications products: in contrast, a localization results in an application functioning differently. In the OA Personalization Framework, localizations exist at the Localization level of personalization, and can be overridden by more specific functionality at the Site, Organization, Responsibility, User, or Portlet personalization levels. For more information, see the Oracle Application Framework Personalization Guide Country specific functionality is included in the base code called globalizations, and is licensed using the Rapid Install Wizard or the License Manager in Oracle Applications Manager. For details on installing country-specific functionality and languages using the Rapid Install Wizard, see the Oracle Applications Installation guide. For more information on License Manager, see Maintaining Oracle Applications. Once installed and licensed, localizations can be turned on and off for testing purposes using Help > Diagnostics > Custom Code. PersonalizationsPersonalizations are settings that affect applications behavior, and have a built-in precedence of levels. For instance, the labels appearing in a OAF-based web page can be modified or hidden for a given level, such as Site level or Responsibility level. See the Oracle Application Framework Personalization Guide for more details on personalizations. Date FormattingDates can be entered in any valid format, such as 12-31-07 (US standard), 31-12-07 (British standard), or 2007-12-31 (ISO standard). The setting is controlled by the Date Format Mask profile option. Number FormattingCountry-specific conventions determine how a number is entered and displayed. For example, the number "one million" is usually represented as 1,000,000.00 in the United States and United Kingdom, with the period (.) being used as the decimal separator, and the comma (,) being used as the grouping separator between thousands. In contrast, many European countries use the comma as the decimal separator and the period as the grouping separator, so "one million" may be represented as 1.000.000,00. The characters used for the decimal separator and grouping separator to be changed to suit user preference when numbers are entered or displayed. NLS PatchesNLS patches are special patches that provide language translations including user interface labels, menus, and some Oracle seeded setup data.Translation Synchronization PatchThe Translation Synchronization patch (TSP) feature allows you to synchronize your existing translations with the American English file versions or to install new languages on your Applications instance. By applying just one patch for each language, you will be able to bring your translations up to your Applications patch level. You can also choose to get the latest translations to bring your translations up-to-date.Lightweight MLSThe lightweight MLS feature, introduced in Oracle E-Business Suite 12.1.3, allows you to use a language without applying its corresponding NLS patches. This type of language enabling option is referred as lightweight mode. In contrast, full translation mode refers to the traditional language enabling option that requires NLS patches to be applied for all languages in use. In lightweight mode, the user Interface (UI) will be in English, but you can still translate the relevant seed data, reports, and Forms/Oracle framework pages. You can later switch to full translation mode by applying the language NLS patches.Lightweight-only LanguageA language which can be enabled in lightweight mode only. A lightweight-only language cannot be switched to full translation mode because Oracle does not provide NLS patches, including Translation Synchronization patches, for such languages.Related Documents
Section 2. InstallingThis section is intended for use as a supplement to the standard Oracle Applications documentation: it does not replace the Oracle Applications Installation Guide, or Upgrade manuals, or the NLS Release Notes. The intended audience is an administrator installing an Applications instance. Oracle Applications Internationalization ArchitectureTiers and character setsAn Oracle Applications system consists of three tiers: the database tier, application (middle) tier, and client (desktop) tier. The most important language-related feature on the database tier is the choice of database character set. AL32UTF8 is the recommended character set for instances providing multi-language support, as it can accommodate all the characters from the installed languages. However, for an installation that needs to support a single language (besides English), a specific character set could be chosen to accommodate that language and no others. For example, in the case of an organization operating only in Western Europe, the WE8IS08859P15 character set could be selected to support Western European languages specifically. This helps to optimize database performance, at the expense of flexibility. It would not, for example, be possible to later support Eastern European languages with this character set, if the organization opened a branch in Eastern Europe. The Applications components on the application tier utilize two language-related settings: the user profile and the NLS_LANG environment variable. The user profile stores user preferences such as session language, date format, and number format. It is stored in the database, but users can configure it from a browser using the Preferences page. Users set their preferred language in the web browser (the client tier), set their time zone, and verify that they have any required fonts and OS locales installed. The settings of the Applications user profile and the NLS_LANG environment variable play a significant part in mediating communication between the database tier and application tier, and between the application tier and client tier. For communication between the database tier and the application tier, the setting of NLS_LANG indicates the character set to be used on the application tier. Note: Use the same character set on both the database tier and application tier, to avoid the risk of losing characters on conversion. NLS_LANG and user profile are also used in communication between the application tier and the client tier. For example, OC4J generates HTML output based on the language setting in the user profile. With the Forms client, the character set is determined by the value of NLS_LANG, but the language is determined by the user profile. For more information on setting the NLS_LANG correctly in Unix environments, see 264157.1 Planning the implementationPrior to installation, decide on your database character set. Create your database with a character set that supports all of the languages that you are installing or may install in the future. To minimize restrictions on the language combinations you can use, choose UTF8 or AL32UTF8. The Oracle Applications Installation Guide describes this in more detail. For a list of the supported non-Unicode character sets for each language, see the section on languages and character sets in this guide. You can use this SQL command to check the database character set: select value from nls_database_parameters where parameter=‘NLS_CHARACTERSET‘; Usage Requirement AnalysisThe starting point for deciding on a suitable NLS and MLS specification is the organization‘s requirements for languages. The languages needed are determined by two factors: languages of the organization‘s end users, and legislation where the organization conducts its business. Examples of the first consideration include:
An example of the second consideration would be:
Organizational requirements should be collected with both of these aspects in mind. Once this information is available, the appropriate languages and character sets can be chosen for the Applications system. Due to business changes such as mergers or entry in new markets, language requirements may change in the future. System Requirements AnalysisConsult the Oracle Applications NLS Release Notes to ensure that the system has enough resources for enabling NLS and MLS; pay particular attention to disk space, memory, and database size. Also look for information on the space needed per language, to accommodate:
Language and Character set Requirements AnalysisIn Oracle Applications, choosing a language means choosing a set of translated resources. Choice of character set is the most important factor for configuring NLS and MLS with Oracle Applications. The character set must support the all the characters of the languages that are to be installed. In addition, platform-specific characters or user-defined characters (UDC) may need to be supported. The character set should be determined based on these requirements, and then specified for the database as well as each HTTP server and APPL_TOP. Database Tier - Oracle Database Character SetThe database character set is chosen during initial installation of Oracle Applications. A default character set is suggested by Rapid Install, based on the languages selected. This default character set will support the system"specified language requirements. While the database character set can subsequently be changed to another character set that supports the language requirements, it is always desirable to choose the correct one at install time, as it is very time-consuming to alter it later. Thus, the database character set should be chosen after careful consideration of an organization‘s long-term needs. Adding languages after the implementation is complete may require a change in character set, unless UTF8 or AL32UTF8 was chosen. For this reason, AL32UTF8 is a good choice when planning for expansion. For maximum flexibility in meeting future requirements, Oracle recommends employing the AL32UTF8 character set, as this makes it easy to add other languages in the future. However, AL32UTF8 or UTF8 is not recommended for the Thai language, since it uses three bytes per Thai character and thus reduces the number of Thai characters that can be stored to one third. The available character sets are described in the Oracle National Language Support Guide and Oracle Globalization Support Guide. The following table lists the supported languages grouped into language categories, with the supporting database character sets (also known as code pages) that can be used with these languages. The non-Unicode character set suitable for a language depends on the language category, whether Euro currency symbol support is needed, and other customer requirements. Remember that a Unicode character set, such as AL32UTF8, is also supported for any of the languages listed. Languages in the same language category can be supported in a single instance using either Unicode (UTF8 or AL32UTF8) or the character set listed with the category. Languages from different language categories in a single instance can only be supported using Unicode. For example, since German is in the Western European language category and Polish is in the Eastern European category, only Unicode can support both German and Polish. However, English data is supported in any language category, because English characters are included in all of the other character sets. This table also indicates if the language is translated in Forms (F), Reports (R), and UIX (U). Oracle Database Language Codes, Translated Technologies, and Character Sets
Notes on Table
Note: Although AL32UTF8 is supported as a database character set, Unicode supplementary characters are not currently supported in Oracle Applications. Supplementary characters are Unicode characters with code point values greater than U+FFFF. Lightweight-only languagesLightweight-only languages are languages that can be enabled in lightweight mode only. Oracle do not provide NLS patches including Translation Synchronization patches (see MOS 252422.1 for details) for such languages. Therefore, unlike regular supported languages listed above, which customers can enable in full translation mode or start from lightweight mode then move to full translation mode through applying the NLS patches, the Lightweight-only languages listed below cannot move to full translation mode because there is no NLS patch available.
Notes on Table
Application Tier (Middle Tier) - APPL_TOP Character Set and ICX_CLIENT_IANA_ENCODINGThe application tier is the location of a number of Oracle Applications server processes, including the Forms server and Web server, which communicate with each other and with Applications software on the other tiers. The application tier character set should be identical to the database character set... The application tier character set is specified during installation in Rapid Install, and is called the APPL_TOP character set. The Web server, on the application tier, must use a character set that is supported by the browser, on the client tier. The application tier character set must support all the characters that the client tier languages employ. In other words, APPL_TOP character set must be identical to the database character set. Client Tier (Desktop Tier) - FND_NATIVE_CLIENT_ENCODINGThe client (desktop) character set, used for file downloads, is set during the post-installation steps in the FND_NATIVE_CLIENT_ENCODING profile option using the Oracle character set naming convention. This character set should be compatible with the OS character set of the user"s desktop machine. The administrator sets a site level default and the end user can override it in the user profile. Note: Whether you are planning a fresh NLS install or upgrading from an older release of Applications, you must follow the instructions in the NLS Release Notes for Release 12. Database Sort OrderOracle Applications Release before 12.2.2 supports only binary database sort order.
Multilingual Table StructureMultilingual support (MLS) in Oracle applications uses a base table, containing non-translatable content, and a translations table, containing translatable content for the base language and installed languages. This section explains how an MLS table is designed, how the MLS data is created, and how the data is maintained in the database. Translatable Applications tables are organized into pairs: a base table, whose name ends with "_B"; and a translation table, whose name ends with "_TL". For every row in the base table, there is one row in the translation table for each language, including the base language. A _TL table always has a LANGUAGE column, a SOURCE_LANG column, and one or more translatable columns.
How MLS tables are populatedAfter running Rapid Install, MLS (_TL) tables have rows for US (American English) only. select * from FND_MENUS_TL where MENU_ID=1011274 Returns one row: LANGUAGE=US, Description="Payables and Receivable Transactions", SOURCE_LANG=US After running Maintain multi-lingual tables in ADADMIN, the same select returns one row per language, for instance LANGUAGE=US, Description="Payables and Receivable Transactions", SOURCE_LANG=US ADADMIN created a copy of the source row for each target language. The source language in each row is American English (US), the data is American English, and the LANGUAGE column contains the target language code. The actual translation for each language can now be installed and will overwrite the appropriate target language row. Oracle seeded translations are installed by applying NLS patches. Files containing translated data reside in subdirectories named after the language code. For example, $AP_TOP/reports/NL, $GL_TOP/forms/F. Tables containing translatable data have a related translation table (_TL table). For tables containing translatable data, a _VL view allows the data to be selected based on the session language. Related Documents
Section 3. ConfiguringThis section discusses setting administrative suite wide configurations after the initial installation or Oracle Applications is complete. PreferencesIn Oracle Applications, various locale parameters influence the characteristics of the user session, such as the data display format and behavior. Administrators should review the NLS related profile option values and override them at the Site level if necessary. The administrator can access these values in either of these two paths
Some of these profile options can be overridden by the user at the session level, by setting them in the Preferences page. These parameters are stored as profile options, as follows:
Note: To disable user overrides of user profile options, the administrator can personalize the General Preferences page and set the Read Only property to true. To hide a profile option from the General Preferences page, the administrator can set the Rendered property to false. Profile options and NLS parametersChanging profile options has an effect on NLS parameters. The relationship between these can be summarized as follows:
Configuring Oracle PortalFor HTML-based Applications, web pages must be encoded in a character set that supports the languages in use. Oracle Portal uses the Apache modplsql module. The page encoding of the modplsql web interface is determined by the character set of NLS_LANG, as specified in the wdbsvr.app configuration file. If NLS_LANG is not set in the wdbsvr.app file, then the character set of the NLS_LANG parameter of the Apache server is used. Normally, this character set should be the same as the database character set. The encoding of the pages generated by non-Portal applications is determined by the profile option ‘ICX: IANA Client Encoding‘. In order for all Applications modules (Portal and non-Portal) to function in the same way, the value for ‘ICX: IANA Client Encoding‘ should be set to an IANA character set name that is mapped to the database NLS_LANG character set name. ‘ICX: IANA Client Encoding‘ can be set up only at site level. Since a single encoding is shared by all Applications users, the value used should be a character set that supports all languages in use. For example, when ‘ICX: IANA Client Encoding‘ is set to euc-jp, Applications can support Japanese characters. The page encoding will be euc-jp, and all the characters being input and output in the page will be encoded in euc-jp. To support Japanese characters input from a web page and inserted into a JA16EUC database, the ‘ICX: IANA Client Encoding‘ and the page encoding on the client side would both be set to euc-jp. Configuring UNIX for Concurrent ProgramsIn some cases, NLS setup for UNIX is not fully completed. This may be seen when printing reports through concurrent managers, where accented characters do not appear correctly. The reason for this problem is that UNIX by default uses a 7-bit character set, which is adequate to support all characters in the English language. If some non-English data, however, UNIX must be configured to accept and display 8-bit characters. In most UNIX systems, add the following line to the shell script used to set up the user‘s environment, typically .profile, .csrsh or .login. stty -istrip cs8 This command alters the UNIX session to allow 8-bit characters to be entered and displayed. The new capability will apply to future sessions only, unless the modified shell script is run in the current session. These changes will need to be made to at least the applmgr account, and, if a remote printer is in use, to the root account. It is advisable to update all existing user accounts in this way. If the concurrent managers are running while these changes are being made, they must be stopped and restarted for them to pick up the new setting. The change can be tested by examining a new output file (.out) with a program such as "vi" or "more", to check that accented or other 8-bit characters display properly. If they do, but a printout of the report does not show them, this will usually indicate a printer setup issue. Refer to the printer documentation to determine how to make it work with 8-bit characters. Configuring Oracle PortalAs of R12.1.1 SOA Gateway (SOA Provider and Web Service Provider) will support English only. This means that the responsibility name and security data group name must be in English when passing them to the SOA Gateway Header, regardless of the users default language used to set the session language. If the SOA Gateway header information, responsibility name and security data group, are retrieved at runtime, the user used to retrieve this data must have English set as the default language. Section 4. MaintainingThis section contains information for the administrator maintaining global applications after they have been installed and configured. For general information on maintaining Oracle Applications, see Oracle Applications Maintenance Procedures (available at Oracle Applications Documentation) To check the Oracle Applications base and installed languages, see the Language LOVs on the user preference page, use the License Manager, or run the following SQL command select NLS_LANGUAGE from FND_LANGUAGES where INSTALLED_FLAG in (‘B‘,‘I‘); The language with an INSTALLED_FLAG of ‘B‘ is the base language. Languages with INSTALLED_FLAG of ‘‘I‘‘ are installed languages. An installation has one base language, and can have zero or more installed languages. American English should always be either a base or an installed language. If you are running in a single-language environment with a language other than American English, this language will appear as an installed, but dormant, language. This is required for later upgrades, because upgrades are always performed in American English. Note: You cannot disable or deactivate a language once it is installed. Adding Languages and Performing Character Set ConversionAdding support for another language involves carrying out the following tasks to make the relevant tables MLS enabled. For more information see the Oracle Applications NLS Release Notes (Note 405294.1).
This process copies the _TL records from US (American English) to the corresponding records of the installed language. A record is created with SOURCE_LANG = ‘US‘ for each language that does not already have a record in the _TL table. All records are updated where SOURCE_LANG is different from LANGUAGE, defaulting the translatable fields to the value found under the SOURCE_LANG. Character Set ConversionSupporting languages from different language groups requires a Unicode character set. This involves running the Scanner Utility and altering the database character set to AL32UTF8. The following documents describe the steps involved in adding languages and performing character set conversion:
The File Character Set Converter (adncnv) utility is used to convert the character set of a file. Maintenance UtilitiesSome useful utilities and parts of Oracle Applications Manager documented in Oracle E-Business Suite Maintenance Utilities (for Release 12.1.3 and earlier; available at Oracle Applications Documentation) or in Oracle E-Business Suite Maintenance Guide (for Release 12.2)
Related GuidesFor Release 12.1.3 and earlier:
For Release 12.2:
Some useful utilities and parts of Oracle Applications Manager documented in Oracle Applications Maintenance Utilities (available at Oracle Applications Documentation)
Related GuidesOracle Applications Patching Procedures (available at Oracle Applications Documentation) Section 5. Using Oracle ApplicationsThis section discusses the global aspects of Oracle Applications that relate to the end user experience. Browser preferencesThe browser language preference is used to determine the default session language. For instructions on setting the browser language preference, see the browser documentation. This can be overridden at login time by selecting a different language on the login page. User names and PasswordsOracle E-Business Suite supports ASCII characters only for user names and passwords. Operating System LocaleThe language in some Windows dialogs is determined by the user locale in the Windows Regional Options control panel. It is recommended to set the Windows Regional Option to the desired language for Oracle Applications. The user locale setting also has an effect on numeric glyph display for some languages, such as Arabic, that use alternate digit glyphs. General PreferencesIn Oracle Applications, the following preferences are used to determine locale-specific behavior. These preferences may be referred to as NLS parameters in some Oracle Applications products. The general preferences are set using the Preferences page.
Note: In Release 12.1.2 and older, when Microsoft Excel is installed, the HTTP ACCEPT header will contain "MS-Excel". In this case, when a file is exported to CSV using Internet Explorer, files are generated in little-endian Unicode even if the Client Character Encoding is UTF-8. The data export is enhanced in 12.1.3. See the next section for details. Data Export ControlIn Release 12.1.3, the Oracle Application Framework-based export function was enhanced to handle tab-delimited values and choice of Unicode encoding. In Release 12.2, the Forms-based export function is also enhanced to support those for Global customers. The two profile options to control the feature are:
Section 6. CustomizingThis section contains notes on the architecture, standards, and toolkits used by a developer such as a consultant customizing Oracle Applications. Oracle Application FrameworkInternationalization support for user interface standards is encapsulated by the Oracle Application Framework (OAF). For information on OAF see the following documents
OANLSServicesDevelopers working on OAF-based applications are recommended to use OANLSServices (oracle.apps.fnd.framework.OANLSServices) for internationalization development. The OANLSServices utility class is documented using Javadoc. Section 7. TranslatingThis section discusses customizing delivered translations for Oracle Applications Release 12. Customer TranslationsCustomers can customize installed translations in Forms, Reports, database tables, and seed data. Only languages that have an Oracle defined language code can be translated. OA Framework based pages are stored in Meta Data Services (MDS). Using MDS, application metadata can be stored in XML files, in a format defined by MDS Schemas, or in the MDS Repository tables. For information on customer translations, see Customizing Translation in Oracle E-Business Suite - R12 (1382124.1). Translating DataTranslating OAF PersonalizationsSimilarly, translations for OA Framework personalizations can be accomplished via the user interface provided by OA Framework. Batch TranslationsBatch translations can be supported using the FNDLOAD utility. Translating Setup Data using FormsTo edit the translations of Oracle seeded data or to enter translations for setup data using Oracle Forms, click on the Globe icon at the top of any form that uses a multi-lingual table, then select the desired language from the list of installed languages presented. Note: Changes to Oracle seeded data may be overwritten during a patch or upgrade. Most of the Applications setup data can be translated using the Forms Translation window, by clicking on the Globe icon. JTF-based Applications provide a user interface to allow the translation of setup data specific to CRM applications. For example, when a user enters a Japanese translation using the Forms translation window, the row with LANGUAGE=‘JA‘ is updated with a new translation in the translatable fields, and the SOURCE_LANG column is updated with ‘JA‘. In other words, any record where SOURCE_LANG = LANGUAGE contains a translation. For more information, see Customizing Translation in Oracle E-Business Suite - R12 (1382124.1) Section 8. TroubleshootingThis section gives guidelines on resolving issues with National Language Support and Multiple Language Support with Oracle Applications. Rather than aiming to address all NLS and MLS issues, it describes how to identify and resolve problems using a step-by-step approach to gather the relevant information. The latter part of the section provides troubleshooting steps for specific international language support issues. Oracle Application Framework Troubleshooting Release 12 (395446.1) General Language Support Troubleshooting StepsWhen you see a problem, you should answer the following questions regarding your MLS configuration before contacting Oracle Support. Answering these questions will sometimes identify the problem in your configuration, and enable you to resolve the issue yourself. Which languages are in use?select NLS_LANGUAGE from FND_LANGUAGES where INSTALLED_FLAG in (‘B‘,‘I‘); What is the database character set?select value from nls_database_parameters where parameter=‘NLS_CHARACTERSET‘; Is this correct for the language or languages in use? This can be ascertained using the character set table in this document. What are the NLS parameters set to?The NLS parameters are determined by the preferences set for the Application user . You can verify the current preferences for the Application user in the Preferences page. What is the version of internationalization Java library?To know the version, execute following java class from command line such as:java oracle.apps.fnd.i18n.common.util.Version Is this the latest version? You can check the latest version at the "Internationalization Java library" section in "Internationalization Update Notes" and apply proper patch (if available) to make it latest. Have any patches been applied?Using OAM, determine if any patches have been applied. If so, confirm that the American English version of the patch was applied first, regardless of the base language. Profile options scriptSQL Display Apps Profile Options (Rel 11i) from SQL*Plus: 146705.1 The script in 146705.1 can be used to display values for profile options. This is useful when application behavior varies by user or responsibility. This script was written for Release 11 but also applies to Release 12. Troubleshooting unique constraint violationsUnique constraint violations (ORA-00001 errors) may be encountered while synchronizing multi-lingual tables, either when performing the AD Administration step "Maintain multi-lingual tables", or while running a similar script in an upgrade. The potentially conflicting data can be updated by running the fix generated by the SQL script adnuniq.sql. This script is located under the $AD_TOP/patch/120/import/ directory. Run it as follows: $ sqlplus / @$AD_TOP/patch/120/sql/adnuniq.sql For example, a unique constraint named FND_MENU_ENTRIES_TL_N1 defined on table FND_MENU_ENTRIES gives an ORA-00001 error while FNDNLINS.sql is being run. Run the following command (for UNIX): $ sqlplus apps/apps @$AD_TOP/patch/120/sql/adnuniq.sql FND_MENU_ENTRIES_TL_N1 This outputs all the possible constraint violation candidates and generates a "fix" SQL script that can be used to bump the conflicting rows by prepending them with an "@" symbol. Both adnuniq.sql and the fix script rely on the Applications data dictionary information stored in FND_TABLES, FND_COLUMNS, FND_PRIMARY_KEYS, and other tables. The correctness of the script should be validated prior to running it. Once you have applied the fix SQL script generated by adnuniq.sql, restart the script that originally failed. If this fails to resolve the issue, contact Oracle Support. Under no circumstances should you edit any Oracle Applications SQL scripts to work around the problem. Troubleshooting applying NLS patchesApplying an NLS patch may give the errors ORA-00001, unique constraint violated, and ORA-01403, no data found. As stated in the Install manual, you can ignore this error, by choosing in the adctrl utility to skip the failed jobs (only for ORA-00001 and ORA-01403 errors) by choosing hidden option 8, and entering the number of the worker that failed. This will cause the worker to skip the failed job and restart. Troubleshooting FormsFor Forms-based Applications products, language data is converted from the client‘s native encoding to UTF-16, the encoding used by Java, since a Java applet is being used. Then, the data is converted to UTF8, the Forms internal character set. Finally, the data is converted to the application tier character set, as specified by the character set part of the NLS_LANG environment variable on the Forms server. Verify that the NLS_LANG environment variable is set correctly.
Troubleshooting ReportsOracle delivers a number of seeded report-producing programs with Oracle Applications. These reports are generated using a variety of programs and utilities, including SQL*Plus, Oracle Reports, C programs, PL/SQL stored procedures, and BI Publisher. Some reports delivered with Oracle Applications prior to Release 12 were designed as character-mode (text) reports using Oracle Reports. Although Applications Release 12 allows Oracle Reports-based reports to be transformed to other supported bitmap formats, including HTML, and PostScript, it is recommended that Applications Release 12 customers migrate to BI Publisher. BI Publisher supports various file formats including PDF, HTML, Excel, RTF and more. Oracle Applications provide seeded BI Publisher templates in Release 12. Restrictions in Oracle Reports-based reports
References
Question Marks on Reports migrated from Windows to UNIXWhen run in Windows, characters are displayed correctly in reports. However, transferred to UNIX and run, certain characters are displayed as question marks. The registry entry for NLS_LANG on the Windows machine is AMERICA_AMERICAN.WE8ISO8859P1. The database query select * from V$NLS_PARAMETERS; also shows NLS_CHARACTERSET is set to WE8ISO8859P1. Solution The environment variable NLS_LANG must be set correctly. To check the current value, run the ‘Print environment variable values‘ concurrent program with NLS_LANG as a run time parameter. It should return a value such as: NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 Troubleshooting non-translated menu promptsAn Applications user may see a menu prompt in English rather than the expected translated string. For example, a German user chooses the translated responsibility "Rechnungswesen", but sees English prompts such as "Journals" instead of the expected German prompts such as "Buchungen". There are four possible reasons for this behavior:
The cause of non-translated menu prompts can be determined using the following steps. Step 1: Identify the menu name that contains the untranslated prompts Log in to Applications as System Administrator to find out the name of the menu that is used when an user chooses the responsibility. Navigate to "Security -> Responsibility -> Define". Then, query for the translated responsibility (such as "Rechnungswesen") and look at the field "Menu". This is the name of the menu that is displayed to the user, such as GL_SUPERUSER. Step 2: Identify the UNIX .slt filename that seeds the menu prompts Log in as applmgr and change directory to $APPL_TOP. Then, use the following command to locate the loader file that delivers the definition of the menu GL_SUPERUSER: find . -type f -name "*.slt" -exec fgrep "\"GL_SUPERUSER\"" {} \; -print The output will look something like: BEGIN MENU "GL_SUPERUSER" These five files contain data for the menu GL_SUPERUSER. The first two files are not in NLS subdirectories, but the remaining three files are in NLS subdirectories ("D" = German) and contain translation data. Repeat the above step, this time searching for *.ldt files as follows: find . -type f -name "*.ldt" -exec fgrep "\"GL_SUPERUSER\"" {} \; -print Step 3: Analyze the NLS seed data files found in Step 2 Open the files found in Step 2 with an editor such as vi, and search for USER_MENU_NAME = "GL_SUPERUSER". The lines saying "PROMPT" contain the menu prompts that make up the menu. For example, PROMPT = "Buchungen". Step 4: Conclusion If the NLS seed data file shows the correct NLS prompts, the NLS patch has probably not been applied completely. If no NLS prompts are seen in the NLS seed data file, this may indicate an NLS translation bug. Troubleshooting translation issues in messages and dynamic reportsThe sequence of events for troubleshooting a message that appears in English rather than in the required language is:
Troubleshooting Character Mode ReportsCharacter mode reports use PASTA
Troubleshooting Bitmap ReportsBitmap reports use IX Library.
Appendix A. Migrating to UnicodePrefaceThis section gives an overview of the steps needed to migrate a non-Unicode Applications instance to UTF8. If your Unicode character set will be AL32UTF8, change UTF8 to AL32UTF8 in these instructions. Unless explicitly stated, the steps apply to all platforms. DatabaseMigrate Database Character SetMigrate the database character set to UTF8. For more details, follow the content in the following source documents: Migrating an Applications Installation to a New Character Set (124721.1) Changing the Database Character Set or the Database National Character Set (66320.1) Update listener.oraThe Report Review Agent (RRA) is the default text viewer within Oracle Applications, allowing users to view report output and log files. The NLS_LANG setting for the Report Review Agent executable, FNDFS, must be set to UTF8. This can be configured in listener.ora. Update NLS_LANG in the ‘ENVS‘ parameters within the listener.ora files in the Oracle Database Server Home and the Oracle Applications Home: ENVS=NLS_LANG=AMERICAN_AMERICA.UTF8 Check Database Packages and ProceduresEnsure that the package OWA_UTIL contains ‘Ccharset‘ as an argument within the MIME_HEADER procedure Files on Application TierEnvironment FilesSome of the Applications environment files (.env extension) contain NLS_LANG settings, which needs to be UTF8. Proceed as follows.
Registry (Windows only)The registry stores configuration information for Windows-based applications. Correct the following registry entries, if they exist, so that UTF8 is specified in the character set portion of NLS_LANG: \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG Note: Since applying a Forms patchset may reset the character set part of NLS_LANG to WE8ISO8859P1, the registry entries listed above should always be checked after applying such a patchset. File Character Set ConversionIf UTF8 is used on the database tier, it must be used on all tiers. Hence, all files on the application tier need to be converted to UTF8, if applicable. Note, when using AD Administration, the character set component of the NLS_LANG setting must be set to UTF8. For converting multiple files using AD Administration, use the Convert Character Set menu from Maintain Applications Files menu. For converting individual files, use the File Character Set Converter (adncnv). For more details, refer to the source document Oracle Applications Maintenance Utilities (available at Oracle Applications Documentation) Regenerate Forms and ReportsIf the character set of any existing Forms (.fmx and .mmx) and Reports (.rdf) files is different from UTF8, those files must be re-generated in the UTF8 character set. Note that the Forms (.fmb and .mmb) files remain in the local language character set. In AD Administration, use the "Generate forms files, reports files, and graphics files" menu from the "Generate Applications Files Tasks" menu For more details, refer to the source document: For more details, refer to the source document Oracle Applications Maintenance Utilities (available at Oracle Applications Documentation) Generate MessagesIf the character set of any existing Message (.msb) files is different from UTF8, those files must be regenerated in the UTF8 character set. In "AD Administration", use "Generate message files" menu from "Generate Applications Files Tasks menu". After generating message files, stop and restart the Apache server to clear any cached information related to messages. For more details, refer to the source document:For more details, refer to the source document Oracle Applications Maintenance Utilities (available at Oracle Applications Documentation) Chapter 4, "Maintenance", Section "AD Administration", Subsection "Generate message files" Forms and Reports BuildersIn order to start forms or reports builders on a Unicode environment, the XENVIRONMENT variable must be set:Tk2Motif_UTF8.rgb or Tk2Motif_AL32UTF8.rgb (UNIX Only)In order to start forms or reports builders on an UTF8 or AL32UTF8 environment, the XENVIRONMENT variable must be set to the UTF8 or AL32UTF8 version of Tk2Motif.rgb. For instance, on a UTF8 envioronment:
Character Mode ReportsIf UTF8 or AL32UTF8 is used in the Applications instance, the PASTA printing utility should be set up so that Unicode characters can be viewed and printed.For more details, refer to the source document: Document reference: "Oracle Applications System Administrator"s Guide Volume 1 Release 11i" Chapter 7 "Printer", Subsection "Printer Setup with Pasta" When Bi-Directional (BiDi) support is required with character mode reports in the Unicode environment, follow the steps below:
Bitmap Reports - PostScript FormatThe IX Library enables PostScript generation by embedding a TrueType (ttf) font in the PostScript output. The IX Library is enabled by setting the IX_PRINTING environment variable to an IX Library configuration file, ixlib.cfg, as follows: $ IX_PRINTING=$FND_TOP/$APPLRSC/ixlib.cfg For more details, refer to the Oracle Reports 10.1.2 NLS Setup Guide for Oracle Applications R12 (415967.1) Section "2.3.1.3 Font Embedding Setting" Applications ProductsSet ICX:Client IANA Encoding Profile OptionICX:Client IANA Encoding profile option specifies the IANA character encoding that is used to display HTML-based Applications pages. It can be specified at site level only. Specify UTF-8 in ICX:Client IANA Encoding profile option value at Site level. FinishIn order to activate all of the above changes, restart all server processes. Source APPSORA.env and restart all database and Applications services. Appendix B: Oracle Applications Locale DataLanguages
Notes: Oracle database, and application server, and patches use the Oracle language code convention, while some products and standards such as XDO and XLIFF use the short (two letter) two or full (four letter) ISO language codes. Client Character Encodings and IANA Encodings
Client Character Sets and Native Client Encodings
Number Formats
Date Formats
Territories
Timezones
Currencies
R12.1 Updates All the changes are included into R12.1 by the patch#6802071 - R12.1 SEED DATA FOR FND_LANGUAGES, FND_TERRITORIES, AND FND_CURRENCIES FND_LANGUAGES Updates
FND_CURRENCIES Updates
FND_TERRITORIES Updates
Copyright 2013 Oracle Corporation. All Rights Reserved. |
Globalization Guide for Oracle Applications Release 12