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.