前ページへ各国語対応 COBOL インターフェイス環境次ページへ

第 9 章 NLS の実装例

この章では、NLS の実装例として、アクセント記号を含むヨーロッパの地名リストをソートするサンプルプログラムを紹介します。

9.1 概要

ここで紹介する例は、同じコードを使用して同一のリストを 2 回ソートします。ただし、最初のソートには NLS 指令を指定してコンパイルしたプログラム、2 回めのソートには NONLS 指令 (NLS を無効化) を指定してコンパイルしたプログラムをそれぞれ使用します。2 つのソート結果は一度に表示されるため、ソート結果の違いを比較できます。このサンプルで使用する地名リストには、標準的な 2 種類の文字集合 (ISO 8859-1 と IBM PC) が使用されており、サンプルを実行するためには、どちらかの文字集合を表示できる端末が必要です。サンプルのコピーファイルを正しく設定すると、どちらの文字集合でも表示される結果は同じになります (コピーファイルの設定については、『サンプルプログラムの実行』を参照してください)。

9.2 サンプルプログラムに必要なファイル

NLS 実装例のサンプルプログラムを実行するには、次の各ファイルが必要です。

nlsdemo.cbl メインプログラムと NLS 非対応サブルーチンのソースファイル
nlssort.cbl NLS 対応サブルーチンのソースファイル
sortsub.cpy 両方のサブルーチンに共通のコードのコピーファイル

これらのファイルの検索には Infomgr を使用してください。

9.3 サンプルプログラムの実行

サンプルプログラムは次の手順で実行します。

  1. 端末で表示可能な文字集合として、ISO 8859-1 と IBM PC のいずれかを選択します。

  2. sortsub.cpy ファイルを編集し、使用する文字集合の 78 レベル項目のコメントを削除し、使用しない文字集合の行を注記行とします。たとえば、IBM PC 文字集合を使用する場合には、ISO 8859-1 用の 78 レベル項目を次のようにコメントアウトします。
    *78  charset                      value "ISO".
     78  charset                      value "IBMPC". 
  3. 次のコマンドを実行し、2 つのソースファイル (nlsdemo.cblnlssort.cbl) をコンパイルします。
    cob nlsdemo.cbl nlssort.cbl
  4. コンパイルした nlsdemo ファイルと nlssort ファイルをリンクします。

  5. 使用するロケールに応じて、LANG 環境変数に適切な言語、国、および文字集合を設定します。

    UNIX の場合
    UNIX 上でフランス語用の ISO 8859-1 コードセットを設定するには、次のコマンドを実行します。

    LANG=fr_FR
    export LANG

    AIX の場合
    AIX 上でフランス語用の IBM PC コードセットを設定するには、次のコマンドを実行します。

    LANG=Fr_FR
    export LANG
  6. nlsdemo を実行します。
    cobrun nlsdemo

画面にソート結果が表示されます。次の『典型的な処理結果』にソート結果の例を示しています。この例と実際のソート結果が一致しない場合には、LANG 環境変数の設定に応じた文字の大小順序の定義に、標準とは異なる UNIX システムファイルが使用されている可能性があります。システム管理者に連絡し、適切な処置を行ってください。

9.4 典型的な処理結果

次の表は、アクセント記号を含むヨーロッパの地名リストをサンプルプログラムでソートした結果の画面表示内容の 24 行めまでの一覧です。左側の列が NLS コンパイラ指令を使用しない (NONLS) プログラムによるソート結果、右側の列が NLS コンパイラ指令を使用したプログラムによるソート結果です。

NONLS コンパイラ指令 NLS コンパイラ指令

Aschaffenburg
Bl3vands Huk
Brìzová *
Böda
Chatel-Guyon
Châlons S. Marne
Château Thierry
Châteauneuf en Thîm.
Crèvecoeur le Gd.
Cádiz
Córdoba
Föhr
Göteborg
Hj|rring
La Campiña
Leucate
Lébn
Lörrach
Muhlhausen
Munden
Munnerstadt
Mys` gliborz *
Málaga
Mâcon
Mâcon
Mühldorf
München
Nice
Nievre
Nyköping
Næstrved
Nîmes
Nürnberg
Oddes
Oslo
Perusaic *
Peñaranda
Poznad *
Roma

Äland
Älborg
Aschaffenburg
Blåvands Huk
Böda
Brìzová *
Cádiz
Châlons S. Marne
Château Thierry
Châteauneuf en Thîm.
Chatel-Guyon
Córdoba
Crèvecoeur le Gd.
Èáslav *
Ètaples
Föhr
Göteborg
Hjørring
La Campiña
Lébn
Leucate
Lörrach
Mâcon
Mâcon
Málaga
Mühldorf
Muhlhausen
München
münchen
Munden
Munnerstadt
Mys` gliborz *
Næstrved
Nice
Nievre
Nîmes
Nürnberg
Nyköping
Oddes


注:



Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標および商品名は国際著作権法で保護されています。

前ページへ各国語対応 COBOL インターフェイス環境次ページへ