IMS DB - PCB 掩碼



PCB 代表程式通訊塊。PCB 掩碼是 DL/I 呼叫中使用的第二個引數。它在連線段中宣告。下面是 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 WRITE 語句中指定記錄名。不需要 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 表示未找到請求的段。

處理選項

需要注意的要點:

  • 處理選項稱為處理選項,包含四個字元資料欄位。

  • 處理選項欄位指示程式被授權對資料庫執行哪種處理。

保留的 DL/I

需要注意的要點:

  • 保留的 DL/I 稱為 IMS 的保留區域。它儲存 4 個位元組的二進位制資料。

  • IMS 使用此區域進行與其應用程式程式相關的內部連結。

段名稱

需要注意的要點:

  • SEG 名稱稱為段名稱反饋區域。它包含 8 個位元組的字元資料。

  • 在每次 DL/I 呼叫後,段的名稱都儲存在此欄位中。

長度 FB 鍵

需要注意的要點:

  • 長度 FB 鍵稱為鍵反饋區域的長度。它儲存 4 個位元組的二進位制資料。

  • 此欄位用於報告在先前呼叫期間處理的最低級別段的連線鍵的長度。

  • 它與鍵反饋區域一起使用。

敏感段數

需要注意的要點:

  • 敏感段數儲存 4 個位元組的二進位制資料。

  • 它定義了應用程式程式對哪個級別敏感。它表示邏輯資料結構中段的數量。

鍵反饋區域

需要注意的要點:

  • 鍵反饋區域的長度因 PCB 而異。

  • 它包含可與程式對資料庫的檢視一起使用的最長的連線鍵。

  • 在資料庫操作之後,DL/I 會在此欄位中返回處理的最低級別段的連線鍵,並在鍵長度反饋區域中返回鍵的長度。

廣告

© . All rights reserved.