📜  IMS DB-SSA

📅  最后修改于: 2020-11-27 05:19:34             🧑  作者: Mango


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和19的位置,我们指定了两个字符关系运算符码。

  • 然后,我们指定字段值,并且在最后一个字节中,右括号为’)’。

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

Relational Operator Symbol Description
EQ = Equal
NE ~= ˜ Not equal
GT > Greater than
GE >= Greater than or equal
LT << Less than
LE <= Less than or equal

指令码

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

不合格的ssa

命令代码的要点如下-

  • 要使用命令代码,请在上图所示的SSA的9位置指定一个星号。

  • 命令代码被编码在第十个位置。

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

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

Command Code Description
C Concatenated Key
D Path Call
F First Occurrence
L Last Occurrence
N Path Call Ignore
P Set Parentage
Q Enqueue Segment
U Maintain Position at this level
V Maintain Position at this and all above levels
Null Command Code

多项资格

多个资格的基本要点如下-

  • 当我们需要使用两个或多个资格或字段进行比较时,需要多个资格。

  • 我们使用布尔运算符(例如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。