- IMS DB 基礎教程
- IMS DB - 首頁
- IMS DB - 概述
- IMS DB - 結構
- IMS DB - DL/I 術語
- IMS DB - DL/I 處理
- IMS DB - 控制塊
- IMS DB - 程式設計
- IMS DB - Cobol 基礎
- IMS DB - DL/I 函式
- IMS DB - PCB 掩碼
- IMS DB - SSA
- IMS DB - 資料檢索
- IMS DB - 資料操作
- IMS DB - 二級索引
- IMS DB - 邏輯資料庫
- IMS DB - 恢復
- IMS DB 有用資源
- IMS DB - 問答
- IMS DB - 快速指南
- IMS DB - 有用資源
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 會在此欄位中返回處理的最低級別段的連線鍵,並在鍵長度反饋區域中返回鍵的長度。