Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


ファイルの割り振り

z/OS または UNIX アプリケーション内のどのタイプのファイル (順次、行順次、索引付き、または相対) についても、DD 名または環境変数名のいずれかを使用して外部名を定義することができます。 外部名とは、ASSIGN 節の assignment-name 内の名前です。

ファイルが HFS 内にある場合は、DD 定義または環境変数のいずれかを使用して、PATH キーワードでパス名を指定することによって、ファイルを定義することができます。

環境変数名は大文字でなければなりません。その値として使用できる属性は、定義中のファイルの編成によって異なります。

外部名は 2 つの方法のいずれかで定義できるので、COBOL 実行時には、以下のステップを使用してファイルの定義が調べられます。

  1. DD 名が明示的に割り振られていれば、それが使用されます。定義は、JCL の DD ステートメント、TSO/E からの ALLOCATE コマンド、またはユーザー開始の動的割り振りから取ることができます。
  2. DD 名が明示的に割り振られていないが、同じ名前の環境変数が設定されている場合は、その環境変数の値が使用されます。

    ファイルは、環境変数で指定された属性を使用して動的に割り振られます。 最小限、PATH() または DSN() オプションのいずれかを指定しなければなりません。オプションおよび属性はすべて大文字でなければなりません (ただし、 PATH オプションの path-name サブオプションは例外で、これには大/小文字の区別があります)。DSN() オプションに一時データ・セット名を指定することはできません。

    以下の場合には、ファイル状況コード 98 が出されます。

    • 環境変数の内容 (ヌルまたはすべてブランクの値を含む) が無効である。
    • ファイルの動的割り振りが失敗する。
    • ファイルの動的割り振り解除が失敗する。

    COBOL 実行時には、各 OPEN ステートメントで環境変数の内容が検査されます。同じ外部名を持つファイルが前の OPEN ステートメントによって動的に割り振られており、その OPEN 以後に環境変数の内容が変更された場合は、実行時に、前の割り振りが動的に割り振り解除され、環境変数に現在設定されているオプションを使用してファイルが再度割り振られます。環境変数の内容が変更されていない場合、実行時には現行の割り振りが使用されます。

  3. DD 名も環境変数も定義されていない場合、次のようになります。
    1. 割り振りが QSAM ファイルに対するものであり、CBLQDA ランタイム・オプションが有効であれば、適格ファイルに対して CBLQDA 動的割り振り処理が行われます。この種の「暗黙の」動的割り振りは、実行単位が存続する間持続され、再割り振りすることはできません。
    2. そうでない場合、割り振りは失敗します。

COBOL 実行時には、暗黙の CBLQDA 割り振りを除いて、実行単位の終了時にすべての動的割り振りが割り振り解除されます。


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)