COBOL2002 ユーザーズガイド

[目次][用語][索引][前へ][次へ]

30.4.2 実行

-UniObjGenオプションを指定してコンパイルしたプログラムを正しく実行するには,実行時環境変数CBLLANGにUNICODEを指定してください。実行時環境変数CBLLANGについては,「38.2.3 一般」を参照してください。

ここでは,実行時での規則について説明します。

<この項の構成>
(1) 実行時環境変数CBLLANGとCBLUNIENDIANの関係
(2) -UniObjGenオプションと実行時環境変数CBLLANGの関係
(3) -UniEndianオプションと実行時環境変数CBLUNIENDIANの関係
(4) コード変換失敗時の動作
(5) 開発マネージャからデバッガを起動する場合

(1) 実行時環境変数CBLLANGとCBLUNIENDIANの関係

実行時環境変数CBLLANGの設定形式を次に示します。

形式
CBLLANG=UNICODE

実行時環境変数CBLUNIENDIANの設定形式を次に示します。

形式
CBLUNIENDIAN={LITTLE|BIG}

実行時環境変数CBLLANGとCBLUNIENDIANの関係を,次に示します。

表30-2 実行時環境変数CBLLANGとCBLUNIENDIANの関係

環境変数CBLLANG指定 環境変数CBLUNIENDIAN指定
LITTLE BIG 指定なし
(デフォルト)
指定あり UNICODE指定あり 用途がNATIONALの項目 UTF-16LEを仮定 UTF-16BEを仮定 UTF-16LEを仮定
用途がDISPLAYの項目 UTF-8を仮定(環境変数CBLUNIENDIANの影響はない)
無変換
指定なし

(2) -UniObjGenオプションと実行時環境変数CBLLANGの関係

-UniObjGenオプションと実行時環境変数CBLLANGの関係を,次に示します。

表30-3 -UniObjGenオプションと実行時環境変数CBLLANGの関係

-UniObjGenオプション指定 環境変数CBLLANG指定
UNICODE 指定なし(デフォルト)
指定あり ×
指定なし ×

(凡例)
○:動作を保証する
×:動作を保証しない

注※
Unicode機能で動作します。

(3) -UniEndianオプションと実行時環境変数CBLUNIENDIANの関係

-UniEndianオプションの指定(Little/Big)と,実行時環境変数CBLUNIENDIANの指定(LITTLE/BIG)の組み合わせが異なる場合,動作は保証しません。-UniEndianオプションと実行時環境変数CBLUNIENDIANの関係を次に示します。

表30-4 -UniEndianオプションと実行時環境変数CBLUNIENDIANの関係

-UniEndianオプションの指定 環境変数CBLUNIENDIANの指定
LITTLE BIG 指定なし(デフォルト)
-UniEndian,Little ×
-UniEndian,Big × ×
指定なし ×

(凡例)
○:動作を保証する
×:動作を保証しない

(4) コード変換失敗時の動作

コード変換ライブラリの前提条件を満たしていない環境で,実行時環境変数CBLLANGにUNICODEを指定して実行した場合,コード変換失敗となります。コード変換失敗時の動作を次に示します。

表30-5 コード変換失敗時の動作

機能 コード変換失敗時の動作
CSV編成ファイルの入出力 実行時エラーとなる。
MSMQアクセス機能 戻り値として-2を返し,詳細コードにデータ変換失敗を示すコードを設定する。詳細については,「29.3 MSMQアクセスサービスルーチンのインタフェース」の「表29-3 詳細コードの内容」を参照のこと。
OLE2オートメーションクライアント機能 実行時エラーとなり,詳細情報にコード変換失敗を示すコードを設定する。
CBLNCNVサービスルーチン 戻り値として-2または-3を返す。詳細については,「32.7.1 CBLNCNV」を参照のこと。
DISPLAY-OF関数/NATIONAL-OF関数 実行時エラーとなる。

(5) 開発マネージャからデバッガを起動する場合

開発マネージャからデバッガを起動する場合,デバッガに対しては実行支援による環境変数の指定が有効となりません。そのため,実行時環境変数CBLLANG,CBLUNIENDIANの指定については,開発マネージャの「プロジェクトの設定」ダイアログボックスのユーザ設定タブからも指定が必要となります。