KFLD (キーの構成部分定義)

自由形式構文 (許可されていない - %KDS を使用)
コード 演算項目 1 演算項目 2 結果フィールド 標識
KFLD   標識 キー・フィールド      

KFLD 命令は宣言命令で、フィールドが KLIST 名で識別される検索引数の一部 であることを示します。

KFLD 命令は、合計演算を含む演算内の任意の場所に指定することができます。 制御レベル項目 (7 から 8 桁目) はブランクにするか、 あるいは L1 から L9 標識、LR 標識、または L0 項目を入れてプログラムの該当する セクション内のステートメントをグループにまとめることができます。 条件付け標識の指定 (9 から 11 桁目) は使用できません。

KFLD は大域または内部のいずれにすることもできます。 サイクル・メイン・プロシージャーの KLIST は、対応する大域の KFLD だけを持つことができます。 サブプロシージャーの KLIST は内部および大域の KFLD を持つことが できます。 詳細については、定義の有効範囲を参照してください。

制御仕様書のキーワードとして、またはコマンド・パラメーターとし て、ALWNULL(*USRCTL) が指定されている場合、 演算項目 2 にはヌル値可能キー・フィールドの標識を入れることができます。

この標識がオンの場合、ヌル値のあるキー・フィールドが選択されます。 この標識がオフになっている場合、あるいは標識が指定されていない場合、 ヌル値のあるキー・フィールドは選択されません。 ヌル値可能キーへのアクセス方法に ついては、キー順命令を参照してください。

結果フィールドには、検索引数の一部となるフィールドの名前を入れなければ なりません。 結果フィールドに配列名を入れることはできません。 それぞれの KFLD フィールドは、レコードまたはファイルの複合キーの対応す るフィールドと、長さ、データ・タイプ、および小数点以下の桁数が一致して いなければなりません。 ただし、レコードに可変長 KFLD フィールド がある場合、複合キー内の対応するフィールドは可変長でなければなりませんが、 同じ長さである必要はありません。それぞれの KFLD は、複合キーの対応するフィールドと同じ名前であ る必要はありません。KLIST に指定された KFLD フィールドの順序で、複合キーの特定のフィールド に対応する KFLD が決定されます。 例えば、KLIST 命令の後の最初の KFLD フィールドは複合キーの左端 (高位) のフィールドに対応します。

図形および UCS-2 のキー・フィールド には、そのファイル内のキーと同じ CCSID がなければなりません。

図 1 に、KFLD 命令を伴う KLIST 命令の例を示します。

図 2 は、空キーによってレコードを位置付け、 検索するためにどのようにキー順命令が使用されるかを示しています。

詳細については、宣言命令を参照してください。