»

コンカチネーション(連結DD文)

By 神居 - Posted: 2012/02/04 Last updated: 2012/02/04 - Leave a Comment

DDステートメントの連結(コンカチネーション)

DDステートメントの連結(コンカチネーション)とは、複数のデータセットを1つのファイルとして定義することで、MVSのJCLにおける大きな特長の1つです。連結されたデータセットは読み込み専用になりますが、複数のデータセットに分かれて格納されているデータ・レコードをまとめて処理するような場合に便利な機能です。


アプリケーション・プログラムなどの処理では、複数の順次データセットを連結して処理することがよくあります。この例では、プログラムは12個のデータセットを1つのINFILEとしてアクセスします。月別のデータファイルを1年分まとめて処理するような場合、事前にデータセットをマージしておく必要がありません。


区分データセット(PDSE含む)も連結できます。最も多いのがプログラムで使用するロードモジュールが格納されたライブラリーの定義です。共通で使用するサブルーチンなどが別のデータセットにある場合、メインのプログラムが格納されたライブラリーと連結してSTEPLIBとして定義します。メンバーは連結定義の先頭データセットから探索されます。同名のメンバーが存在する場合、よりDD名に近い場所に定義したデータセットから読み込まれます。

MVSではファイルとデータセットは似ているようで違います。ファイルはプログラムから見たデータレコードの集まりで論理的なデータの集合体を指し、データセットはディスクやテープに記録されている実体としてのデータレコードの集まりで物理的にデータが格納されています。両者の違いはJCLでDD文を連結するとよりわかりやすいです。最初の例ではプログラムからはINFILEという1つのデータレコードの集まりに見えますが、実体は12の別々のデータレコードの集まりに分かれているわけです。

Posted in キーワードから(何が知りたいですか) • • Top Of Page