- 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 会在此字段中返回处理的最低级别段的连接键,并在键长度反馈区域中返回键的长度。