COBOL2002 使用の手引 操作編

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

1.4.3 その他の注意事項

<この項の構成>
(1) バイトオーダ
(2) テストデバッガとカバレージが入出力するファイル
(3) 表意定数の扱い
(4) UTF-8環境下での注意事項(Linux(x86),Linux(x64)の場合)

(1) バイトオーダ

テストデバッガは,文字コードの変換だけではなく,UTF-16のバイトオーダの変換をします。

UTF-16のバイトオーダの変換の規則を次に示します。

  1. HP-UX(IPF) 01-02以降,AIX(32),AIX(64)の場合,シフトJISからUTF-16,またはUTF-16からシフトJISに変換するときのUTF-16のバイトオーダは,環境変数CBLUNIENDIANの値に従います。環境変数CBLUNIENDIANの値と仮定するバイトオーダの関係を表1-9に示します。
  2. Linux(x86),Linux(x64)の場合,UTF-8からUTF-16,またはUTF-16からUTF-8に変換するときのUTF-16のバイトオーダは,環境変数CBLUNIENDIANの値に従います。環境変数CBLUNIENDIANの値と仮定するバイトオーダの関係を表1-9に示します。

    表1-9 環境変数CBLUNIENDIANの値と仮定するバイトオーダ

    データ項目 環境変数CBLUNIENDIANの値
    LITTLE BIG LITTLE,BIG以外
    (指定なしも含む)
    用途がNATIONAL UTF-16LE※1を仮定する UTF-16BE※2を仮定する

    HP-UX(IPF) 01-02以降,AIX(32),AIX(64)の場合
    UTF-16BE※2を仮定する

    Linux(x86),Linux(x64)の場合
    UTF-16LE※1を仮定する

    注※1
    UTF-16LE: UTF-16をリトルエンディアンで表現します。

    注※2
    UTF-16BE: UTF-16をビッグエンディアンで表現します。

  3. データ名への代入,および比較条件式を設定するときの16進日本語文字定数はUTF-16BEを指定してください。16進日本語文字定数に指定されたUTF-16BEのコード値は,環境変数CBLUNIENDIANの指定に従い,テストデバッガが自動的にバイトオーダの変換をします。
  4. 用途がNATIONALの項目を16進数で表示する場合,およびデータ属性表示で表示エラーが発生した場合に表示する16進数の値は,UTF-16BEの16進数で表示します。
  5. データ名に値を代入する場合,拡張16進定数を使用してコード値を直接指定したときは,バイトオーダの変換はしません。
  6. 比較条件式を設定する場合,拡張16進定数を使用してコード値を直接指定したときは,バイトオーダの変換はしません。

(2) テストデバッガとカバレージが入出力するファイル

TDコマンド格納ファイルはシフトJISで作成してください。ただし,外字を指定する場合など文字のコード値を直接指定したい場合は,16進英数字定数,16進日本語文字定数を使用して,指定したいコード値をUnicodeで指定します。

HP-UX(IPF) 01-02以降,AIX(32),AIX(64)の場合
テストデバッガまたはカバレージが出力するエラーメッセージおよび次に示すファイルはシフトJISで出力します。
  • ログ出力ファイル
  • 結果出力ファイル
  • 結果蓄積ファイル
  • 実行結果出力ファイル
  • カバレージ情報リストファイル
  • カウント情報リストファイル

Linux(x86),Linux(x64)の場合
テストデバッガまたはカバレージが出力するエラーメッセージおよび次に示すファイルはUTF-8で出力します。
  • ログ出力ファイル
  • 結果出力ファイル
  • 結果蓄積ファイル
  • 実行結果出力ファイル
  • カバレージ情報リストファイル
  • カウント情報リストファイル

(3) 表意定数の扱い

空白文字,表意定数SPACEの文字コードは次のようになります。

(4) UTF-8環境下での注意事項(Linux(x86),Linux(x64)の場合)

テストデバッガやカバレージのUTF-8環境下での注意事項を次に示します。

  1. 次に示す個所にUTF-8の多バイト文字を使用した場合,テストデバッガやカバレージの動作は保証しません。エラーメッセージが正しく表示されないなどの現象が起きます。
    • 起動コマンドのパラメタ
    • 環境変数に指定する値
    • カレントディレクトリ名
    • COBOLプログラムの実行時にローディングされるすべての共用ライブラリの絶対パス名
    注※
    ファイル名または相対パス名が指定されたとき,それらの絶対パス名も含みます。
  2. 次に示すコンパイラオプション,環境変数を同時に指定し,コンパイルして生成したプログラム情報ファイルだけ使用できます。
    • -UniObjGenコンパイラオプション
    • 環境変数CBLSRCENCODINGにSJISを指定
    これらのコンパイラオプション,環境変数については,「1.4.1 機能の概要」の「(2) コンパイラオプションと環境変数について」を参照してください。
  3. ラインモードからTDコマンドを入力するとき,UTF-8からシフトJISに変換できない文字コードを含んではいけません。
  4. TDコマンド格納ファイルから入力するとき,次に示すTDコマンドのオペランドのファイル名に,シフトJISからUTF-8に変換できない文字コードは使用できません。
    • #INCLUDE(TDコマンド格納ファイルの取り込み)コマンド
    • SET PRINT(テスト結果蓄積先の設定)コマンド
    • SET LOG(ログ出力ファイルの設定)コマンド
    • ASSIGN DEVICE(装置名へのファイルの割り当て)コマンド
    #INCLUDE(TDコマンド格納ファイルの取り込み)コマンド,SET PRINTコマンド,SET LOGコマンド,およびASSIGN DEVICEコマンドについては,「5.4 TDコマンドの詳細」の「(32) #INCLUDE(TDコマンド格納ファイルの取り込み)」,「(34) SET PRINT/RESET PRINT(テスト結果蓄積先の設定と解除)」の「(a) SET PRINT(テスト結果蓄積先の設定)」,「(35) SET LOG/RESET LOG(ログ出力ファイルの設定/解除)」の「(a) SET LOG(ログ出力ファイルの設定)」および「(36) ASSIGN DEVICE(装置名へのファイルの割り当て)」のそれぞれを参照してください。
  5. TDコマンド格納ファイルから入力するとき,!(UNIXコマンドの実行)コマンドで指定するUNIXコマンドまたはオペランドにシフトJISからUTF-8に変換できない文字コードは使用できません。
    !(UNIXコマンドの実行)コマンドについては,「5.4 TDコマンドの詳細」の「(37) !(UNIXコマンドの実行)」を参照してください。
  6. TDコマンド格納ファイルから入力するとき,GO(実行の開始/再開)コマンド,STEP IN(ステップイン実行の開始/再開)コマンド,およびSTEP OVER(ステップオーバー実行の開始/再開)コマンドのPARAMETERオペランドで指定する引数の文字列に,シフトJISからUTF-8に変換できない文字コードは使用できません。
    GO(実行の開始/再開)コマンド,STEP INコマンド,およびSTEP OVERコマンドについては,「5.4 TDコマンドの詳細」の「(4) GO(実行の開始/再開)」,「(5) STEP IN(ステップイン実行の開始/再開)」,および「(6) STEP OVER(ステップオーバー実行の開始/再開)」のそれぞれを参照してください。
  7. TDコマンドの実行結果およびメッセージに含まれるシフトJISからUTF-8に変換できない文字コードは,ログ出力ファイル,結果出力ファイル,結果蓄積ファイル,実行結果出力ファイル,およびラインモードのコンソールに出力するとき,ピリオド(.)に置き換えます。
  8. TDコマンド格納ファイルのTDコマンドに含まれるシフトJISからUTF-8に変換できない文字コードは,結果出力ファイルにTDコマンドを出力するとき,ピリオド(.)に置き換えます。
  9. COBOLのソースプログラムに含まれるシフトJISからUTF-8に変換できない文字コードは,カバレージ情報リスト・カウント情報リストでは,半角ピリオド(.)に置き換えます。