システムの処理
重大度コードがIの場合、プログラムの処理を続行し、重大度コードがUの場合、プログラムを異常終了させます。なお、重大度コードは、ファイルの定義にFILE STATUS句の指定がある場合Iとなり、FILE STATUS句および誤り処理手続きの指定がない場合Uとなります。
プログラマーの処置
$3に設定された文字列を参考にエラーの原因を取り除き、再度実行してください。なお、$1にはOPENまたはCLOSEのどちらかの文字列が、$2にはアクセス名またはファイル名が設定されます。$3に設定される文字列の意味と処置を“表3.20 JMP0310I-I/Uの$3の内容(1)”および“表3.21 JMP0310I-I/Uの$3の内容(2)”に示します。
$3(文字列) | エラーの内容 | プログラマーの処置 |
---|---|---|
ACC-METHOD | ファイルのアクセス方法に誤りがあります。 (注1) | アクセス方法を正しく指定してください。 |
BLKED-FILE | CLOSE 文実行時のエラーなどにより、使用できないファイルです。 | CLOSE 文の誤りを調査し、対処してください。 |
CNVER=xxxx | 文字列のコード変換に失敗しました。 | システムのerrnoの説明から原因を調査し、対処してください。 |
[Solaris] ENV-ERR | アプリケーションの動作環境が開設されていません。 | Apcoodinator配下でアプリケーションが起動されているか確認してください。 |
ERFLD=xxxx | 入出力ファイルのアクセスエラーが発生しました。 | $3が示すエラーコードの値は、各入出力ファイルのエラーコードです。システムのerrno、または各種ファイルシステムのマニュアルを参照し、対処してください。(注2) |
ERRCD=xxxx | 表示ファイルのアクセスエラーが発生しました。 | $3が示すエラーコードの値は、各接続製品の通知コードです。各接続製品のマニュアルを参照し、対処してください。(注3) |
EXCL-ERROR | 排他エラーが発生しました。 | 再実行してください。排他エラーが頻発するようなら、運用上の問題がないかを調査してください。 |
[Solaris] [Solaris64] [LinuxIPF] [Linux64] EXFH-INF | 外部ファイルハンドラ情報ファイルのオープンに失敗しました。または、外部ファイルハンドラ情報ファイルの内容に誤りがあります。 | 外部ファイルハンドラ情報ファイルが正しく設定されているか確認してください。また、外部ファイルハンドラ情報ファイルの内容に誤りが無いか確認してください。 |
FCB | FCB の内容に誤りがあります。 | FCB の内容を確認してください。 |
FILE-LOCK | 他ユーザによりファイルが使用されています。 | 再実行してください。排他エラーが頻発するようなら、運用上の問題がないかを調査してください。 |
FONT-TABLE | フォントテーブル名の指定に誤りがあります。 | フォントテーブル名を正しく指定してください。 |
FTNCD=xxxx | システムからのエラーコード(errno)を示します。 | システムのerrnoの説明から原因を調査し、対処してください。 |
[Linux64] HTMERR=xxxx | 表示ファイルのアクセスエラーが発生しました。 | 設定されたエラーコードを参考に、エラーの原因を取り除いてください。 エラーコードについては、“NetCOBOL MeFt/Webユーザーズガイド(HTML変換方式編)”を参照してください。 |
LOAD | サブプログラムまたは他製品のローディングに失敗しました。 | プログラムの実行環境を調査して環境変数LD_LIBRARY_PATHの設定などに問題がないか確認してください。 マルチスレッドモデルの動作時に、マルチスレッド未サポートの製品を呼び出しました。各製品のマルチスレッド状況を確認してください。 |
LOAD=xxxxxx | 他製品のローディングに失敗しました。 xxxxxx:16進表記 | システムのerrnoの説明から原因を調査し、対処してください。 |
[Solaris] [Solaris64] [LinuxIPF] [Linux64] LOAD=種別(エラーメッセージ) | ローディングに失敗しました。 | 設定されたエラーメッセージを参考に、エラーの原因を取り除いてください。 |
[Solaris] [Solaris64] [LinuxIPF] [Linux64] LOAD-EXFH | 外部ファイルハンドラの環境開設に失敗しました。 | 以下の原因が考えられます。エラーの原因を取り除いてプログラムを再実行してください。
|
LOCK-FULL | 同一のファイルに対し、多数のアプリケーションからOPEN要求がありました。その結果、ロックテーブルに不足が発生しました。 | 再実行してください。排他エラーが頻発するようなら、運用上の問題がないかを調査してください。(注6) |
NON-FILE | OUTPUT指定以外のOPEN文を実行しました。しかし、ファイルは存在しません。 | プログラム実行前にファイルを生成しておいてください。 |
NON-REEL | REEL/UNIT 指定のCLOSE 文を実行しました。 | CLOSE 文のREEL/UNIT 指定を削除してください。 |
OPEN-MODE | ファイルのオープンモードに誤りがあります。 | 正しいオープンモードでファイルをオープンしてください。 |
PRT-INF | 印刷情報ファイルのオープンに失敗しました。または、印刷情報ファイルの内容に誤りがあります。 | 環境変数CBR_PRT_INF に印刷情報ファイルのパス名を正しく設定しているか確認してください。印刷情報ファイルまたはフォントテーブルの内容に誤りがないか確認してください。 |
READ-ONLY | 読込み専用ファイルです。またはファイル名の指定に誤りがあります。 | 書込み可能となるようにファイルのアクセス権を変更してください。または、正しくファイルを指定してください。 |
REC-MODE | レコード形式に誤りがあります。 | レコード形式を正しく指定してください。 |
RMERR=xxxx | ランタイムシステムからのエラーコードを示します。 | システムの障害と考えられるため、資料を採取して技術員(SE)に連絡してください。 |
SESS-END | セションエンドまたはセション中断後にOPEN文が実行されました。 | セションが開始されていない状態でOPEN文を実行しないように修正してください。 |
THREAD=xxxxxx | スレッドの同期処理に失敗しました。 xxxxxx:16進表記 | システムのerrnoの説明から原因を調査し、対処してください。 |
TIMEOUT | タイムアウト後にOPEN文が実行されました。 | タイムアウト後はOPEN文を実行しないように修正してください。 |
UNSUPPORT | 指定された機能は未サポートです。 | 指定したファイル、またはファイルシステムの機能範囲を確認してください。(注5) |
注1
ファイルのアクセス方法が誤っているとは、以下の事象を指します。
異なるファイル編成でアクセスしようとしている場合。または、
復旧の必要がある索引ファイルをアクセスしようとしている場合。または、
ファイルの表現形式がプログラムの動作コード系やプログラム中の定義と一致していない場合など。
注2
印刷ファイル(FORMAT句なし)の実行で、メッセージ本文中のエラーを示す文字列に“ERFLD=101”が出力された場合は、以下の事項を確認してください。
不要なプリンタドライバを多数インストールしていないか。
FCB制御文が2048バイト未満であるか。
不当なフォームオーバレイパターンを指定していないか。
誤ったフォームオーバレイパターン名を登録していないか。
スプール領域が不足していないか(環境変数TMPDIRに指定したディレクトリのディスク容量を確認してください)。
実装メモリ、仮想メモリが不足していないか(同時に実行しているほかのアプリケーションを停止して確認する/実装メモリを増設する/仮想メモリを大きくする)。
上記以外の場合、システムの障害と考えられるため、資料を採取して技術員(SE)に連絡してください。
[Solaris]
RDMファイルに対してのエラーコードの詳細は、“RDB/7000説明書”または“PowerRW+ COBOL開発マニュアル”を参照してください。
[Solaris]
PowerRDBconnectorに対してのエラーコードの詳細は、“PowerRDBconnector説明書”を参照してください。
上記以外のファイルのメッセージ本文中のエラーを示す文字列の詳細はシステムのerrnoの説明を参照してください。
注3
MeFtを使用しているときにERRCD=90xxが出力された場合、xxはMeFtの通知コードを示します。MeFtの通知コードについては、“第4章 MeFtのメッセージ”を参照してください。
注4
RMERR=7F17(98xx)が出力された場合、ファイルが正常に使用できない状態になっています。索引ファイルの場合には、ファイルユーティリティを使用して、ファイルを復旧してください。
注5
マルチスレッドまたはUnicodeでの動作の場合、以下の事項も確認してください。
マルチスレッドモデルでの動作時に、マルチスレッド未サポートの製品を呼び出していないか、各製品のマルチスレッド対応状況を確認してください。
Unicodeアプリケーションの動作時に、Unicode未対応の製品を呼び出していないか、各製品のUnicode対応状況を確認してください。
注6
同一のファイルに対する同時オープン数の最大は、1024個です。
“表3.21 JMP0310I-I/Uの$3の内容(2)”で説明する文字列が表示された場合は、以下の事項を確認してください。
プログラム中のファイルまたはレコードの定義内容と、処理するファイルの属性に矛盾はないか。
処理するファイルは、当製品で作成したファイルか。
指定したファイルシステム種別は正しいか。
当製品以外(OSIV COBOL85や他言語など)で作成したファイルや、異なるファイルシステム種別のファイルを使用した場合、下記のエラーが発生する場合があります。
$3(文字列) | エラーの内容 | プログラムで確認する内容 |
---|---|---|
INV-BLKSZ | ブロック長に誤りがあります。 | BLOCK CONTAINS句に指定した長さ |
INV-CODEST | コードセットに誤りがあります。 | CODE SET句の文字符号 |
INV-COLSEQ | 文字の大小順序(コレーティングシーケンス)に誤りがあります。 | PROGRAM COLLATING SEQUENCE句の符号系名 |
INV-DELMTR | レコードの区切りに誤りがあります。 | ORGANIZATION句、RECORD句の指定(注1) |
INV-KEYDUP | キーの重複可否(DUPLICATES)に誤りがあります。 | RECORD KEY句およびALTERNATE RECORD KEY句のDUPLICATES指定の有無 |
INV-KEYLEN | 割り当てられたファイルのキー長が、プログラムでの定義と矛盾します。 | RECORD KEY句およびALTERNATE RECORD KEY句に指定したデータ名の長さ(注2) |
INV-KEYSTR | キーの構造に誤りがあります。 | RECORD KEY句およびALTERNATE RECORD KEY句に指定したデータ名の長さ、データ名の個数またはデータ名のレコード内での相対位置 |
INV-LRECL | 割り当てられたファイルのレコード長が、プログラムでの定義と矛盾します。 | ORGANIZATION句の指定内容RECORD CONTAINS 句で指定したレコード長 |
INV-RKP | 割り当てられたファイルの相対キー位置が、プログラムでの定義と矛盾します。 | RECORD KEY句およびALTERNATE RECORD KEY句に指定したデータ名のレコード内での相対位置 |
KEY-ATTR | 割り当てられたファイルのキー属性が、プログラムでの定義と矛盾します。 | RECORD KEY句およびALTERNATE RECORD KEY句に指定したデータ名の属性 |
NON-ESDS | 順ファイルに対して順ファイル以外が割り当てられました。 | ORGANIZATION句の指定内容 |
NON-KSDS | 索引ファイルに対して索引ファイル以外が割り当てられました。 | |
NON-RRDS | 相対ファイルに対して相対ファイル以外が割り当てられました。 | |
NOT-TEXT | 印刷ファイルに対してテキストファイル以外が割り当てられました。 | |
NOT-UNIQUE | DUPLICATES指定の記述がありません。しかし、割り当てられたファイルに重複キーがあります。 | RECORD KEY句およびALTERNATE RECORD KEY句のDUPLICATES指定の有無 |
注1:ファイル編成・レコード形式(固定長/可変長)が、実際のファイルと一致していることを確認してください。
注2:RECORD KEY句、ALTERNATE RECORD KEY句に2つ以上のデータ項目を指定した場合、すべてのデータ項目の長さが、割り当てられたファイルのキーごとの長さと一致していなければなりません。