2 次索引の定義

スタンドアロン データベースとして処理する場合や非一意キーを持つ索引を定義する場合を除き、索引 DBD に対して DBDGEN を実行する必要はありません。索引 DBD で非一意キーを記述する場合は、データベースのゼロロード前に生成する必要があります。

1 つのデータベースに対して定義できる 2 次索引の数は最大 32 個です。これらはすべて、同じソース セグメントおよびターゲット セグメントに対して定義できます。HIDAM データベースの主索引は 2 次索引ではありません。

ソース セグメントがターゲット セグメントとは異なる場合があります。メインフレーム IMS と同様に、ソース セグメントがターゲットと異なる場合は、ターゲット セグメントの最終的な子である必要があります。

XDFLD の作用対象として、NAME、SEGMENT、CONST、SRCH、SUBSEQ、DDATA、および NULLVAL がサポートされています。16 進値と 2 進値の NULLVAL 定義 (X'40' や B'00000001' など) は、記述されているとおりに比較されます。

ユーザー データがサポートされていますが、XDFLD 文で新しい作用対象が必要になります。XDFLD の作用対象に UBYTES とオプションの USTART を使用して、索引レコードにおけるユーザー データの長さと開始位置を示します。

ソース セグメントは、固定長または可変長として指定できます。

/CK フィールドの START オプションと BYTES オプションがサポートされています。

2 次索引の共有がサポートされていますが (CONST 作用対象)、共有する場合は個別のメンバーとして定義する必要があり、物理的に別々のファイルに格納されます。共有される索引について、共有の制約事項を満たしていることを確認するチェックは行われません。

CONST、SRCH、および SUBSEQ フィールドの合計の長さは、最大 240 バイトまでサポートされます。

CONST、SRCH、SUBSEQ、DDATA、およびユーザー データの合計の長さは 1,536 バイトまでです。この上限は、非一意のキーを持つ索引の場合は 1,532 バイトになります。

索引 DBD で非一意のキーを持つ索引を記述する場合は、索引 DBD の DATASET マクロに OVFLW キーワードを含めるか、シーケンス FIELD で複数のキーを指定 (SEQ,M) します。

XDFLD の SRCH フィールドは、対応する代替処理シーケンスが使用されている場合かソース セグメントがターゲット セグメントと同じである場合にのみ、ターゲット セグメントの SSA で使用できます。