Ims-db-ssa

提供:Dev Guides
移動先:案内検索

IMS DB-SSA

SSAは、セグメント検索引数の略です。 SSAは、アクセスされているセグメントオカレンスを識別するために使用されます。 これはオプションのパラメーターです。 要件に応じて、任意の数のSSAを含めることができます。 SSAには2つのタイプがあります-

  • 非修飾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のタイプを判別します。
  • 特定のセグメントにアクセスするには、「セグメント名」フィールドでセグメントの名前を移動します。

次の画像は、非修飾および修飾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バイトには、処理に使用されているセグメント名が保持されます。
  • 9番目のバイトは左括弧「(」です。
  • 10番目の位置から始まる次の8バイトは、検索するフィールド名を指定します。
  • 18 ^ th ^および19 ^ th ^の位置のフィールド名の後に、2文字の関係演算子コードを指定します。
  • 次に、フィールド値を指定し、最後のバイトに右括弧「)」があります。

次の表は、認定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でのコマンドコードの使用方法を示しています-

unqualified ssa

コマンドコードのキーポイントは次のとおりです-

  • コマンドコードを使用するには、上の図に示すように、SSAの9番目の位置にアスタリスクを指定します。
  • コマンドコードは10番目の位置にコーディングされます。
  • 10 ^ th ^位置以降、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

複数の資格

複数の資格の基本的なポイントは次のとおりです-

  • 比較のために2つ以上の資格またはフィールドを使用する必要がある場合、複数の資格が必要です。
  • ANDやORなどのブール演算子を使用して、2つ以上の資格を接続します。
  • 単一フィールドの可能な値の範囲に基づいてセグメントを処理する場合、複数の資格を使用できます。

以下は、複数の資格の構文です-

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などのブール演算子を提供できます。