Configuring z/OS FOCUS for National Language Support (NLS) Services

In this section:

Reference:

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.


Top of page

x
Reference: NLS Configuration Files for z/OS

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).



x
Identifying and Changing Your z/OS FOCUS Code Page Settings

How to:



x
Procedure: How to Change Your z/OS FOCUS Code Page Settings

You must perform the following steps to change your code page configuration:

  1. Identify the current code page settings.
  2. Identify alternate or additional code pages by referencing the known code page file (CPXCPTBL).
  3. Edit the code page generation list file (CPCODEPG) with the code page information collected from the known code page file (CPXCPTBL).
  4. Generate the new transcoding tables based on the updated code page generation list file (CPCODEPG) using the TSGU.
  5. If you generated a new server code page in step 4, you need to modify the NLS configuration file (NLSCFG) to identify the new FOCUS code page and language used by FOCUS for error messages.

    Note: This step is only necessary if you generated a new FOCUS code page in step 4.



x
Procedure: How to Identify Current z/OS Code Page Settings (Step 1 of 5)

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:



Example: Using the Code Page Generation List File (CPCODEPG) for z/OS

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)


x
Procedure: How to Identify Alternate or Additional z/OS Code Pages (Step 2 of 5)

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.



x
Syntax: How to Use the Known Code Page File (CPXCPTBL) for z/OS
CPnnnnn b dbcs-id description

where:

CP

Is the code page prefix (always CP).

nnnnn

Is the code page number.

b

Is the character type. Possible values are:

A for ASCII.

E for EBCDIC.

dbcs-id

Is the DBCS identifier (DBCSID).

description

Is a description of the code page.



Example: Using the Known Code Page File (CPXCPTBL) for z/OS

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


x
Procedure: How to Add Alternate or Additional z/OS Code Pages (Step 3 of 5)

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.



x
Procedure: How to Generate z/OS Transcoding Tables Using the TSGU (Step 4 of 5)

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:

  1. The sample JCL to execute TSGU is located in qualif.FOCCTL.DATA(TSGUJCL). Edit this JCL stream to conform to your site requirements:
    • Replace qualif with the appropriate high-level qualifier value.
    • Supply a valid JOB card.
    • Comment the following line in the JCL:
      //TSGU PROC CTL=EDA,ERRORS=EDAMSG 
    • Uncomment the following line in the JCL:
      //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.

  2. If you get a duplicate GCGID, choose which one to discard and replace it with eight periods as follows:
    ........
  3. The following confirms the generated information:
    • INFO shows NLS basic information.
    • INFO CP shows a list of transcoding tables.


x
Procedure: How to Change the z/OS FOCUS Code Page Setting (Step 5 of 5)

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.


Top of page

x
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.



Example: Changing the z/OS FOCUS Code Page and Language

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

Top of page

x
Configuring Customized z/OS FOCUS NLS Monocasing

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).



x
Procedure: How to Customize Your NLS Monocasing Table for z/OS

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:

  1. Edit the code page definition file (CPNNNNN), which is named by the code page number. For example, CP00037 contains the monocasing information for US English code page 37. For more information on the code page definition file (CPNNNNN), see Use the Known Code Page File (CPXCPTBL) for z/OS.

    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:

  2. Edit the code page generation list file (CPCODEPG) and add the code page definition information as described in How to Change Your z/OS FOCUS Code Page Settings . The updated code page generation list (CPCODEPG) is used to regenerate the custom monocasing table file (CASETBL).
  3. Execute the TSGU with the parameter CASE. The sample JCL is located in qualif.FOCCTL.DATA(TSGUJCL).

    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.


Top of page

x
Configuring for Customized z/OS FOCUS NLS Sort Sequences

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).



x
Procedure: How to Customize Your NLS Sort Tables for z/OS

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.

  1. Edit the code page definition file qualif.FOCCTL.DATA(CPNNNNN), which is named by the code page number. For example, CP00037 contains the sorting information for US English code page 37. For more information on the code page definition file (CPNNNNN), see Use the Code Page Definition File (CPNNNNN) for z/OS.

    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:

  2. Edit the code page generation list file (CPCODEPG) and add the code page definition information as described in How to Change Your z/OS FOCUS Code Page Settings . The updated code page generation list (CPCODEPG) is used to regenerate the custom sorting table file (SORTTBL).
  3. Execute the TSGU with the parameter SORT. The sample JCL is located in qualif.FOCCTL.DATA(TSGUJCL).

    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.



x
Syntax: How to Use the Code Page Definition File (CPNNNNN) for z/OS

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:

dd

Is the hexadecimal code point value (00 through FF).

aaaaaaaa

Is the Graphic Character Global IDentifier (GCGID).

xx

Is the Sort weight. Consists of a hexadecimal code point value (00 through FF).

h

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.


Top of page

x
Modifying the FOCUS JCL or CLIST

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.


Top of page

x
Generating New Transcoding Tables

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).



x
Syntax: How to Use the TSGU Command
TSGU
TSGU GEN
TSGU INFO info-command 
TSGU CASE
TSGU SORT

where:

no parameters

Generates the NLS transcoding table(TRANTBL).

GEN

Generates all the tables (TRANTBL, CASETBL and SORTTBL).

INFO

Displays information about the current NLS configuration.

CASE

Generates the custom monocasing table (CASETBL) binary file.

SORT

Generates the custom sort sequence table (SORTTBL) binary file.



x
Syntax: How to Use the TSGU Info-Commands
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:

CP

Lists transcoding tables.

DBCS

Lists only DBCS transcodings.

SBCS

Lists only SBCS transcodings.

nnn

Code page which only shows given code page transcodings (no leading zeros necessary).

idx

Index which only shows given index transcodings.

MAT

Creates a matrix report for transcoding tables.

DES

Reverses an order of code pages in a matrix report.

TRAN

Shows transcoding table contents (trantbl.err).

CASE

Shows uppercase/lowercase table contents (casetbl.err).

SORT

Shows sort table contents (sorttbl.err).

M

Masks null transcode values in tables.

V

Shows tables in vertical layout.

SET

Shows the list of available languages.


Top of page

x
The NLS Configuration File

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.



x
Syntax: How to Use the NLS Configuration File (NLSCFG)

The following is a reference of keywords in the NLSCFG file and their associated values:

LANG=

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).

CODE_PAGE=

Is the FOCUS code page. For z/OS, the hard-coded default value is 37.

CDN=

Is Continental Decimal Notation. Possible values are a comma (,) or a period (.). The default value is a period (.).

DATETIME=

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