errorCode

sysVar.errorCode には、V6 例外モードで 実行されるプログラム用のエラー・コードが含まれています。

EGL は以下の状況において、sysVar.errorCode システム変数を設定します。

V6 の例外モードで実行していない 場合、 sysVar.errorCode の値は未定義です。 この変数の値に基づいてアクションを実行しないでください。

呼び出し、入出力、またはシステム関数が正常に実行されると、EGL は sysVar.errorCode に 00000000 を設定します。 COBOL 生成の場合は、このトピックの『互換性』を参照してください。

特性

sysVar.errorCode には、以下の特性があります。
プリミティブ型
CHAR
データ長
8
セグメント化された converse にわたって値が保存されるかどうか
はい

以下の例は、sysVar.errorCode 変数の検査を行います。

  if (sysVar.errorCode == "00000008")
	  exit program;
  end

互換性

表 1. sysVar.errorCode の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成
sysCodes ビルド記述子オプションは、以下のように、sysVar.errorCode の値に影響を与えます。
  • sysCodes を YES に設定し、索引付きレコード 、WebSphere® MQ レコード、相対レコード、または順次レコードに対して 入出力操作を実行すると、デバッグ環境またはランタイム環境、およびリソースのタイプ (例えば、VSAM ファイル) に固有の戻りコードが sysVar.errorCode に入ります。 このコードをインタープリットする方法については、リソースに関する該当資料を参照してください。
  • sysCodes を NO に設定している場合、システムの戻りコードは EGL の戻りコードに変換されます。 これにより、システム共通プロダクト (CSP) または VisualAge® Generator の下で開発されたプログラムが、EGL と同じ戻りコードを受信できるようになります。
CICS®

すべての CICS システム (CICS for z/OS® を含む) に関して、 sysVar.errorCode 値の意味は、その値の形式によって決まります。

sysVar.errorCode の書式が RSnnnnnn の場合は、Rational® COBOL Runtime for zSeries の資料の戻りコードに関するセクションの nnnnnn を参照すると、詳細情報が得られます。

その他の場合、sysVar.errorCode の文字は CICS EXEC インターフェース・ブロックから派生されます。 これらの規則は、リモート・ファイル・アクセスにも適用されます。
  • sysVar.errorCode の文字 1 と文字 2 には、EIBFN の先頭バイトを表す 16 進表記が格納されます。
  • 文字 3 から文字 8 には、EIBRCODE の 0 から 2 バイトを表す 16 進数値が格納されま す。
入出力操作が CICS SYSIDERR (リモート・ファイルへのアクセスにおける問題) で終了した場合、以下のいずれかの値が sysVar.errorCode の最初の 6 文字にコピーされます。
06D004
システム・エントリーでない名前です
06D008
リンクのサービスが休止しています
06D00C
CICS にとって不明な名前です
IMS™ BMP

sysVar.errorCode の書式が RSnnnnnn の場合は、Rational COBOL Runtime for zSeries の資料の戻りコードに関するセクションの nnnnnn を参照すると、詳細情報が得られます。

以下は、IMS BMP に対して固有である、唯一のファイル・タイプです。 それ以外のすべてのファイル・タイプについては、このテーブルで後述の『z/OS バッチ』の項目を参照してください。
IMS メッセージ・キュー
sysVar.errorCode には、I/O 関数後の DL/I 状況コードが含まれます。 sysVar.errorCode の末尾 6 文字はスペースです。
IMS/VS この環境で使用可能なファイルは、IMS メッセージ・キューに関連付けられたシリアル・ファイルのみです。 sysVar.errorCode には、これらのファイルのいずれかに対する I/O 関数後の DL/I 状況コードが含まれます。 sysVar.errorCode の末尾 6 文字はスペースです。
z/OS バッチ

sysVar.errorCode の書式が RSnnnnnn の場合は、Rational COBOL Runtime for zSeries の資料の戻りコードに関するセクションの nnnnnn を参照すると、詳細情報が得られます。

また、sysVar.errorCode 内の文字は、ファイル・タイプに固有のものです。
GSAM
sysVar.errorCode には、I/O 関数後の DL/I 状況コードが含まれます。 sysVar.errorCode の末尾 6 文字はスペースです。
SEQ
sysVar.errorCode は、最初の 2 文字に COBOL 状況キー値を含みます。 残りの 6 文字はゼロです。
SEQRS
動的割り振りが失敗した場合、sysVar.errorCode の先頭の 3 バイトに値 S99 (SVC 99 の場合は動的割り振り) が格納されます。 4 バイト目は 16 進数の SVC 99 戻りコードであり、5 バイト目から 8 バイト目には 16 進数のエラー理由コードが格納されます。

読み取り中にファイルの終わり条件が発生すると、 sysVar.errorCode には戻りコード「00000004」が格納されます。

オープンに失敗した場合、sysVar.errorCode には戻りコード「00000008」が格納されます。

読み取り、書き込み、またはクローズ中に障害が発生した場合、 sysVar.errorCode には戻りコード「00000012」が格納されます。

VSAM
sysVar.errorCode には以下の情報が含まれます。
  • 1 つ以上の COBOL 状況キー値用の 2 文字
  • COBOL VSAM 戻りコード (VSAM フィードバック・コード) 用の 2 文字
  • COBOL VSAM 機能コード (VSAM コンポーネント・コード) 用の 1 文字
  • COBOL VSAM フィードバック・コード (VSAM 理由コード) 用の 3 文字
VSAMRS
動的割り振りが失敗した場合、sysVar.errorCode の先頭の 3 バイトに値 S99 (SVC 99 の場合は動的割り振り) が格納されます。 4 バイト目は 16 進数の SVC 99 戻りコードであり、5 バイト目から 8 バイト目には 16 進数のエラー理由コードが格納されます。

ファイルのオープンまたはクローズ中に障害が発生した場合、 sysVar.errorCode の先頭の 2 バイトには 16 進数の VSAM プログラム制御ブロック (ACB) からのエラー・コードが入り、 残りの 6 文字はゼロになります。

その他の場合、sysVar.errorCode には以下の情報が含まれます。
  • 2 文字のゼロ
  • COBOL VSAM 戻りコード (VSAM フィードバック・コード) 用の 2 文字
  • COBOL VSAM 機能コード (VSAM コンポーネント・コード) 用の 1 文字
  • COBOL VSAM フィードバック・コード (VSAM 理由コード) 用の 3 文字

フィードバック