前ページへ 環境部 データ部 - データ記述 次ページへ

第 7 章 データ部

7.1 データ部

データ部の見出しは書いても書かなくてもよい。

7.1.1 一般記述

データ部には、実行機能単位 が入力用として受けるデータ、または出力用として計算、作成、生成するデータを記述する。

7.1.1.1 構造

以下にデータ部内の節の一般形式を示す。 これは呼ばれるプログラム 内で示すべき順序を規定する。

一般形式

7.1.2 ファイル節

ファイル節の中では、ファイル記述項(FD)が構造上一番高い位置を占める。 FILE SECTION見出しの後ろにファイル記述項が続く。ファイル記述項は、レベル指示語(FD)とファイル名と一連の独立した句から構成される。 FD句には、論理レコードおよび物理レコードの大きさ、ファイルの外部名、ファイルを構成するデータレコードの名前を指定する。項目は終止符を付けて終了する。

SDファイル記述は、整列ファイルまたは併合ファイルの大きさとデータレコードの名前に関する情報を指定するためのものである。整列ファイルおよび併合ファイルに関しては、利用者が制御できるラベル手続きはない。また、ブロック化および内部記憶のされ方は、SORT文およびMERGE文に固有である。

7.1.2.1 整列併合との関係

整列併合機能単位は、データ部内の表の要素を整列させる機能を備えている。 SORT文および MERGE文のUSING指定およびGIVING指定の対象とするファイルは、ファイル管理段落中に明示的にまたは暗黙的に、順編成で順呼出し法のファイルとして記述しておく。整列併合ファイル記述中に指定するファイルに対しては、入出力文を実行してはならない。

SORT文およびMERGE文の USING指定および GIVING指定の対象とするファイルは、 ファイル管理段落中に明示的に、索引編成または相対編成をとるものと記述できる。その呼出し法は、順呼出しにも動的呼出しにもできる。

7.1.2.2 レコード記述の構造

レコード記述は、個々のレコードの特性を記述するデータ記述項の組から構成される。各データ記述項は、レベル番号と、必要ならばデータ名と、必要に応じて一連の独立した句から構成される。 レコード記述は階層構造をとる。したがって、後ろに下位の記述が続くか否かによって、記述する句の形態は大幅に異なることがある。レコード記述の構造は、COBOLの概念 の章のレベルの概念 の節に定義してある。また、レコード記述に含まれる要素については、この後のデータ記述項の全体的な骨組み の節に示してある。

7.1.2.3 ファイル記述項の全体的な骨組み

機能

ファイル記述は、ファイルの物理構造や識別やレコード名に関する情報から構成される。

ファイル記述では、ファイル結合子や関連するデータレコードや関連するデータ項目の内部属性や外部属性を指定する。また、ファイル記述項では、ファイル名が局所的であるのか大域的であるのかも指定する

7.1.3 一般記述

一般形式

書き方1 (レコード順ファイル)

書き方2 (行順ファイル)

書き方3 (相対ファイルおよび索引ファイル)

書き方4 (整列併合ファイル)

構文規則

すべての書き方 (すべてのファイル)
  1. ファイル名-1に続く句は、どのような順序で記述してもよい。

  2. VALUE OF FILE-ID 句を指定する場合、定数-1は文字定数とする。表意定数であってはならない。
書き方1、2、3 (レコード順、
dialm.gif行順、
相対および索引ファイル)
  1. レベル指示語のFDは、ファイル記述の開始を示すものであり、ファイル名の前に書く。

  2. ファイル記述項の後ろには、レコード記述項を1つ以上続ける。
書き方4 (整列併合ファイル)
  1. レベル指示語のSDは、整列併合ファイル記述の開始を示すものであり、ファイル名の前に書く。

  2. ファイル名の後ろに続く諸々の句は、指定しても指定しなくてもよく、指定する順番も重要ではない。

  3. 整列併合ファイル記述項の後ろには、レコード記述項を1つ以上続ける。ただし、このファイルに対しては、入出力文を実行してはならない。

一般規則

書き方1 (レコード順ファイル)
  1. 順ファイル用のファイル記述項に LINAGE句およびEXTERNAL句を指定した場合、外部データ項目である LINAGE-COUNTERが使用される。順ファイル用のファイル記述項にLINAGE句およびGLOBAL句を指定した場合、特殊レジスタのLINAGE-COUNTERは大域名となる。

7.1.4 作業場所節

作業場所節(working-storage section)は、節の見出しで始まる。その後ろに、独立データ項目用のデータ記述項やレコード記述項を書く。

作業場所節の各レコード名および独立項目名は一意とする。それらは修飾できないためである。レコードに従属するデータ名は、 修飾することによって一意にできる場合、一意である必要はない。

データ名またはレコード名が参照されることがない場合、修飾して一意にしなくてもよい。

一般形式

7.1.4.1 独立作業場所(独立データ記述項)

作業場所節に置く項目や定数のうち、相互に階層関係がなくさらに細分する必要もないものは、レコードにまとめる必要はない。この場合には、独立基本項目として、別々のデータ記述項に定義する。このレベル番号には特別の77という値が割り当てられている。

各データ記述項には、下記の要素を書く。

上記以外のデータ記述句は、必ずしも書く必要はない。必要があれば、項目の記述を完全にするために書けばよい。

7.1.4.2 作業場所レコード(レコード記述項)

作業場所節に置くデータ項目のうち、相互に階層関係があるものは、レコードにまとめておく。その際、レコード記述の書き方の規則に従う必要がある。ファイル節のレコード記述用のすべての句は、作業場所節のレコード記述にも使用できる。

7.1.4.3 レコード記述の構造

レコード記述(record description)は、レコードの特徴を記述する一連の データ記述項から構成される。各データ記述項(data description entry)の先頭にはレベル番号を書く。

必要があれば

その後ろにデータ名またはFILLER句を書く。さらにその後ろに、必要に応じて、独立の句をいくつか書く。レコード記述は階層構造をとる。したがって、1つの記述項(entry)に適用する句は、それに従属する記述項があるかないかによって、かなり違ってくる。レコード記述の構造とレコード記述項内に書ける要素については、COBOLの概念 の章の レベルの概念 の節、およびこの章の データ記述項の全体的な骨組み に説明してある。

7.1.4.4 初期値

作業場所節内の任意の項目の初期値は、指標データ項目、

または型定義は例外として、

データ項目のVALUE句を使用して指定する。指標データ項目およびVALUE句を指定していないデータ項目の初期値はどうなるかわからない。この章のプログラムの初期値 に説明してある。

7.1.5 局所記憶節

機能

プログラムが呼ばれるたびに、 局所記憶節の写しが別途作られる。作られた局所記憶節の写しは、そのプログラムが呼ばれている間だけ、存在する。局所記憶節は、再帰型のプログラム呼出しのために特に用意したものである。.

局所記憶節(local-storage section)は、節の見出しで始まる。その後ろに、独立データ項目用のデータ記述項やレコード記述項を書く。局所記憶節の各レコード名および独立項目名は一意とする。それらは修飾できないためである。レコードに従属するデータ名は、修飾することによって一意にできるならば、一意である必要はない。

データ名またはレコード名が参照されることがない場合、修飾して一意にしなくてもよい。

一般形式

構文規則

  1. EXTERNALデータは使用できない。

  2. GLOBALデータは使用できない。

  3. 「CALL ... USING局所データ項目」という構文は使用できる。

  4. 「ENTRY ... USING局所データ項目」という構文は使用できない。

  5. 「PROCEDURE DIVISION ... USING局所データ項目」という構文は使用できない。

  6. 入れ子になったプログラムの中では、LOCAL-STORAGE SECTION見出しは使用できない。

  7. COBOLシステムは、プログラムに局所記憶節がある場合にだけプログラムの再帰を行う。局所記憶節内にレコードが存在する必要はない。局所記憶節の見出しがないと、実行時に再帰処理が受け入れられない。

一般規則

  1. DEFAULT-BYTE コンパイラ 指令は、局所記憶節内で定義した項目には適用できない。

  2. 局所記憶節を含むプログラムをコンパイルする際には、MF指令セットを指定する。

  3. VALUE句を書くことができるが、注記にとどまる。

7.1.6 連絡節

以下の説明において、手続き部のUSING句に触れている箇所はすべて、ENTRY USINGにも当てはまる。

SET文 の節に記述されている場合は例外として、

プログラム中の連絡節(linkage section)が意味をもつのは、呼ぶプログラムからCALL文にUSING句を指定して、実行用プログラムが呼ばれた場合だけである。

連絡節はメソッドにおいて常に意味を持つ。

呼ばれるプログラムの連絡節に指定した正式なパラメータと戻される項目は、制御が移された時に、その呼ばれるプログラムと呼ぶプログラムの両方から参照される。

このようなデータは、ファイル節にも作業場所節にも記述できる。 .

連絡節に記述されているデータ項目に対して、そのプログラムの中では領域は割り当てられない。これらのデータ項目を手続き部で参照すると、呼ぶプログラムの中で実行時に使用している場所を参照することになる。指標名については、そのような対応は付けられない。呼ぶプログラム中の指標名と呼ばれるプログラム中の指標名は、常に別の指標を参照する。

連絡節の中で定義されているデータ項目を、呼ばれるプログラムの手続き部の中で参照できるのは、そのデータ項目が手続き部の見出しのUSING句の作用対象に指定されるか、またはその作用対象に従属するかし、かつ実行用プログラムがUSING句を伴うCALL文の制御下にある場合だけである。

連絡節の構造は先に述べた作業場所節と同じである。つまり、節の見出しで始まり、その後ろに独立データ項目のデータ記述項やレコード記述項が続く。

連絡節内の各レコード名および独立項目名は呼ばれるプログラムの中で一意とする。それらは修飾できないためである。 この制限は手続き部で参照する場合に適用される。連絡節の中で定義した項目のうち、手続き部で参照できるのは、手続き部の見出しのUSING句内のデータ名-1、データ名-2などと、それらのデータ名に従属するデータ項目と、それらに関連する条件名と指標名だけである。.

連絡節に置くパラメータと戻される項目の指定は、パラメータと戻される項目の基準に記述された内容に従わなければならない。

7.1.6.1 独立連絡場所

連絡節に置く項目のうち、相互に階層関係のないものは、レコードにまとめる必要はない。この場合には、 独立基本項目として、別々のデータ記述項に定義する。データ記述は特別のレベル番号である77から始まる。

各データ記述項には、下記の要素を書く。

上記以外のデータ記述句は、必ずしも書く必要はない。必要があれば、項目の記述を完全にするために書けばよい。

7.1.6.2 連絡レコード

連絡節に置くデータ項目のうち、相互に階層関係があるものは、レコードにまとめる。その際、レコード記述の書き方の規則に従う必要がある。入力レコードまたは出力レコードを記述するために使用する句のすべてを、連絡節でも使用できる。

7.1.6.3 初期値

連絡節では、VALUE句を指定できない。ただし、条件名記述項(88レベル)は例外である。

VALUE句を書くことができるが、注記にとどまる。


Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標と商品名 は国際法によって保護されています。

前ページへ 環境部 データ部 - データ記述 次ページへ