NLS services enable FOCUS to support many different languages. Each supported language has an associated code page. In FOCUS, the mapping of graphic characters from one code page into the graphic characters of another is managed by the FOCUS NLS translation component.
Note: NLS is only supported if your terminal emulator is IBM Personal Communications (PC3270).
You can customize your NLS FOCUS configuration to:
Note: Customization of your NLS configuration is only necessary if your enterprise requires support for alternate or additional code pages, or custom monocasing and sorting.
The following table describes the NLS configuration files:
Member |
Data Set |
Description |
---|---|---|
CASETBL |
qualif.ERRNLS.DATA |
Monocasing table. This file contains the monocasing tables, which are generated using the TSGU procedure and are based on the code page generation list (cpcodepg). |
CPCODEPG |
qualif.FOCCTL.DATA |
Code page generation list. This file is a list of currently active code pages. |
CPNNNNN |
qualif.FOCCTL.DATA |
Code page definition file. This file contains information on each code point value in the code page. There is a code page definition file for every code page listed in the known code page file (cpxcptbl). |
CPXCPTBL |
qualif.FOCCTL.DATA |
Known code page list. This file contains a list of enabled code pages for Information Builders' products. |
NLSCFG |
qualif.ERRORS.DATA |
NLS configuration file. This file controls the FOCUS code page setting and the language FOCUS uses for error messages. |
SORTTBL |
qualif.ERRNLS.DATA |
Sorting table. This file contains the sorting tables which are generated using the TSGU and are based on the contents of the code page generation list (cpcodepg). |
TRANTBL |
qualif.ERRNLS.DATA |
Transcoding table file. This file contains the transcoding tables, which are generated using the TSGU and are based on the contents of the code page generation list (cpcodepg). |
You must perform the following steps to change your code page configuration:
Note: This step is only necessary if you generated a new FOCUS code page in step 4.
Code page settings are reflected in the code page generation list file qualif.FOCCTL.DATA(CPCODEPG). This file contains code page settings for FOCUS and it is used to generate the transcoding tables with the TSGU. To identify your current code page settings, view the code page generation list file (cpcodepg).
During the FOCUS installation, FOCUS is setup by default with the US EBCDIC code page 37. The code page setting for FOCUS is set up to support the following default code pages:
The following is an example of a code page generation list file (CPCODEPG).
CP00037 E SBCS US IBM MF EBCDIC code CP00437 A SBCS US PC ASCII code CP00137 A SBCS ANSI Character Set for MS-Windows CP01047 E SBCS IBM MF Open Systems (Latin 1)
If FOCUS requires support for alternate or additional code pages, you can identify the code pages by referencing the known code page file qualif.FOCCTL.DATA (CPXCPTBL).
Note: If the desired code page is not listed in the known code page file (CPXCPTBL), refer to the appropriate IBM Character Data Representation Architecture (CDRA) document and create your own, or contact your local Information Builders representative for information about additional code pages.
CPnnnnn b dbcs-id description
where:
Is the code page prefix (always CP).
Is the code page number.
Is the character type. Possible values are:
A for ASCII.
E for EBCDIC.
Is the DBCS identifier (DBCSID).
Is a description of the code page.
The following is a listing of the contents of the known code page file (CPXCPTBL):
* The active Code Page information is represented by lines whose first 2 * columns are 'CP'. * Valid DBCSID : SOSI,SJIS,EUC,KPC,KKS,TPC,TBIG5,SOSIF,SOSIH * C - Character type : E = EBCDIC * A = ASCII * DBCS - DBCS ID : SBCS = Single Byte Character Set * SOSI = IBM MF * SJIS,EUC,SOSIF,SOSIH = Japanese * KPC,KKS = Korean * TPC,TBIG5,TNS,TTEL = Taiwanese * * note: NRC Set = National Replacement Character Set * MF = Mainframe * Codepage C DBCS Description -------- - ---- ------------------------------------------------------ CP00037 E SBCS US IBM MF EBCDIC code CP00437 A SBCS US PC ASCII code CP00137 A SBCS ANSI character set for MS-Windows CP00500 E SBCS IBM MF International European CP00273 E SBCS IBM MF Germany F.R./Austria CP00277 E SBCS IBM MF Denmark, Norway CP00278 E SBCS IBM MF Finland, Sweden CP00280 E SBCS IBM MF Italy CP00281 E SBCS IBM MF Japanese English CP00284 E SBCS IBM MF Spain/Latin America CP00285 E SBCS IBM MF United Kingdom CP00297 E SBCS IBM MF France CP00420 E SBCS IBM MF Arabic Bilingual CP00424 E EBCH IBM MF Israel(Hebrew) CP00850 A SBCS IBM PC Multinational CP00856 A SBCS IBM PC Hebrew CP00860 A SBCS IBM PC Portugal CP00861 A SBCS IBM PC Iceland CP00862 A ASCH IBM PC Israel CP00863 A SBCS IBM PC Canadian French CP00864 A SBCS IBM PC Arabic CP00865 A SBCS IBM PC Nordic CP00869 A ASCG IBM PC Greece
CP00871 E SBCS IBM MF Iceland CP00875 E EBCG IBM MF Greece CP00637 A SBCS DEC Multinational Character Set CP00600 A SBCS DEC German NRC Set CP00604 A SBCS DEC British ( United Kingdom ) NRC Set CP00608 A SBCS DEC Dutch ( Netherland ) NRC Set CP00612 A SBCS DEC Finnish ( Finland ) NRC Set CP00616 A SBCS DEC French ( Flemish and French/Belgian ) NRC Set CP00620 A SBCS DEC French Canadian NRC Set CP00624 A SBCS DEC Italian ( Italy ) NRC Set CP00628 A SBCS DEC Norwegian/Danish ( Norway,Denmark ) NRC Set CP00632 A SBCS DEC Portugal NRC Set CP00636 A SBCS DEC Spanish ( Spain ) NRC Set CP00640 A SBCS DEC Swedish ( Sweden ) NRC Set CP00644 A SBCS DEC Swiss ( Swiss/French and Swiss/German ) NRC Set CP00930 E SOSI Japanese IBM MF Katakana Code Page (cp290+cp300) CP00939 E SOSI Japanese IBM MF Latin Extended (cp1027+cp300) CP00932 A SJIS Japanese PC Shift-JIS (cp897+cp301) CP00942 A SJIS Japanese PC Shift-JIS Extended (cp1041+cp301) CP10942 A EUC Japanese PC EUC CP10930 E SOSIF Japanese Mainframe ( Fujitsu ) CP20930 E SOSIH Japanese Mainframe ( Hitachi ) CP00933 E SOSI Korean IBM MF Extended (cp833+cp834) CP00934 A KPC Korean IBM PC (cp891+cp926) CP00944 A KPC Korean IBM PC Extended (cp1040+cp926) CP00949 A KKS Korean KS5601 code (cp1088+cp951) CP00935 E SOSI PRC IBM MF Extended (cp836+cp837) CP00946 A CPC PRC IBM PC Extended (cp1042+cp928) CP00937 E SOSI Taiwanese IBM MF (cp37+cp835) CP00948 A TPC Taiwanese IBM PC Extended (cp1043+cp927) CP10948 A TBIG5 Taiwanese PC BIG-5 code (cp950 ?) CP20948 A TNS Taiwanese PC National Standard code CP30948 A TTEL Taiwanese PC Telephone code CP00857 A ASCR IBM PC Turkish (Latin 5) CP00920 A ISO9 ISO-8859-9 (Latin 5, Turkish) CP01026 E EBCR IBM MF Turkish CP01252 A SBCS Windows, Latin 1 CP00819 A SBCS ISO-8859-1 (Latin 1, IBM Version 8X/9X undef'ed) CP00912 A ISO2 ISO-8859-2 (Latin 2) CP01047 E SBCS IBM MF Open Systems (Latin 1) CP65001 A UTF8 Unicode (UTF-8) CP00916 A ISO8 ISO-8859-8 (Hebrew) CP00813 A ISO7 ISO-8859-7 (Greek) CP00870 E EBCE IBM MF Multilingual (Latin 2, East European) CP00852 A ASCE IBM PC Multilingual (Latin 2, East European) CP01250 A WINE Windows, Latin 2 (East European) CP01253 A WING Windows, Greek CP01254 A WINR Windows, Turkish CP01255 A WINH Windows, Hebrew CP01025 E EBCY IBM MF Cyrillic, Multilingual CP00866 A ASCY IBM PC Cyrillic #2 CP00915 A ISO5 ISO-8859-5 (Cyrillic, 8-bit) CP01251 A WINY Windows, Cyrillic CP01112 E EBCB IBM MF Baltic Multilanguage CP00921 A ISO3 ISO-8859-13 (Latin 7, Baltic Multilanguage) CP01257 A WINB Windows, Baltic CP01089 A ISO6 ISO-8859-6 (Arabic) CP01256 A WINA Windows, Arabic CP00838 E EBCI IBM MF Thai CP00874 A WINI IBM PC Thailand CP90278 E SBCS IBM MF Finland, Sweden (Internal Use, zapped) CP00914 A ISO4 ISO-8859-4 (Latin 4, Baltic Multilanguage) CP65002 E UTFE Unicode (UTF-EBCDIC) CP00923 A ISOF ISO-8859-15 (Latin 9) CP30930 E SOSI Japanese IBM MF Dollar-Yen exchanged CP00930 CP11026 E EBCR IBM MF Turkish DoubleQuote-U-umlaut exchanged CP01026
The code page generation list file qualif.FOCCTL.DATA(CPCODEPG) is a list of code pages to generate with the TSGU and must be changed manually, using an editor, to contain the additional or alternate set of code page numbers identified in the known code page file (CPXCPTBL) (step 2 of 5).
Add the information for each additional or alternate code page on a separate line, You can copy the code page information from the known code page file (CPXCPTBL) into the code page generation list file (CPCODEPG). Note that only CP and the code page number (for example, CP00037) is required to generate the new transcoding tables. The maximum number of code page entries in the file is sixteen.
The Transcoding Services Generation Utility (TSGU) program is used to generate the NLS transcoding table file qualif.ERRNLS.DATA(trantbl), based on the list of code pages defined in the code page generation list file (CPCODEPG). The transcoding table file (trantbl) contains the transcoding tables for all the possible code page combinations. You can generate a new transcoding table with the TSGU by completing the following steps:
//TSGU PROC CTL=EDA,ERRORS=EDAMSG
//TSGU PROC CTL=FOC,ERRORS=ERRORS
The output of TSGU is the transcoding table file (TRANTBL), which is based on the contents of the code page generation list file (CPCODEPG). The TRANTBL is generated in qualif.ERRNLS.DATA. This data set must be allocated to ddname ERRORS in the FOCUS JCL or CLIST.
........
If you generate a new FOCUS code page in step 4 and want FOCUS to recognize this new code page, you will need to modify the NLS configuration file qualif.ERRORS.DATA(NLSCFG) to identify the new FOCUS code page and language used by FOCUS for error messages. This step is only necessary if you generated a new FOCUS code page in step 4. For details on changing the NLS configuration file, see Configuring z/OS FOCUS NLS Default Characteristics.
You can change the FOCUS code page and the language FOCUS uses for error messages by editing the NLS configuration file qualif.ERRORS.DATA(NLSCFG). For more information on the NLS configuration file (NLSCFG), see The NLS Configuration File.
Error messages are only translated for German, Spanish, French, Dutch, and Japanese. Error messages for all other languages are translated to English.
Note: Swedish and some other languages may only be partially translated.
You can change the FOCUS code page and language for FOCUS by editing the LANG setting in the NLS configuration file qualif.ERRORS.DATA(NLSCFG). Changing the LANG setting sets all other parameters to valid values.
Note: The LANG setting should match the three-character language abbreviation (language ID) or the language name.
The following example illustrates how you can change English to Dutch. Change:
LANG = AMENGLISH
to
LANG = DUT
How to: |
Monocasing (also called Case Conversion) is the conversion of a letter from its lowercase to uppercase form (or vice versa). As part of the basic FOCUS initialization, FOCUS is set up with standard monocasing where all requests, except for data between single quotes, are converted to uppercase according to the monocasing table (CASETBL). The monocasing table file qualif.ERRNLS.DATA(CASETBL) converts a-z to A-Z only. If you require customized monocasing, such as special upper/lowercase accented characters, then you must modify the code page definition file (CPNNNNN) and then generate a new NLS monocasing table file (CASETBL) using the TSGU. The new monocasing table is based on the changes made to the code page definition file (CPNNNNN).
Note: The Information Builders' user functions, LOCASE and UPCASE, respect the NLS monocasing table file (CASETBL).
Note: As part of the basic initialization, monocasing tables are provided for most of the common European languages. You will only need to customize the monocasing tables if you require a special monocasing configuration.
NLS monocasing involves language-sensitive (code page sensitive) uppercase and lowercase conversion. You can customize each character's attributes by completing the following steps:
Note: You can reference the known code page file (CPXCPTBL) to find the name of the code page definition file.
The code page definition file (CPNNNNN) contains the Code Point and Graphic Character Global Identifier (GCGID). Make the appropriate changes to GCGID uppercase in the third column and Character type in the fifth column.
The following is a chart of a sample code page definition file layout:
The TSGU generates the updated NLS monocasing table file qualif.ERRNLS.DATA (CASETBL).
Note: For additional information on modifying monocasing values in the code page definition file, refer to the IBM CDRA Library SC09-9391-00 Level 1 Registry or contact your local Information Builders representative.
How to: |
As part of the basic FOCUS initialization, FOCUS is set up with standard sorting where FOCUS uses sort sequences of the binary representation of a character string according to the sorting table qualif.ERRNLS.DATA(SORTTBL). If you require customized sorting, such as changing your sort order to account for Swedish umlauts (Ü), then you must modify the NLS sorting table file (SORTTBL).
Note: As part of the basic initialization, sorting tables are provided for most of the common European languages. You will only need to customize the sorting tables if you require a special sorting sequence.
If you want to use a weighted sort that accounts for characters that are out of binary sequence, you can customize the sort tables by completing the following steps.
Note: You can reference the known code page file (CPXCPTBL) to find the name of the code page definition file.
The code page definition file (CPNNNNN) contains the Code Point and Graphic Character Global Identifier (GCGID). Make the appropriate changes to the Sort weight listed in the fourth column. The following is a chart of a sample code page definition file layout:
The TSGU generates the updated NLS sorting table file qualif.ERRNLS.DATA (SORTTBL).
Note: For additional information on modifying monocasing values in the code page definition file, refer to the IBM CDRA Library SC09-9391-00 Level 1 Registry or contact your local Information Builders representative.
The code page definition file qualif.FOCCTL.DATA(CPNNNNN) contains information on the characters for each code point value in the code page.
dd aaaaaaaa aaaaaaaa xx h
where:
Is the hexadecimal code point value (00 through FF).
Is the Graphic Character Global IDentifier (GCGID).
Is the Sort weight. Consists of a hexadecimal code point value (00 through FF).
Is the character type. Possible values are:
L for Lower-case alphabet.
U for Upper-case alphabet.
A for Asian (non-alphabet) character.
D for Digit.
S for Special character.
C for Control (non-printable) character.
Concatenate qualif.ERRNLS.DATA as the first data set of ddname ERRORS in the FOCUS JCL or CLIST. This causes FOCUS to use the NLS files inqualif.ERRNLS.DATA.
How to: |
The TSGU is a multi-functional utility that is used to create the transcoding table (TRANTBL), sorting table (SORTTBL), and monocasing table (CASETBL). For z/OS, the TSGU is executed using qualif.FOCCTL.DATA(TSGUJCL).
TSGU
TSGU GEN
TSGU INFO info-command
TSGU CASE
TSGU SORT
where:
Generates the NLS transcoding table(TRANTBL).
Generates all the tables (TRANTBL, CASETBL and SORTTBL).
Displays information about the current NLS configuration.
Generates the custom monocasing table (CASETBL) binary file.
Generates the custom sort sequence table (SORTTBL) binary file.
TSGU INFO CP [DBCS] [nnn [nnn [...]]] [MAT [DES]] TSGU INFO CP [SBCS] [nnn [nnn [...]]] [MAT [DES]] TSGU INFO TRAN [idx [idx [...]]] [M] [V] TSGU INFO CASE [nnn [nnn [...]]] [M] [V] TSGU INFO SORT [nnn [nnn [...]]] [M] [V] TSGU INFO SET
where:
Lists transcoding tables.
Lists only DBCS transcodings.
Lists only SBCS transcodings.
Code page which only shows given code page transcodings (no leading zeros necessary).
Index which only shows given index transcodings.
Creates a matrix report for transcoding tables.
Reverses an order of code pages in a matrix report.
Shows transcoding table contents (trantbl.err).
Shows uppercase/lowercase table contents (casetbl.err).
Shows sort table contents (sorttbl.err).
Masks null transcode values in tables.
Shows tables in vertical layout.
Shows the list of available languages.
How to: |
The NLS configuration file (NLSCFG) controls the code page and the language used for error messages for FOCUS and is located in qualif.ERRORS.DATA.
The following is a reference of keywords in the NLSCFG file and their associated values:
Is the language. The list of known languages file (LANGTBL), located in qualif.ERRORS.DATA, contains a list of valid values. The value of LANG determines the defaults for other parameters in FOCUS. The default value is AMENGLISH (American English).
Is the FOCUS code page. For z/OS, the hard-coded default value is 37.
Is Continental Decimal Notation. Possible values are a comma (,) or a period (.). The default value is a period (.).
Is the DATE/TIME format for SQL. Possible values are:
EDA for EDA type (default). On z/OS, the default is HYYMDs.
ISO for yyyy-mm-dd hh.mm.ss.
USA for mm/dd/yyyy hh:mm AM or PM.
EUR for dd.mm.yyyy hh.mm.ss.
JIS for yyyy-mm-dd hh:mm:ss.
LOCAL for any site-defined form.
Information Builders |