IMS数据库-SSA
SSA 代表段搜索参数。SSA 用于识别正在访问的段出现。它是一个可选参数。我们可以根据要求包含任意数量的 SSA。有两种类型的 SSA -
- 不合格SSA
- 合格的SSA
不合格SSA
不合格的 SSA 提供呼叫内使用的段的名称。下面给出的是不合格 SSA 的语法 -
01 UNQUALIFIED-SSA. 05 SEGMENT-NAME PIC X(8). 05 FILLER PIC X VALUE SPACE.
不合格SSA的要点如下:
基本的非限定 SSA 的长度为 9 字节。
前 8 个字节保存用于处理的段名称。
最后一个字节始终包含空格。
DL/I 使用最后一个字节来确定 SSA 的类型。
要访问特定段,请在 SEGMENT-NAME 字段中移动该段的名称。
下图显示了不合格和合格 SSA 的结构 -
合格的SSA
合格的 SSA 提供段类型以及段的特定数据库出现。下面给出的是合格 SSA 的语法 -
01 QUALIFIED-SSA. 05 SEGMENT-NAME PIC X(8). 05 FILLER PIC X(01) VALUE '('. 05 FIELD-NAME PIC X(8). 05 REL-OPR PIC X(2). 05 SEARCH-VALUE PIC X(n). 05 FILLER PIC X(n+1) VALUE ')'.
合格SSA的要点如下:
合格 SSA 的前 8 个字节保存用于处理的段名称。
第九个字节是左括号“(”。
从第十个位置开始的接下来的 8 个字节指定了我们要搜索的字段名称。
在字段名称之后的第 18和19个位置,我们指定两字符关系运算符代码。
然后我们指定字段值,在最后一个字节中,有一个右括号“)”。
下表显示了合格 SSA 中使用的关系运算符。
关系运算符 | 象征 | 描述 |
---|---|---|
情商 | = | 平等的 |
东北 | 〜=〜 | 不等于 |
GT | > | 比...更棒 |
通用电气 | >= | 大于或等于 |
LT | << | 少于 |
LE | <= | 小于或等于 |
命令代码
命令代码用于增强 DL/I 调用的功能。命令代码减少了 DL/I 调用的数量,使程序变得简单。此外,随着调用次数的减少,它还提高了性能。下图显示了如何在不合格和合格的 SSA 中使用命令代码 -
命令代码要点如下:
要使用命令代码,请在 SSA 的第 9个位置指定一个星号,如上图所示。
命令代码编码在第十位。
从第 10个位置开始,DL/I 将所有字符视为命令代码,直到遇到用于不合格 SSA 的空格和用于合格 SSA 的左括号。
下表显示了 SSA 中使用的命令代码列表 -
命令码 | 描述 |
---|---|
C | 级联键 |
D | 路径调用 |
F | 第一次出现 |
L | 最后一次出现 |
氮 | 路径调用忽略 |
磷 | 设置亲子关系 |
问 | 入队段 |
U | 维持此水平的位置 |
V | 维持本级别及以上级别的职位 |
- | 空命令代码 |
多项资质
多项资格的基本要点如下 -
当我们需要使用两个或多个限定条件或字段进行比较时,就需要多个限定条件。
我们使用 AND 和 OR 等布尔运算符来连接两个或多个限定条件。
当我们想要根据单个字段的一系列可能值来处理段时,可以使用多个限定条件。
下面给出的是多重限定的语法 -
01 QUALIFIED-SSA. 05 SEGMENT-NAME PIC X(8). 05 FILLER PIC X(01) VALUE '('. 05 FIELD-NAME1 PIC X(8). 05 REL-OPR PIC X(2). 05 SEARCH-VALUE1 PIC X(m). 05 MUL-QUAL PIC X VALUE '&'. 05 FIELD-NAME2 PIC X(8). 05 REL-OPR PIC X(2). 05 SEARCH-VALUE2 PIC X(n). 05 FILLER PIC X(n+1) VALUE ')'.
MUL-QUAL 是 MULtiple QUALIification 的缩写,其中我们可以提供 AND 或 OR 等布尔运算符。