付録H.2 COBOL2002のUnicode機能に対応したXML連携機能を使用するCOBOLプログラムの実行
- 〈この項の構成〉
(1) Unicode機能の実行時環境変数
Unicode機能のCOBOLプログラムを実行する場合,COBOL2002の実行時環境変数CBLLANG=UNICODEを指定する必要があります。また,日本語項目のバイトオーダを指定したい場合,COBOL2002の実行時環境変数CBLUNIENDIANを指定してください。詳細についてはマニュアル「COBOL2002 使用の手引 手引編」または「COBOL2002 ユーザーズガイド」を参照してください。
(2) XML連携機能の動作
XML連携機能のUnicode機能に対応したXMLアクセスルーチンは,英数字項目の文字コードをUTF-8,日本語項目の文字コードをUTF-16(UCS-2範囲)として扱います。日本語項目のバイトオーダはCOBOL2002の実行時環境変数CBLUNIENDIANの指定値に従います。また,XML連携機能が提供するサービスルーチン(CBLXML-GET-ERROR, CBLXML-READ-CATALOG-FILE, CBLXML-GET-NEXT-BE)は,Unicodeへ変換した結果を返します。
図H-2にUnicode機能に対応したXML連携機能を使用するCOBOLプログラムの文字コードを示します。
- 注※
-
バイトオーダはCOBOL2002の実行時環境変数CBLUNIENDIANの指定に従います。
注意事項
-
cblxmlコマンドで-unisrcオプションを指定したUnicode機能に対応したXMLアクセスルーチンの実行時に,COBOL2002の実行時環境変数CBLLANGの値がUNICODE以外の場合は,CBLXML-OP-InterfaceとCBLXML-OB-Interfaceアクセスルーチンで実行環境が不正であるステータス122を返します。また,Unicode機能に対応していないXMLアクセスルーチンの実行時に,COBOL2002の実行時環境変数CBLLANGの値がUNICODEの場合もCBLXML-OP-InterfaceとCBLXML-OB-Interfaceアクセスルーチンで実行環境が不正であるステータス122を返します。
-
(Windows,AIXの場合)Unicode機能を使用する場合,カタログファイルの文字コードはシフトJISでなければなりません。
-
(Linuxの場合)Unicode機能を使用する場合,カタログファイルの文字コードはUTF-8でなければなりません。
-
(UNIXの場合)CBLXML-OP-InterfaceとCBLXML-OB-Interfaceアクセスルーチンの実行時に,cblxmlコマンドの-unisrcオプションの指定の有無と環境変数LANGの設定値の整合性チェックを行い,整合性に矛盾がある場合はステータス123を返します。