Ims-db-pcb-mask

提供:Dev Guides
移動先:案内検索

IMS DB-PCBマスク

PCBはProgram Communication Blockの略です。 PCB Maskは、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マスクは、操作に使用するデータベースを示します。
  • これは、COBOL READステートメントでファイル名を指定するか、COBOL書き込みステートメントでレコード名を指定することに似ていると想定できます。 SELECT、ASSIGN、OPEN、またはCLOSEステートメントは不要です。
  • 各DL/I呼び出しの後、DL/IはPCBに状況コードを保管し、プログラムはそのコードを使用して、呼び出しが成功したか失敗したかを判別できます。

PCB名

注意点-

  • PCB Nameは、PCBフィールドの構造全体を指す領域の名前です。
  • PCB名はプログラムステートメントで使用されます。
  • PCB NameはPCBのフィールドではありません。

DBD名

注意点-

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

セグメントレベル

注意点-

  • セグメントレベルは、セグメント階層レベルインジケータと呼ばれます。 文字データが含まれており、長さは2バイトです。
  • セグメントレベルフィールドには、処理されたセグメントのレベルが格納されます。 セグメントが正常に取得されると、取得されたセグメントのレベル番号がここに保存されます。
  • セグメントレベルフィールドは、DL/Iデータベースで許可されるレベルの最大数であるため、15を超える値を持つことはありません。

状態コード

注意点-

  • ステータスコードフィールドには、2バイトの文字データが含まれています。
  • ステータスコードにはDL/Iステータスコードが含まれます。
  • DL/Iが呼び出しの処理を正常に完了すると、スペースがステータスコードフィールドに移動します。
  • スペース以外の値は、呼び出しが成功しなかったことを示します。
  • ステータスコードGBはファイルの終わりを示し、ステータスコードGEは要求されたセグメントが見つからないことを示します。

処理オプション

注意点-

  • Procオプションは、4文字のデータフィールドを含む処理オプションとして知られています。
  • 処理オプションフィールドは、プログラムがデータベース上で実行を許可されている処理の種類を示します。

予約済みDL/I

注意点-

  • 予約済みDL/Iは、IMSの予約済み領域として知られています。 4バイトのバイナリデータを格納します。
  • IMSは、アプリケーションプログラムに関連する独自の内部リンクにこの領域を使用します。

セグメント名

注意点-

  • SEG名は、セグメント名フィードバックエリアと呼ばれます。 8バイトの文字データが含まれています。
  • セグメントの名前は、各DL/I呼び出しの後にこのフィールドに保存されます。

長さFBキー

注意点-

  • 長さFBキーは、キーフィードバックエリアの長さとして知られています。 4バイトのバイナリデータを格納します。
  • このフィールドは、前の呼び出し中に処理された最低レベルのセグメントの連結キーの長さを報告するために使用されます。
  • キーフィードバックエリアで使用されます。

感度セグメントの数

注意点-

  • 機密セグメントの数には、4バイトのバイナリデータが格納されます。
  • アプリケーションプログラムがどのレベルに敏感かを定義します。 論理データ構造内のセグメント数のカウントを表します。

キーフィードバックエリア

注意点-

  • 主要なフィードバック領域は、PCBごとに長さが異なります。
  • データベースのプログラムビューで使用できる最長の連結キーが含まれています。
  • データベース操作の後、DL/Iは、このフィールドで処理された最低レベルのセグメントの連結キーを返し、キー長フィードバック領域のキーの長さを返します。