IMS DB - 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为段类型提供段的特定数据库出现.下面给出了合格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 th 和19 th 位置,我们指定了双字符关系运算符代码.

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

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

关系运算符符号描述
EQ=等于
NE〜=˜不等于
GT>大于
GE> =大于或等于
LT<<小于
LE< =小于等于

命令代码

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

unqualified ssa

命令代码的关键点如下:

  • 要使用命令代码,请指定SSA的9 th 位置的星号,如上图所示.

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

  • 从10 th 位置起,DL/I认为所有字符都是命令代码,直到遇到不合格SSA的空格为止和合格SSA的左括号.

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

命令代码描述
C连锁键
DPath Call
F第一次出现
L上次出现
N路径调用忽略
P设置Parentage
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等布尔运算符.