27.1 Unicode機能の概要
ここでは,コンパイル,実行,およびデバッグでのUnicode機能の概要について説明します。
Unicode機能を使用できる環境を次に示します。
OS |
使用できる動作環境 |
環境変数LANGの設定値 |
---|---|---|
AIX |
シフトJIS環境 |
「付録A.2 シフトJISの場合」を参照してください。 |
Linux |
UTF-8環境 |
「付録A.4 Unicodeの場合」を参照してください。 |
(1) コンパイルでのUnicode機能
シフトJISで記述されたCOBOLソースプログラムを,-UniObjGenオプションを指定してコンパイルすることで,コード系がUnicodeのオブジェクトを生成します。これによって,Unicodeデータ同士の転記または比較ができます。コンパイルでのUnicode機能を次に示します。
(a) シフトJIS環境下の場合
-
シフトJISで記述されたCOBOLソースプログラム,登録集原文を入力し,-UniObjGenオプションを指定しないでコンパイルすると,シフトJIS環境で動作するオブジェクトが生成されます。
-
シフトJISで記述されたCOBOLソースプログラム,登録集原文を入力し,-UniObjGenオプションを指定してコンパイルすると,COBOLのUnicode機能を使用する環境で動作するオブジェクトが生成されます。コンパイル時に出力されるコンパイルメッセージ,コンパイルリストはシフトJISで出力されます。
-
Unicodeで記述されたCOBOLソースプログラムは,コンパイルできません。コンパイルした場合,動作は保証しません。
-
COBOL2002コンパイラは,COBOLソースプログラム上に記述された英数字文字定数をUTF-8に,日本語文字定数をUTF-16に変換します。
(b) UTF-8環境下の場合
-
シフトJISで記述されたCOBOLソースプログラム,登録集原文を入力し,-UniObjGenオプションを指定しないでコンパイルすると,コンパイルエラーとなります。
-
シフトJISで記述されたCOBOLソースプログラム,登録集原文を入力し,-UniObjGenオプションを指定してコンパイルすると,COBOLのUnicode機能を使用する環境で動作するオブジェクトが生成されます。コンパイル時に出力されるコンパイルメッセージはUTF-8,コンパイルリストはシフトJISで出力されます。
-
Unicodeで記述されたCOBOLソースプログラムは,コンパイルできません。コンパイルした場合,動作は保証しません。
-
COBOL2002コンパイラは,COBOLソースプログラム上に記述された英数字文字定数をUTF-8に,日本語文字定数をUTF-16に変換します。
(2) 実行でのUnicode機能
プログラム実行時に実行時環境変数CBLLANGにUNICODEが指定されている場合,コード系がUnicodeとみなして実行します。プログラム実行時のUnicode機能について次に示します。
-
XML連携機能とCosminexus連携機能※でUnicodeデータを使用できます。
- 注※
-
AIX(64),Linux(x64)で有効です。
-
ファイル入出力機能でUnicodeデータの読み書きができます。
(3) デバッグでのUnicode機能
テストデバッガでプログラムをデバッグすると,Unicodeデータに対して次の操作ができます。詳細は,マニュアル「COBOL2002 使用の手引 操作編」を参照してください。
-
データ項目の値の表示
-
データ項目への値の代入
-
比較条件式の設定