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 个字节指定我们要搜索的字段名称。
在字段名称之后,在第 18th 和 19th 位置,我们指定了两个字符的关系运算符代码。
然后我们指定字段值,在最后一个字节中,有一个右括号")"。
下表显示了合格 SSA 中使用的关系运算符。
关系运算符 |
符号 |
描述 |
情商 |
= |
相等 |
NE |
~= ~ |
不等于 |
GT |
> |
大于 |
GE |
>= |
大于或等于 |
LT |
< |
小于 |
LE |
<= |
小于或等于 |
命令代码
命令代码用于增强 DL/I 呼叫的功能。命令代码减少了 DL/I 调用的次数,使程序变得简单。此外,随着调用次数的减少,它提高了性能。下图显示了如何在不合格和合格的 SSA 中使用命令代码-
命令代码的要点如下-
要使用命令代码,请在 SSA 的第 9 个th 位置指定一个星号,如上图所示。
命令代码编码在第十个位置。
从 10th 位置开始,DL/I 将所有字符都视为命令代码,直到遇到不合格 SSA 的空格和合格 SSA 的左括号。
下表显示了 SSA 中使用的命令代码列表-
命令代码 |
描述 |
C |
连接键 |
D |
路径调用 |
F |
第一次出现 |
L |
上次出现 |
N |
忽略路径调用 |
P |
设置出身 |
问 |
入队段 |
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 等布尔运算符。