Thursday, August 22, 2013

How to add a new language in R12 :

How to add a new language in R12

Important : First you have to ensure that your character set is OK for the language you want to add
Please check: Note 393861.1 Globalization Guide for Oracle Applications Release 12
  Oracle Database Language Codes, Translated Technologies, and Character Sets

See the Adding and Maintaining NLS Languages  Follow the instructions for the business requirement to add a language. 
The Post-installation Tasks section of this document.

Adding and Maintaining NLS Languages:

Perform the following steps:

1. From Oracle Applications Manager, go to License Manager and activate or change your base language to a new one.

SQL> select NLS_LANGUAGE from FND_LANGUAGES where INSTALLED_FLAG in ('B','I');
            NLS_LANGUAGE
            ------------------------------
            AMERICAN
            GERMAN
            DUTCH
            BRAZILIAN PORTUGUESE
               
2. From AD Administration, run Maintain Multi-lingual Tables (AD Administration Main Menu > Maintain Applications Database Entities Menu).

adadmin --> 4 --> 3 --> no of workers = 4 or 2.
Note : It will take at least 1- 1 hrs.
Performance Issue with Maintain Multilingual Tables EGONLINS.sql And INVNLINS.sql Taking Long Time (Doc ID 1391050.1)
To implement the solution, please execute the following steps: 
1) Please download and review the readme for Patch 12999793.R12.ITM.C
2) Please apply Patch 12999793.R12.ITM.C in a test environment. 
3) Please confirm the following file versions: 
ego sql EGONLINS.sql 120.6.12010000.3
inv sql INVNLINS.sql 120.7.12010000.4
inv patch/115/sql INVIRVUB.pls 120.1.12010000.2 
inv patch/115/sql INVVITMB.pls 120.33.12010000.19
ego patch/115/sql EGOPIUAB.pls 120.1.12010000.3

4) Please retest the issue. 
5) If the issue is resolved, please migrate the solution as appropriate to other environments.



3. From AD Administration, run Maintain Snapshot Information
Note :
AD Administration -->2 , Maintain Snapshot Information -->4 , Update current View Snalshot -->2 Update Complete APPL_TOP -->1 

4. Run the Translation Synchronization Patch utility (adgennls.pl). .
    If you have already run the Translation Synchronization Patch utility by following the Oracle E-Business Suite NLS Release Notes as mentioned in Step 3,
    you can omit this step and step 5.
    Requesting Translation Synchronization Patches note 252422.1

 [oracle@svruatebsal1 ~]$ perl $AD_TOP/bin/adgennls.pl
Please enter the APPS User [APPS]:
Please enter the APPS password: Manifest file generation is in progress...

Manifest generated in: /d01/oracle/SVRUAT/apps/apps_st/appl/admin/SVRUAT/out/adgennls.txt

5. When you are notified that it is available, apply your Translation Synchronization Patch (TSP) for all languages you requested.

6. Install the Release 12 NLS Help, if available (optional).
++++++++++++++++++++++
Doc ID 1511692.1
++++++++++++++++++++++
Performance Issues Using Maintain Multi-Lingual Table, INVNLINS.SQL (Doc ID 981868.1)

Bug 12922572 : WHEN RUNNING MAINTAIN MULTILINGUAL TABLES, EGONLINS AND INVNLINS TAKE MORE 24 HR

ACTUAL BEHAVIOR  
  ---------------
  Run adadmin> 4.Maintain Applications Database Entities-> 3.    Maintain
  multi-lingual tables  , Internally EGONLINS.sql and INVNLINS.sql take 9 and
  20 hours respectively.

Please find answers:

1) We added the /*parallel*/ hint so as to spawn multiple processes for the time consuming insert statement.
The performance improvement depends on the number of parallel workers in the system.
How many parallel workers were setup for this task ?

Ans: 12 workers

2) Is it expected that MMT will be run frequently ? or is it an one time exercise?

Ans: As of now, MMT will be run in every upgraded 12.1.2 instance once, 
before adding new languages. Since our Production is on 12.1.1, but we are 
planning an upgrade to 12.1.2 + language patches, all our other instances are 
in 12.1.2 for implementation, development etc. Whenever we have to refresh a 
non Prod instance from Production, we clone it from Production, upgrade to 
12.1.2, enable languages, run MMT and then apply language patches.

3) Which language is MMT being run for? Is this language being provisioned 
for the first time ?

Ans: MMT is being run for Norwegian, Swedish, Dutch, German, and French. Yes, 
we are enabling these languages for the first time in OAM, and running MMT on 
these languages.

4) Please provide outputs of the following queries: Queries a) to f) are run 
on instance with the issue, query g) on another 12.1.1 instance

a) SELECT DISTINCT attr_group_id FROM ego_mtl_sy_items_ext_b MINUS SELECT DISTINCT attr_group_id FROM ego_attr_Groups_v;

SQL> SELECT DISTINCT attr_group_id FROM ego_mtl_sy_items_ext_b MINUS SELECT DISTINCT attr_group_id FROM ego_attr_Groups_v;

no rows selected
 SQL>
 b) SELECT count(1) FROM ego_mtl_sy_items_ext_b WHERE attr_group_id IN ( list of attr_group_id from SQL (a) above ) 
No rows selected in (a), so query not run

c) SELECT LANGUAGE,Count(1) FROM ego_mtl_sy_items_ext_tl GROUP BY LANGUAGE;

SQL> SELECT LANGUAGE,Count(1) FROM ego_mtl_sy_items_ext_tl GROUP BY LANGUAGE;
 LANG   COUNT(1)
---- ----------
US      7689938
NL-7689938
D       7689938
N       7689938
F       7689938
S       7689938
 6 rows selected.
 SQL>
 d) select organization_id,count(1) from mtl_system_items_b group by organization_id

SQL> SQL> select organization_id,count(1) from mtl_system_items_b group by organization_id;

ORGANIZATION_ID   COUNT(1)
--------------- ----------
           102     410083
           104     409610
           103     429303
           101     435493
 SQL>
 e) Count FROM ego_mtl_sy_items_ext_b
SQL> SELECT Count(1) FROM ego_mtl_sy_items_ext_b;
  COUNT(1)
----------
  7707944

 f) SELECT LANGUAGE_CODE, INSTALLED_FLAG FROM FND_LANGUAGES where INSTALLED_FLAG in ('I', 'B')

SQL> SELECT LANGUAGE_CODE, INSTALLED_FLAG  FROM FND_LANGUAGES where INSTALLED_FLAG in ('I', 'B');
 LANG I
---- -
US   B
D    I
F    I
N    I
NL   I
S    I

6 rows selected.
 SQL>
 g) On any instance where MMT is not run (prod/dev/test) please get :
SELECT Count(1)
FROM ego_mtl_sy_items_ext_tl where language = 'US'
&language_for_which_MMT_needs_to_be_run

We want to check if some records already exist for that language.
  
SQL> SELECT Count(1) FROM ego_mtl_sy_items_ext_tl where language = 'NL';
  COUNT(1)
----------
        0
 SQL> SELECT Count(1) FROM ego_mtl_sy_items_ext_tl where language = 'S';
  COUNT(1)
----------
        0
 SQL> SELECT Count(1) FROM ego_mtl_sy_items_ext_tl where language = 'F';
  COUNT(1)
----------
        0
 SQL> SELECT Count(1) FROM ego_mtl_sy_items_ext_tl where language = 'D';
  COUNT(1)
----------
        0
 SQL> SELECT Count(1) FROM ego_mtl_sy_items_ext_tl where language = 'N';
  COUNT(1)
----------
        0
 There are records in US language which is already present:
SQL> SELECT Count(1) FROM ego_mtl_sy_items_ext_tl where language = 'US';

 COUNT(1)
----------

  7700198
++++++++++++++++++++++++++++++++++
What to install? NLS media or TSP (Translation Syncronization Patch)?

TSP patch is basically a customized patch to pull together all the delta files between US (the source of truth) and any activated languages.

For a fresh install 12.1 instance
After a US 12.1.1 fresh install, if a user immediately activates a new language and requests a TSP, that TSP will essentially have the same content as the 12.1.1 NLS patch.  Instead of having the customer generate
TSP manifest and wait for the patch to build, the instructions simply ask them to take the 12.1.1 NLS patch.

This applies to 12.1.3 or any RUP level, when a user installs and adds a language right away.

Adding a new language to a Release 12.1.1 and above (12.1.x)
These instructions are written in situations where user has already been running in EBS 12.1 for some time, and decided to add a language at some point.
Most likely in a situation like this, the environment would already have various one-off or product patches applied since the initial release.  In the past we have asked users to apply 12.1.1 NLS and then request a TSP to capture the delta on top.  Requesting a TSP right away will give them the delta (which includes all of 12.1 base NLS and all the one-off patches on top).  Since 12.1.3 we have revised the steps to eliminate the 12.1.1 NLS step to streamline the process.  Both paths work.

The same information can be found in Note 788053.1 Oracle Applications NLS Release Notes, Release 12.1.1
Please be aware that not all modules are fully translated. Please check Note 405992.1 Oracle Applications Release 12 Translation Scope and Availability

OTE:252422.1 - Requesting Translation Synchronization Patches

NOTE:393861.1 - Globalization Guide for Oracle Applications Release 12

No comments:

Post a Comment