COBOL2002 使用の手引 手引編
-UniObjGenオプションを指定してコンパイルしたプログラムを正しく実行するには,実行時環境変数CBLLANGにUNICODEを指定してください。実行時環境変数CBLLANGについては,「35.3.3 一般」を参照してください。
ここでは,実行時での規則について説明します。
実行時環境変数CBLLANGの設定形式を次に示します。
CBLLANG=UNICODE
実行時環境変数CBLUNIENDIANの設定形式を次に示します。
CBLUNIENDIAN={LITTLE|BIG}
実行時環境変数CBLLANGとCBLUNIENDIANの関係を,次に示します。
表27-3 実行時環境変数CBLLANGとCBLUNIENDIANの関係
環境変数CBLLANG指定 | 環境変数CBLUNIENDIAN指定 | |||||
---|---|---|---|---|---|---|
LITTLE | BIG | 指定なし(デフォルト) | ||||
HP-UX(IPF) AIX(32) AIX(64) |
Linux(x86) Linux(x64) |
|||||
指定あり | UNICODE指定あり | 用途がNATIONALの項目 | UTF-16LEを仮定 | UTF-16BEを仮定 | UTF-16BEを仮定 | UTF-16LEを仮定 |
用途がDISPLAYの項目 | UTF-8を仮定(環境変数CBLUNIENDIANの影響はない) | |||||
指定なし※ | 無変換 | 該当しない |
-UniObjGenオプションと実行時環境変数CBLLANGの関係を,次に示します。
表27-4 -UniObjGenオプションと実行時環境変数CBLLANGの関係
-UniObjGenオプション指定 | 環境変数CBLLANG指定 | |
---|---|---|
UNICODE | 指定なし(デフォルト) | |
指定あり | ○※ | × |
指定なし | × | ○ |
-UniEndianオプションの指定(Little/Big)と,実行時環境変数CBLUNIENDIANの指定(LITTLE/BIG)の組み合わせが異なる場合,動作は保証しません。-UniEndianオプションと実行時環境変数CBLUNIENDIANの関係を次に示します。
表27-5 -UniEndianオプションと実行時環境変数CBLUNIENDIANの関係
-UniEndianオプションの指定 | 環境変数CBLUNIENDIANの指定 | ||||
---|---|---|---|---|---|
LITTLE | BIG | 指定なし(デフォルト) | |||
HP-UX(IPF) AIX(32) AIX(64) |
Linux(x86) Linux(x64) |
||||
-UniEndian,Little | ○ | × | × | ○ | |
-UniEndian,Big | × | ○ | ○ | × | |
指定なし | HP-UX(IPF) AIX(32) AIX(64) |
× | ○ | ○ | − |
Linux(x86) Linux(x64) |
○ | × | − | ○ |
コード変換ライブラリの前提条件を満たしていない環境で,実行時環境変数CBLLANGにUNICODEを指定して実行した場合,コード変換失敗となります。コード変換失敗時の動作を次に示します。
表27-6 コード変換失敗時の動作
機能 | コード変換失敗時の動作 |
---|---|
CSV編成ファイルの入出力 | 実行時エラーとなる。 |
CBLNCNVサービスルーチン | 戻り値として-2または-3を返す。詳細については,「29.7.1 CBLNCNV」を参照のこと。 |
DISPLAY-OF関数/NATIONAL-OF関数 | 実行時エラーとなる。 |
EUC環境で,実行時環境変数CBLLANGにUNICODEを指定してCOBOLプログラムを実行した場合,実行時エラーとなり,プログラムの実行を中止します。
UTF-8環境で,実行時環境変数CBLLANGにUNICODEを指定しないでCOBOLプログラムを実行した場合,実行時エラーとなり,プログラムの実行を中止します。
All Rights Reserved. Copyright (C) 2014, 2017, Hitachi, Ltd.