IMSDB-PCBマスク

PCBはProgramCommunicationBlockの略です。PCBマスクは、DL / I呼び出しで使用される2番目のパラメーターです。リンケージセクションで宣言されています。以下にPCBマスクの構文を示します-

01 PCB-NAME.
   05 DBD-NAME         PIC X(8).
   05 SEG-LEVEL        PIC XX.
   05 STATUS-CODE      PIC XX.
   05 PROC-OPTIONS     PIC X(4).
   05 RESERVED-DLI     PIC S9(5).
   05 SEG-NAME         PIC X(8).
   05 LENGTH-FB-KEY    PIC S9(5).
   05 NUMB-SENS-SEGS   PIC S9(5).
   05 KEY-FB-AREA      PIC X(n).

注意すべき重要なポイントは次のとおりです-

  • DL / Iは、データベースごとに、プログラム通信ブロックと呼ばれるストレージ領域を維持します。これは、アプリケーションプログラム内でアクセスされるデータベースに関する情報を格納します。

  • ENTRYステートメントは、リンケージセクションのPCBマスクとプログラムのPSB内のPCBの間に接続を作成します。DL / I呼び出しで使用されるPCBマスクは、操作に使用するデータベースを指示します。

  • これは、COBOLREADステートメントでのファイル名またはCOBOL書き込みステートメントでのレコード名の指定に類似していると見なすことができます。SELECT、ASSIGN、OPEN、またはCLOSEステートメントは必要ありません。

  • 各DL / I呼び出しの後、DL / IはステータスコードをPCBに格納し、プログラムはそのコードを使用して、呼び出しが成功したか失敗したかを判別できます。

PCB名

注意点-

  • PCB名は、PCBフィールドの構造全体を参照する領域の名前です。

  • PCB名はプログラムステートメントで使用されます。

  • PCB名はPCBのフィールドではありません。

DBD名

注意点-

  • DBD名には文字データが含まれています。長さは8バイトです。

  • PCBの最初のフィールドは、処理されているデータベースの名前であり、特定のデータベースに関連付けられたデータベース記述のライブラリーからのDBD名を提供します。

セグメントレベル

注意点-

  • セグメントレベルは、セグメント階層レベルインジケータと呼ばれます。文字データが含まれ、長さは2バイトです。

  • セグメントレベルフィールドには、処理されたセグメントのレベルが格納されます。セグメントが正常に取得されると、取得されたセグメントのレベル番号がここに保存されます。

  • セグメントレベルフィールドの値が15を超えることはありません。これは、DL / Iデータベースで許可されるレベルの最大数であるためです。

ステータスコード

注意点-

  • ステータスコードフィールドには、2バイトの文字データが含まれています。

  • ステータスコードには、DL / Iステータスコードが含まれます。

  • DL / Iが呼び出しの処理を正常に完了すると、スペースは状況コードフィールドに移動されます。

  • スペース以外の値は、呼び出しが成功しなかったことを示します。

  • ステータスコードGBはファイルの終わりを示し、ステータスコードGEは要求されたセグメントが見つからないことを示します。

Procオプション

注意点-

  • Procオプションは、4文字のデータフィールドを含む処理オプションとして知られています。

  • [処理オプション]フィールドは、プログラムがデータベースで実行することを許可されている処理の種類を示します。

予約済みDL / I

注意点-

  • 予約済みDL / Iは、IMSの予約済み領域と呼ばれます。4バイトのバイナリデータを格納します。

  • IMSは、アプリケーション・プログラムに関連する独自の内部リンケージにこの領域を使用します。

セグメント名

注意点-

  • SEG名は、セグメント名フィードバック領域として知られています。8バイトの文字データが含まれています。

  • セグメントの名前は、各DL / I呼び出しの後にこのフィールドに格納されます。

長さFBキー

注意点-

  • 長さFBキーは、キーフィードバック領域の長さとして知られています。4バイトのバイナリデータを格納します。

  • このフィールドは、前の呼び出し中に処理された最下位レベルのセグメントの連結キーの長さを報告するために使用されます。

  • キーフィードバックエリアで使用されます。

感度セグメントの数

注意点-

  • 感度セグメントの数は、4バイトのバイナリデータを格納します。

  • これは、アプリケーションプログラムがどのレベルに敏感であるかを定義します。これは、論理データ構造内のセグメント数のカウントを表します。

重要なフィードバック領域

注意点-

  • キーフィードバック領域の長さは、PCBごとに異なります。

  • これには、プログラムのデータベースのビューで使用できる、可能な限り長い連結キーが含まれています。

  • データベース操作後、DL / Iは、このフィールドで処理された最下位レベルのセグメントの連結キーを返し、キー長フィードバック領域にキーの長さを返します。