DLIVar 変数には、最新の DL/I データベース I/O に関する情報が含まれます。
これらの変数が利用可能なのは、プログラムに複合プロパティー @DLI を割り当てる場合のみです。
DL/I I/O 呼び出しが行われるたびに、すべての DLIVar 変数内の値が変更されます。
ただし、DLIVar.handleHardDLIErrors だけは、
ユーザーが明確にリセットするまでその値を保存します。
以下の変数があります。
- dbName char(8)
- 最後の呼び出しでアクセスされた DL/I データベースの名前。
- segmentLevel num(2)
- 最新の DL/I 呼び出しでアクセスされた最下位のセグメントのレベル番号 (ルート・レベルは 01)。
要求されたセグメントを DL/I が検索できなかった場合、
これが最後に成功した呼び出しのレベルになります。
- statusCode char(2)
- GA や II などの最後の I/O 呼び出しの DL/I 状況コード。
- procOptions char(4)
- 最後の DL/I I/O 呼び出しによってアクセスされたデータベースのための DL/I オプションを含みます。
- segmentName char(8)
- 最新の DL/I I/O 呼び出しでアクセスされた最下位のセグメントの名前。
- keyAreaLen int
- 最新の I/O 呼び出しで実際に使用された keyArea フィールドのバイト数。
- keyArea char(32767)
- これはデータベース・セグメントから戻された不定形式データです。使用可能データは、
keyArea[1 : DLIVar.keyAreaLen] によって指定されたキー領域の一部に配置されます。
- numSensitiveSegs int
- 最後の DL/I I/O 関数の間にアクセスされるデータベースに対して、プログラムが依存しているセグメント・タイプの数。
- cicsError char(2)
- 最新の DL/I I/O 呼び出し時の
CICS® エラー・コード
(存在する場合)。 戻りコードについての詳細は、ご使用のバージョンの
CICS の「CICS Application Reference」を参照してください。
- cicsCondition char(2)
- 最新の DL/I I/O 呼び出し時の
CICS 条件コード
(存在する場合)。
次のとおりです。
- 00
- 通常応答
- 08
- 要求が無効でした
- 0C
- 開いていません
- cicsRestart num(1)
- CICS では、
このフィールドが 1 に等しい場合、DL/I プログラムが最後の DL/I I/O 関数の間に再始動されています。
0 の場合、プログラムは再始動していません。
- handleHardDLIErrors
- try ブロック内の DL/I または
IMS™
の入出力操作でハード・エラーが発生した後に、プログラムが実行を継続するかどうかを制御します。
ただし、VGVar.handleHardIOErrors が 1 に設定された場合、
プログラムはあらゆるハード・エラーの後も実行を継続するため、DLIVar.handleHardDLIErrors は効果を持ちません。
DLIVar.handleHardDLIErrors のデフォルト値は 1 です。
ただし、プログラム・プロパティー handleHardDLIErrors を no
に設定した場合を除きます。
その場合、変数は 0 に設定されます。
(プロパティー handleHardDLIErrors
は、プログラムおよびその他の生成可能ロジック・パーツにも使用できます。)
VGVar.handleHardDLIErrors は、以下の方法で使用できます。
- assignment 文または move
文のソースまたはターゲットとして使用 (move 文の「for count」でも使用可能)
- case、if、
または while 文で使用される論理式での変数として使用
- return または exit 文内の引数として使用
DLIVar.handleHardDLIErrors には、以下のような特性があります。
- プリミティブ型
- NUM
- データ長
- 1
- converse 後に値がリストアされるかどうか
- はい
詳細については、『例外処理』を参照してください。