Anda di halaman 1dari 32

The

Anatomy of Mul0ple Language Support (MLS) in Oracle EBS


jpang@westpac.com Jim.pang88@gmail.com

Jim Pang

The most comprehensive Oracle applications & technology content under one roof

Agenda Mul9-Language Primer


Quiz Input/Character Mapping/Display Character sets Unicode / UTF8

Oracle EBS MLS


Oracle Forms Oracle Reports

Project Planning Lessons Learnt Q&A


The most comprehensive Oracle applications & technology content under one roof

Mul9-Language Primer

The most comprehensive Oracle applications & technology content under one roof

Quiz
How many bytes in the database are needed to hold the following characters ?
A in Western European character set in Western European character set in typical Japanese character set A in Unicode in Unicode in Unicode in UTF8

The most comprehensive Oracle applications & technology content under one roof

Answers
How many bytes in the database are needed to hold the following characters ?
A in Western European character set = 1 in Western European character set = 1 in typical Japanese character set = 2 A in Unicode = 2 in Unicode = 2 in Unicode = 2 in UTF8 = 3

The most comprehensive Oracle applications & technology content under one roof

Input -> Character Mapping -> Display (English)


Send 1E 9E scan codes Display a on screen

User press and release a key

English Locale lookup = 61 (single byte) Character lookup for display

The most comprehensive Oracle applications & technology content under one roof

Input -> Character Mapping -> Display (Japanese)


Send Display a User press and 1E 9E on screen release a key while scan codes in Japanese input Japanese Locale lookup = A4 A2 (double bytes) mode Character lookup for display

The most comprehensive Oracle applications & technology content under one roof

Evolu9on of Asian Character Sets


1978 : Japan invented JIS charset which include Japanese and Chinese 198x : China invented Chinese charset based on Japanese JIS 198x : Korea does the same Since then, various deriva9ves of Japanese, Korean and Chinese charsets emerges So as the rest of the world !!

The most comprehensive Oracle applications & technology content under one roof

Examples of interna9onal charsets

The most comprehensive Oracle applications & technology content under one roof

Unicode comes to the rescue


1992 : Unicode Consor9um was formed Unicode consolidates all exis9ng / common character sets in the world !! Each character is represented by exactly two bytes

The most comprehensive Oracle applications & technology content under one roof

Example of Unicode Characters

Unicode for a = 00 61 (two bytes)

Unicode for = 30 42 (two bytes)

The most comprehensive Oracle applications & technology content under one roof

But, Unicode Is Not Good Enough


Majority of computer data is English or Number which used to be one byte per character Unicode (two bytes per character) will substan9ally increase data storage ($$) and decrease speed ($$) Unicode is only used for transient data during program execu9on

The most comprehensive Oracle applications & technology content under one roof

This 9me, UTF8 comes to the rescue


UTF8 is a transforma9on / encoding algorithm of Unicode UTF8 codes span from one to six bytes English and Numbers are encoded back to single byte data (Problem solved !!)

The most comprehensive Oracle applications & technology content under one roof

Example of UTF8 Codes


Character a Unicode = 00 61 Octet = 0000 0000 0110 0001 UTF8 = 0110 0001 UTF8 = 61 (single byte) Character Unicode = 00 E8 Octet = 0000 0000 1110 1000 UTF8 = 1100 0011 1010 1000 UTF8 = C3 A8 (two bytes) Character Unicode = 30 42 Octet = 0011 0000 0100 0010 UTF8 = 1110 0011 1000 0001 1000 0010 UTF8 = E3 81 82 (three bytes)

The most comprehensive Oracle applications & technology content under one roof

Oracle EBS MLS

The most comprehensive Oracle applications & technology content under one roof

Oracle Mul9-Language Support (NLS/MLS) Setup


NLS_CHARACTERSET = AL32UTF8 (recommended by Oracle for R12) Env parameter NLS_LANG = American_America.UTF8 (DB 9er and Applica9on 9er) Ac9vate selected languages using OAM License Manager Run adadmin to maintain MLS tables Run adpatch to Install EBS MLS (Mul9-Language Support) packs for selected languages Client PC Windows language / character set can be tradi9onal or UTF8 Browser character set can be tradi9onal or UTF8 Character set transla9on can occur on PC, Browser, Java, Applica9on 9er, Oracle u9li9es (sqlplus, sqlldr.;.)

The most comprehensive Oracle applications & technology content under one roof

Oracle NLS/MLS Transla9on

When two data nodes have mismatched character sekngs, Oracle components translate source data into target character set inten9onally (good !) or uninten9onally (data corrup9on !)

The most comprehensive Oracle applications & technology content under one roof

Oracle EBS Mul9-Language Capability


Database NLS_CHARACTERSET = AL32UTF8 to support data store in any language Enabled languages in EBS ac9vate MLS func9onality in transla9on tables (xxx_TL) There are about 8,000+ xxx_TL tables MLS packs provide forms and reports boilerplates in selected languages OA Framework (html forms) does the transla9on XML (BI) Publisher has its own character transla9on capability with language templates Prole op9ons
ICX: Language (Oracle Forms) ICX: Client IANA Encoding (HTML Forms) FND: Na9ve Client Encoding (Display reports output)


The most comprehensive Oracle applications & technology content under one roof

Example of Oracle EBS MLS enabled tables


fa_addi0ons_b asset_id asset_number asset_type tag_number asset_category_id ..

fa_addi0ons_tl asset_id language source_lang descrip9on ..

The most comprehensive Oracle applications & technology content under one roof

English Form can accept any character

The most comprehensive Oracle applications & technology content under one roof

Installed JA (Japanese) and ZHS (Simplied Chinese) MLS Packs

Form displays record where Language value = form language For any future update to asset descrip9on via English form, the form will con9nue to update all three rows because Source_Lang is US

The most comprehensive Oracle applications & technology content under one roof

Switch to Japanese Form

Switch to Japanese Forms by sekng prole op9on ICX: Language; Logout and login again to ac9vate;

The most comprehensive Oracle applications & technology content under one roof

Japanese Form

Boilerplate and seeded data in Japanese

The most comprehensive Oracle applications & technology content under one roof

Enter Japanese Data in Japanese Form

If the Asset descrip9on is updated via the Japanese Form, here is what is stored in the tables; SQL> select asset_id, language, source_lang, substr(descrip9on,1,20) from fa_addi9ons_tl where asset_id=5163883; ASSET_ID LANGUAGE SOURCE_LANG SUBSTR(DESCRIPTION,1,20) ---------- ------------ ------------------------------------------ This row becomes only updatable 5163883 JA JA Asset 1 English d in Japanese form because 5163883 US US Asset 1 English desc Source_Lang has been updated to 5163883 ZHS US Asset 1 English desc JA

The most comprehensive Oracle applications & technology content under one roof

Use English Form to view Asset data

Switch to English form by sekng prole op9on Logout and login to reac9vate User is seeing the row which is Language = US

The most comprehensive Oracle applications & technology content under one roof

Run Reports

Regardless of what language you are in, you can run report in any language

The most comprehensive Oracle applications & technology content under one roof

Reports Output in Japanese

The most comprehensive Oracle applications & technology content under one roof

Use English form to input asset descrip9on in all languages

In English form, user can click the Globe icon on the task bar, a window will pop up to allow user to enter MLS enabled elds in all languages

The most comprehensive Oracle applications & technology content under one roof

Project Planning
Language requirement ?
Legal / Statutory Users

Data conversion

Database Migra9on Assistant for Unicode (DMU) Data migra9on scripts for legacy systems

Capacity planning Overheads in MLS packs


Installa9on Tes9ng

Infrastructure and client desktops Prin9ng Supportability

The most comprehensive Oracle applications & technology content under one roof

Lessons Learnt
Hire qualied person in MLS Verify data using dump commands Check your DR server, backup, restore, interfaces etc. Does data reviewer or approver speak the same language ? Engage mul9lingual users for centralised tes9ng Test all combina9ons of congura9ons

The most comprehensive Oracle applications & technology content under one roof

Q & A

The most comprehensive Oracle applications & technology content under one roof

Appendix
Useful sql commands
Select * from V$NLS_VALID_VALUES order b parameter, value; Select * from V$NLS_PARAMETERS where parameter=NLS_CHARACTERSET; Select dump(columnxx, 1016) from table; od x <lename> iconv f UTF-8 t ISO-2022-JP source_le Sqlplus adncnv command NLS_LANG=American_America.UTF8;export NLS_LANG Doc ID: Note:333785.1 -> Oracle Applica9on 11i Interna9onaliza9on Guide Interna9onaliza9on Update Notes for Release 12 [ID 393320.1] Patch ID 252422.1 NLS release notes [ID 788053.1] Globaliza9on Guide for Oracle Applica9ons Release 12 [ID 393861.1]

Useful unix commands


Oracle support (metalink)


The most comprehensive Oracle applications & technology content under one roof

Anda mungkin juga menyukai