Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The	  Anatomy	  of	  Mul0ple	  Language	     Support	  (MLS)	  in	  Oracle	  EBS	                     Jim	  Pang	         ...
Agenda	  •  Mul9-­‐Language	  Primer	      –    Quiz	      –    Input/Character	  Mapping/Display	      –    Character	  s...
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...
Answers	  How	  many	  bytes	  in	  the	  database	  are	  needed	  to	  hold	  the	  following	  characters	  ?	  	      ...
Input	  -­‐>	  Character	  Mapping	  -­‐>	  Display	                                  (English)	                          ...
Input	  -­‐>	  Character	  Mapping	  -­‐>	  Display	                                   (Japanese)	                        ...
Evolu9on	  of	  Asian	  Character	  Sets	  •  1978	  :	  Japan	  invented	  JIS	  charset	  which	  include	  Japanese	  a...
Examples	  of	  interna9onal	  charsets	                 The most comprehensive Oracle applications & technology content u...
Unicode	  comes	  to	  the	  rescue	  •  1992	  :	  Unicode	  Consor9um	  was	  formed	  •  Unicode	  consolidates	  all	 ...
Example	  of	  Unicode	  Characters	                                                              Unicode	  for	  	  a	   ...
But,	  Unicode	  Is	  Not	  Good	  Enough	  •  Majority	  of	  computer	  data	  is	  English	  or	  Number	  which	  used...
This	  9me,	  UTF8	  comes	  to	  the	  rescue	  •  UTF8	  is	  a	  transforma9on	  /	  encoding	  algorithm	  of	  Unicod...
Example	  of	  UTF8	  Codes	  Character	  	  a	                                               Characterあ	  Unicode	  =	  0...
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	 ...
Oracle	  NLS/MLS	  Transla9on	  •    When	  two	  data	  nodes	  have	  mismatched	  character	  sekngs,	  Oracle	  compon...
Oracle	  EBS	  Mul9-­‐Language	  Capability	  •  Database	  NLS_CHARACTERSET	  =	  AL32UTF8	  to	  support	  data	  store	...
Example	  of	  Oracle	  EBS	  MLS	  enabled	  tables	  fa_addi0ons_b	                  	  asset_id	                  	  as...
English	  Form	  can	  accept	  any	  character	                    The most comprehensive Oracle applications & technolog...
Installed	  JA	  (Japanese)	  and	  ZHS	  (Simplified	  Chinese)	  MLS	  Packs	            •  Form	  displays	  record	  wh...
Switch	  to	  Japanese	  Form	  •  Switch	  to	  Japanese	  Forms	  by	  sekng	  profile	  op9on	  ICX:	  Language;	  •  Lo...
Japanese	  Form	  •  Boilerplate	  and	  seeded	  data	  in	  Japanese	               The most comprehensive Oracle applic...
Enter	  Japanese	  Data	  in	  Japanese	  Form	  If	  the	  Asset	  descrip9on	  is	  updated	  via	  the	  Japanese	  For...
Use	  English	  Form	  to	  view	  Asset	  data	  •  Switch	  to	  English	  form	  by	  sekng	  profile	  op9on	  •  Logou...
Run	  Reports	  •  Regardless	  of	  what	  language	  you	  are	  in,	  you	  can	  run	  report	  in	     any	  language...
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	 ...
Project	  Planning	  •  Language	  requirement	  ?	       –  Legal	  /	  Statutory	       –  Users	  •  Data	  conversion	...
Lessons	  Learnt	  •    Hire	  qualified	  person	  in	  MLS	  •    Verify	  data	  using	  ‘dump’	  commands	  •    Check	...
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,	  va...
Upcoming SlideShare
Loading in …5
×

E-Business Suite 1 _ Jim Pang _ The anatomy of multiple language support (MLS) in Oracle EBS.pdf

1,640 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

E-Business Suite 1 _ Jim Pang _ The anatomy of multiple language support (MLS) in Oracle EBS.pdf

  1. 1. The  Anatomy  of  Mul0ple  Language   Support  (MLS)  in  Oracle  EBS   Jim  Pang   jpang@westpac.com   Jim.pang88@gmail.com   The most comprehensive Oracle applications & technology content under one roof
  2. 2. 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
  3. 3. Mul9-­‐Language  Primer   The most comprehensive Oracle applications & technology content under one roof
  4. 4. 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
  5. 5. 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
  6. 6. Input  -­‐>  Character  Mapping  -­‐>  Display   (English)   Send   Display  ‘a’   a  User  press  and   ‘1E’    ‘9E’     on  screen  release  ‘a’  key   scan  codes   English  Locale  lookup  =  61  (single  byte)   Character  lookup  for  display   The most comprehensive Oracle applications & technology content under one roof
  7. 7. Input  -­‐>  Character  Mapping  -­‐>  Display   (Japanese)   あ   Send   Display  ‘a’  User  press  and   ‘1E’    ‘9E’     on  screen  release  ‘a’  key  while   scan  codes  in  Japanese  input  mode   Japanese  Locale  lookup  =    A4    A2  (double  bytes)   Character  lookup  for  display   The most comprehensive Oracle applications & technology content under one roof
  8. 8. 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
  9. 9. Examples  of  interna9onal  charsets   The most comprehensive Oracle applications & technology content under one roof
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. Example  of  UTF8  Codes  Character    a   Characterあ  Unicode  =  00    61   Unicode  =  30    42  Octet  =  0000  0000  0110  0001   Octet  =  0011  0000  0100  0010  UTF8  =  0110  0001   UTF8  =  1110  0011  1000  0001  1000  0010  UTF8  =      61  (single  byte)   UTF8  =      E3    81    82  (three  bytes)    Character    À  Unicode  =  00    E8  Octet  =  0000  0000  1110  1000  UTF8  =  1100  0011  1010  1000  UTF8  =      C3    A8  (two  bytes)         The most comprehensive Oracle applications & technology content under one roof
  15. 15. Oracle  EBS  MLS   The most comprehensive Oracle applications & technology content under one roof
  16. 16. 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
  17. 17. 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
  18. 18. 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  •  Profile  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
  19. 19. Example  of  Oracle  EBS  MLS  enabled  tables  fa_addi0ons_b    asset_id    asset_number   fa_addi0ons_tl    asset_type    asset_id    tag_number    language    asset_category_id    source_lang            ……..    descrip9on            ……..   The most comprehensive Oracle applications & technology content under one roof
  20. 20. English  Form  can  accept  any  character   The most comprehensive Oracle applications & technology content under one roof
  21. 21. Installed  JA  (Japanese)  and  ZHS  (Simplified  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
  22. 22. Switch  to  Japanese  Form  •  Switch  to  Japanese  Forms  by  sekng  profile  op9on  ICX:  Language;  •  Logout  and  login  again  to  ac9vate;   The most comprehensive Oracle applications & technology content under one roof
  23. 23. Japanese  Form  •  Boilerplate  and  seeded  data  in  Japanese   The most comprehensive Oracle applications & technology content under one roof
  24. 24. 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)  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  -­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐  5163883    JA    JA    Asset  1  あえうEnglish  d           This  row  becomes  only  updatable  5163883    US    US    Asset  1  English  desc                           in  Japanese  form  because  5163883    ZHS    US    Asset  1  English  desc   Source_Lang  has  been  updated  to   JA     The most comprehensive Oracle applications & technology content under one roof
  25. 25. Use  English  Form  to  view  Asset  data  •  Switch  to  English  form  by  sekng  profile  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
  26. 26. 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
  27. 27. Reports  Output  in  Japanese   The most comprehensive Oracle applications & technology content under one roof
  28. 28. 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   fields  in  all  languages   The most comprehensive Oracle applications & technology content under one roof
  29. 29. 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
  30. 30. Lessons  Learnt  •  Hire  qualified  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  configura9ons   The most comprehensive Oracle applications & technology content under one roof
  31. 31. Q  &  A   The most comprehensive Oracle applications & technology content under one roof
  32. 32. 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;  •  Useful  unix  commands   –  od  –x  <filename>   –  iconv  –f  UTF-­‐8  –t  ISO-­‐2022-­‐JP  source_file   –  Sqlplus  adncnv  command   –  NLS_LANG=American_America.UTF8;export  NLS_LANG  •  Oracle  support  (metalink)   –  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]   The most comprehensive Oracle applications & technology content under one roof

×