COBOL2002 XML連携機能ガイド

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

7.3.2 ステータスの一覧

このマニュアルでは,ステータスの一覧を次の形式で記載します。


ステータス番号(エラー定義名称) 【ステータスを返すアクセスルーチン】

ステータスの説明

(要因)
ステータスが返される要因を示す。
(対策)
プログラム作成者の処置を示す。

 

ステータス番号
XMLアクセスルーチンが戻り値として返す番号を示します。

エラー定義名称
ステータス番号に対応したCOBOLのデータ名です。エラー定義名称は,XMLアクセス用ステータス定義によって定義されています。

ステータスを返すアクセスルーチン
ステータスを返すアクセスルーチンの種類を示します。
OP:CBLXML-OP-Interfaceアクセスルーチン
OB:CBLXML-OB-Interfaceアクセスルーチン
RD:CBLXML-RD-Interface-BaseElementアクセスルーチン
WR:CBLXML-WR-Interface-BaseElementアクセスルーチン
CL:CBLXML-CL-Interfaceアクセスルーチン
CN:CBLXML-CN-Interfaceアクセスルーチン

 

ステータスの一覧を次に示します。


0(CBLXML-OK) 【OP】【OB】【RD】【WR】【CL】【CN】

XMLアクセスルーチンは正常終了しました。


1(CBLXML-ELEM-NOT-DTD) 【WR】

要素がDTDファイルの構成と一致しません。

(要因)
出力したBaseElement要素がDTDで定義したXMLドキュメントの構成と一致していない。
(対策)
DTDで定義したXMLドキュメントの構成と一致するようにBaseElement要素を出力する。

3(CBLXML-ONLY-WRITE-BE) 【WR】

BaseElement要素を見つけることができません。

(要因)
BaseElement要素が見つからない。原因として,cblxmlコマンドの出力プログラムが改変されたことが考えられる。
(対策)
cblxmlコマンドでXMLアクセスルーチン(COBOL副プログラム)を生成し直す。

4(CBLXML-CANT-FIND-BE) 【WR】

BaseElement要素に対応する要素名が見つかりません。

(要因)
BaseElementがDTD中に定義されていない。原因として,cblxmlコマンドの出力プログラムが改変されたことが考えられる。
(対策)
XMLサービスルーチンのインタフェース名称を確認し,呼び出し順序を見直す。または,cblxmlコマンドでXMLアクセスルーチン(COBOL副プログラム)を生成し直す。

5(CBLXML-CANT-SKIP-BE) 【RD】

BaseElement要素を飛ばして,次のBaseElement要素を入力できません。

(要因)
読み込み中のXMLドキュメントの現在位置には,読み込もうとしたBaseElement要素とは異なるBaseElement要素が存在する。
(対策)
XMLドキュメントの現在位置に存在するBaseElement要素に対応したCBLXML-RD-Interface-BaseElementルーチンを実行する。

6(CBLXML-MUTUAL-VIOLATE) 【WR】

選択要素に対応づけられたすべてのデータ項目が空です。または選択要素の二つ以上のCOBOLデータ項目に値が設定されているため,出力できません。または,入出力データ情報定義機能を使用している場合に,選択要素の二つ以上のアクセス情報フラグに要素を出力するフラグを設定したため,出力できません。

(要因)
選択要素に対応づけたすべてのデータ項目にemptyValue属性の値を設定しているか,二つ以上のデータ項目にemptyValue属性の値以外の値を設定しているため,要素を出力できない。または,入出力データ情報定義機能を使用している場合,選択要素の二つ以上のアクセス情報フラグに要素を出力するフラグを設定しているため,要素を出力できない。
(対策)
出力したい要素以外の要素に対応するデータ項目に,emptyValue属性の値を設定して出力する。入出力データ情報定義機能を使用している場合,出力する要素に対応するCOBOLデータ項目のアクセス情報フラグだけに要素を出力するフラグを設定する。

7(CBLXML-PLUS-EMPTY-WR) 【WR】

'+'の繰り返し要素と対応づけられたCOBOLデータ項目の内容を出力するとき,出力数が0に設定されています。

(要因)
DTDで'+'の繰り返し記号で表される繰り返し要素を出力しようとしたが,nameOfCountVar属性に設定されているデータ項目の値が0になっている。
(対策)
nameOfCountVar属性に設定されているデータ項目に1以上の値を指定して出力する。

8(CBLXML-ILLEGAL-CHAR) 【RD】

XMLドキュメントの入力時に不当な文字が見つかりました。

(要因)
cblxmlコマンドに-chkcharオプションを指定して生成したCOBOL原始プログラムを用いて,XMLドキュメントから要素や属性を入力した場合,type="national"を指定したデータ項目に1バイト文字が入力された。数字項目や浮動小数点項目に数値以外の値やsign="unsigned"指定時に負値が入力された。または,type属性に"numeric","packed","binary","float","double"を指定した場合に320けたを超えた数値が入力された。
(対策)
入力する値が,type属性に指定した値の型に対し有効な文字から構成されるようにする。

9(CBLXML-NOT-WRITTEN) 【CN】

アクセスモード"R"で開いたXMLドキュメントに対して,CBLXML-CN-Interfaceアクセスルーチンを呼び出しました。XMLドキュメントを閉じる処理は成功しますが,XMLドキュメントの長さには0が設定されます。

(要因)
読み取りモードで開いたXMLドキュメントに対して,CBLXML-CN-Interfaceアクセスルーチンを呼び出した。
(対策)
読み取りモードで開いたXMLドキュメントを閉じる場合は,CBLXML-CL-Interfaceアクセスルーチンを呼び出す。

10(CBLXML-VALUE-OVERFLOW) 【RD】

XMLドキュメントから入力した要素,属性の値がオーバフローしました。

(要因)
cblxmlコマンドに-chkovflowオプションを指定して生成したCOBOL原始プログラムを用いて,XMLドキュメントから要素や属性を入力した場合で,要素や属性の値の長さがsize属性に指定したけた数を超えた。ただし,数字項目は左側の0を削除した数値のけた数がsize属性に指定したけた数を超えた。また,浮動小数点数はシステムで定義した浮動小数点数の絶対値を超えた。ただし,type属性に"numeric","packed","binary","float","double"を指定した場合に入力する数値が320けたを超えたときは,ステータスに8(CBLXML-ILLEGAL-CHAR)を返す。
(対策)
size属性のけた数を大きくする。または,XMLドキュメントの要素,属性値の長さがsize属性に指定したけた数を超えないようにする。

11(CBLXML-ILLEGAL-CHAR-WRITE) 【WR】

XMLドキュメントの出力時に不当な文字が指定されました。

(要因)
XMLドキュメントを出力する場合にtype="alphabetic","alphanumeric","national","numeric","packed"に対応するCOBOLデータ項目に0x00〜0x08,0x0b,0x0c,0x0e〜0x1f,0x80,0xa0,0xfd〜0xff,シフトJISコード,日本語EUCの多バイト文字以外を指定して出力しようとした。
(対策)
出力する文字列から制御文字や不当な多バイト文字文字を削除して出力する。

12(CBLXML-NO-UPDATE) 【CL】【CN】

更新モードで開いたXMLドキュメントを1回も更新していません。

(要因)
アクセスモード"U"で開いたXMLドキュメントに対してCBLXML-WR-Interface-BaseElementアクセスルーチンを1回も呼び出さずにCBLXML-CL-Interface,CBLXML-CN-Interfaceアクセスルーチンを呼び出した。
(対策)
アクセスモード"U"で開いたXMLドキュメントを更新する。

13(CBLXML-NO-UPDATE-BE) 【WR】

更新モードで開いたXMLドキュメントに対して更新の対象を指定しないで(update属性を指定していない)出力しました。

(要因)
アクセスモード"U"で開いたXMLドキュメントに対して更新の対象を指定していないDDFを用いて更新しようとした。
(対策)
DDFで更新の対象を設定する。

15(CBLXML-NOT-READ) 【WR】

更新モードで開いたXMLドキュメントを入力しないで出力しました。または,開いたXMLドキュメントに対して直前に同じBaseElement要素単位で入力しないで出力しました。

(要因)
更新モードで開いたXMLドキュメントを入力しないで出力した。または,更新モードで開いたXMLドキュメントで,直前の入力に対して異なるBaseElement要素単位を出力した。
(対策)
同じBaseElement要素単位のCBLXML-RD-Interface-BaseElementアクセスルーチンで入力したあとに同じBaseElement要素単位のCBLXML-WR-Interface-BaseElementアクセスルーチンを呼び出す。

101(CBLXML-NOT-ENOUGH-MEM) 【OP】【OB】【RD】【WR】【CL】【CN】

操作を続けるメモリを確保できません。

(要因)
操作を続けるためのメモリが不足した。
(対策)
使用可能なメモリを増やして再実行する。

103(CBLXML-FILE-OPEN-FAIL) 【OP】

ファイル上のXMLドキュメントを開けません。

(要因)
ファイルを書き込みモード,または更新モードで開けなかった(例:書き込み権限がない)。または,不当なファイル名称を指定した。
(対策)
ファイルのアクセス権限,ディスク容量などを見直す。または,ファイル名称を見直す。

104(CBLXML-FILE-CLOSE-FAIL) 【CL】【CN】

ファイル上のXMLドキュメントを閉じられません。

(要因)
書き込みモード,または更新モードで開かれたファイルを閉じられなかった(例:ディスクがいっぱいになった)。
(対策)
ディスク容量などのファイル環境を見直す。

105(CBLXML-BAD-SESSION) 【OP】【OB】

ファイルモードに不当なモードが指定されました。

(要因)
XMLドキュメントのアクセスモードに"R","W","U","V","E"以外の文字を指定した。または,アクセスモードの左端に"R","W","U"以外の文字を指定した。
(対策)
XMLドキュメントを開く際のアクセスモードに正しい文字列を指定する。

106(CBLXML-CANT-WRITE) 【WR】【CL】【CN】

ファイル上のXMLドキュメントに出力できません。

(要因)
ディスク容量不足,アクセス権がない,ネットワーク障害などの要因で,ファイルに出力できなかった。
(対策)
ディスク容量,ファイルのアクセス権,ネットワークの状態などを見直す。

109(CBLXML-RECURSIVE-DTD) 【WR】【CL】【CN】

DTDファイルに再帰的な要素を見つけました。

(要因)
DTDに再帰的な要素が定義されている。
(対策)
DTDを再帰しない構造で定義する。

110(CBLXML-XML-PARSE-FAIL) 【OP】【OB】

XMLドキュメントの解析でエラーが発生しました。

(要因)
XMLドキュメントの解析に失敗した。次の要因が考えられる。
  • XMLドキュメントが整形式でない。
  • 構造がDTDの定義と一致しない。
  • エンティティ参照回数が制限した値を超えた。
CBLXML-GET-ERRORサービスルーチンを使用すると,詳細なエラー情報を取得できる。詳細については,「9.3.2 エラー情報の取得」を参照のこと。
エンティティ参照回数と制限値については,「付録E.8 エンティティ参照の扱い(PC,AIX,Linux(x86),Linux(x64)の場合)」を参照のこと。
(対策)
XMLドキュメントのエラー部分を修正する。

111(CBLXML-NO-BE-LEFT) 【RD】

XMLドキュメントにBaseElement要素が見つかりません。

(要因)
入力XMLドキュメントに読み込むBaseElement要素が残っていない。
(対策)
すべてのBaseElement要素を読み終わった場合は,XMLドキュメントを閉じる。

114(CBLXML-INVALID-PARAMS) 【OP】【OB】【RD】【WR】【CL】

XMLアクセスルーチンに指定した引数に誤りがあります。

(要因)
XMLアクセスルーチンに指定した引数が,各アクセスルーチンの引数仕様を満たしていない。
(対策)
XMLアクセスルーチンの引数を見直す。

115(CBLXML-BUF-OVERFLOW) 【WR】【CL】【CN】

バッファへの出力中にバッファ長を超えました。

(要因)
バッファへの書き込み時に,書き込むXMLドキュメントの長さがバッファ長を超えた。
(対策)
バッファ長を書き込むXMLドキュメント長よりも大きくとる。

117(CBLXML-FILE-IO) 【OP】【OB】【RD】【WR】【CL】【CN】

システムファイルI/Oの操作に失敗しました。

(要因)
ファイルI/Oのシステム関数の実行に失敗した。次の要因が考えられる。
  • XMLドキュメントを出力するファイルシステムの容量が不足した。
  • ファイルに対するアクセス権がない。
  • メモリが不足した。
  • 出力する一つのXMLドキュメントに複数から同時にアクセスした。
(対策)
ファイルのエラー原因を調査する。

118(CBLXML-CANT-END-DOC) 【CL】【CN】

XMLドキュメントを閉じるタグを出力できません。

(要因)
書き込みモードで開いたXMLドキュメントに要素を出力しないで,XMLドキュメントを閉じた。
(対策)
XMLドキュメントを閉じる前に,要素を出力する。

119(CBLXML-ALREADY-OPEN) 【OP】【OB】

一つのXMLポインタに対して複数のXMLドキュメントを開こうとしました。

(要因)
アクセスモード"E"を指定して一つのXMLポインタに対して複数のXMLドキュメントを開こうとした。
(対策)
XMLドキュメントを開いているXMLポインタにアクセスモード"E"を指定してCBLXML-OP-Interface, CBLXML-OB-Interfaceアクセスルーチンを呼び出さないように処理を訂正する。

121(CBLXML-INTERNAL) 【OP】【OB】【RD】【WR】【CL】【CN】

内部で論理エラーが発生しました。

(要因)
XMLアクセスルーチンで内部的に論理エラーが発生した。または,XMLアクセスルーチンを生成したcblxmlコマンドに対してXMLアクセス用実行時ライブラリの方が古い。
(対策)
当社保守員に連絡する。または,XMLアクセスルーチンを生成したcblxmlコマンドが含まれるプロダクトと,同じまたは新しいバージョンのプロダクトをインストールする。

122(CBLXML-INVALIDCBLLANG) 【OP】【OB】

-unisrcオプションの指定と環境変数CBLLANGの設定に矛盾があります。

(要因)
cblxmlコマンドで-unisrcオプションを指定して生成したUnicode機能に対応したXMLアクセスルーチンを実行する場合,環境変数CBLLANGが設定されていないか,環境変数CBLLANGにUNICODE以外の値が指定されている。または,-unisrcオプションを指定しないで生成したXMLアクセスルーチンを実行する場合に環境変数CBLLANGがUNICODEに設定されている。
(対策)
-unisrcオプションを指定したUnicode機能に対応したXMLアクセスルーチンを実行する場合,環境変数CBLLANG=UNICODEに設定する。-unisrcオプションを指定していないXMLアクセスルーチンを実行する場合,環境変数CBLLANGを設定しない。

123(CBLXML-INVALIDLANG) 【OP】【OB】

-unisrcオプションの指定と環境変数LANGの設定に矛盾があります。

(要因)
  • (HP-UX(IPF),AIXの場合)cblxmlコマンドで-unisrcオプションを指定して生成したUnicode機能に対応したXMLアクセスルーチンを実行する場合,環境変数LANGが設定されていないか,環境変数LANGにシフトJIS以外の値が設定されている。
  • (Linux(x86),Linux(x64)の場合)cblxmlコマンドで-unisrcオプションを指定して生成したUnicode機能に対応したXMLアクセスルーチンを実行する場合,環境変数LANGが設定されていないか,環境変数LANGにUTF-8以外の値が設定されている。
(対策)
  • (HP-UX(IPF),AIXの場合)cblxmlコマンドで-unisrcオプションを指定している場合,環境変数LANGをシフトJISに設定する。
  • (Linux(x86),Linux(x64)の場合)cblxmlコマンドで-unisrcオプションを指定している場合,環境変数LANGをUTF-8に設定する。
なお,文字コードについては,「付録G.2 文字コード」を参照のこと。

124(CBLXML-PROG-FILE-TOO-OLD) 【OP】【OB】

互換性がない古いXMLアクセスルーチンを使用しています。

(要因)
実行したバージョンと互換性がない古いバージョンのcblxmlコマンドを使用して生成したXMLアクセスルーチンを使用した。
(対策)
実行したバージョンと同じバージョンのcblxmlコマンドを使用して,XMLアクセスルーチンおよびXMLアクセス用データ定義を再生成する。