IMS 数据库 – SSA

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 个字节包含用于处理的段名称。

  • 第 9 个字节是左括号 ‘(‘。

  • 从第十个位置开始的接下来的 8 个字节指定我们要搜索的字段名称。

  • 字段名后,在 18th 和 19th 位置,我们指定两个字符的关系运算符代码。

  • 然后我们指定字段值,在最后一个字节中,有一个右括号“)”。

下表显示了合格 SSA 中使用的关系运算符。

Relational Operator 象征 描述
EQ = 平等的
NE ~= ~ 不相等
GT > 比…更棒
GE >= 大于或等于
LT << 少于
LE <= 小于或等于

命令代码

命令代码用于增强 DL/I 呼叫的功能。命令代码减少了 DL/I 调用的次数,使程序变得简单。此外,随着调用次数的减少,它提高了性能。下图显示了如何在不合格和合格的 SSA 中使用命令代码 –

不合格的ssa

命令代码的要点如下 –

  • 要使用命令代码,请在 9th SSA 的位置,如上图所示。

  • 命令代码编码在第十位。

  • 从 10th 从位置开始,DL/I 将所有字符视为命令代码,直到遇到不合格 SSA 的空格和合格 SSA 的左括号。

下表显示了 SSA 中使用的命令代码列表 –

Command Code 描述
C 连接键
D 路径调用
F 第一次出现
L 上次出现
N 路径调用忽略
P 设置出身
Q 入队段
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 这样的布尔运算符。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁