PCB代表程序通信块. PCB Mask是DL/I调用中使用的第二个参数.它在链接部分声明.下面给出了PCB Mask的语法 :
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中的PCB掩模之间建立连接在该计划的PSB内. DL/I调用中使用的PCB掩码告诉使用哪个数据库进行操作.
您可以认为这类似于在COBOL中指定文件名READ语句或COBOL写入语句中的记录名称.不需要SELECT,ASSIGN,OPEN或CLOSE语句.
每次DL/I呼叫后,DL/I都会在PCB中存储状态代码,程序可以使用该代码来确定调用是成功还是失败.
PCB名称
注意事项和减号;
PCB名称是指PCB场的整个结构的区域名称.
PCB名称用于程序报表.
PCB名称不是PCB中的字段.
DBD名称
要注意的点数;
DBD名称包含字符数据.它是八个字节长.
PCB中的第一个字段是正在处理的数据库的名称,它提供数据库描述库中的DBD名称与特定数据库相关联.
细分水平
注意事项:
段级别称为段级别级别指示符.它包含字符数据,长度为两个字节.
段级别字段存储已处理的段的级别.成功检索段时,检索到的段的级别编号存储在此处.
段级别字段的值绝不会大于15,因为这是DL/I数据库中允许的最大级别数.
状态代码
注意事项:
状态代码字段包含两个字节的字符数据.
状态代码包含DL/I状态代码.
当DL/I完成时,空格被移动到状态代码字段处理呼叫成功.
非空格值表示呼叫未成功.
状态代码GB表示文件结束和状态代码GE表示找不到请求的段.
Proc选项
注意事项:
Proc选项称为处理选项包含四个c字符数据字段.
处理选项字段指示授权程序对数据库执行何种处理.
保留DL/I
注意事项:
保留DL/I称为IMS的保留区域.它存储四个字节的二进制数据.
IMS将此区域用于与应用程序相关的内部链接.
细分名称
注意事项
SEG名称称为段名反馈区域.它包含8个字节的字符数据.
在每次DL/I呼叫后,段的名称都存储在此字段中.
长度FB键
注意事项
长度FB键称为键反馈区域的长度.它存储四个字节的二进制数据.
此字段用于报告在上一次调用期间处理的最低级别段的连锁键的长度.
它与关键反馈区一起使用.
Number敏感度段的分析
注意事项
敏感度段存储的数量四字节二进制数据.
它定义了应用程序对哪个级别敏感.它表示逻辑数据结构中段数的计数.
关键反馈区域
注意事项
关键反馈区域的长度因PCB而异.
它包含可以与程序的数据库视图一起使用的最长串联密钥.
之后在数据库操作中,DL/I返回在该字段中处理的最低级别段的连接键,并返回密钥长度反馈区域中密钥的长度.