| 環境部 | データ部 - データ記述 |
データ部の見出しは書いても書かなくてもよい。
データ部には、実行機能単位 が入力用として受けるデータ、または出力用として計算、作成、生成するデータを記述する。
ファイル節の中では、ファイル記述項(FD)が構造上一番高い位置を占める。 FILE SECTION見出しの後ろにファイル記述項が続く。ファイル記述項は、レベル指示語(FD)とファイル名と一連の独立した句から構成される。 FD句には、論理レコードおよび物理レコードの大きさ、ファイルの外部名、ファイルを構成するデータレコードの名前を指定する。項目は終止符を付けて終了する。
SDファイル記述は、整列ファイルまたは併合ファイルの大きさとデータレコードの名前に関する情報を指定するためのものである。整列ファイルおよび併合ファイルに関しては、利用者が制御できるラベル手続きはない。また、ブロック化および内部記憶のされ方は、SORT文およびMERGE文に固有である。
整列併合機能単位は、データ部内の表の要素を整列させる機能を備えている。 SORT文および MERGE文のUSING指定およびGIVING指定の対象とするファイルは、ファイル管理段落中に明示的にまたは暗黙的に、順編成で順呼出し法のファイルとして記述しておく。整列併合ファイル記述中に指定するファイルに対しては、入出力文を実行してはならない。
SORT文およびMERGE文の
USING指定および
GIVING指定の対象とするファイルは、
ファイル管理段落中に明示的に、索引編成または相対編成をとるものと記述できる。その呼出し法は、順呼出しにも動的呼出しにもできる。
レコード記述は、個々のレコードの特性を記述するデータ記述項の組から構成される。各データ記述項は、レベル番号と、必要ならばデータ名と、必要に応じて一連の独立した句から構成される。 レコード記述は階層構造をとる。したがって、後ろに下位の記述が続くか否かによって、記述する句の形態は大幅に異なることがある。レコード記述の構造は、COBOLの概念 の章のレベルの概念 の節に定義してある。また、レコード記述に含まれる要素については、この後のデータ記述項の全体的な骨組み の節に示してある。
ファイル記述は、ファイルの物理構造や識別やレコード名に関する情報から構成される。
ファイル記述では、ファイル結合子や関連するデータレコードや関連するデータ項目の内部属性や外部属性を指定する。また、ファイル記述項では、ファイル名が局所的であるのか大域的であるのかも指定する
作業場所節(working-storage section)は、節の見出しで始まる。その後ろに、独立データ項目用のデータ記述項やレコード記述項を書く。
作業場所節の各レコード名および独立項目名は一意とする。それらは修飾できないためである。レコードに従属するデータ名は、 修飾することによって一意にできる場合、一意である必要はない。
データ名またはレコード名が参照されることがない場合、修飾して一意にしなくてもよい。
作業場所節に置く項目や定数のうち、相互に階層関係がなくさらに細分する必要もないものは、レコードにまとめる必要はない。この場合には、独立基本項目として、別々のデータ記述項に定義する。このレベル番号には特別の77という値が割り当てられている。
各データ記述項には、下記の要素を書く。
USAGE
COMPUTATIONAL-1、USAGE COMPUTATIONAL-2、USAGE POINTER、または
USAGE
PROCEDURE-POINTER)。
上記以外のデータ記述句は、必ずしも書く必要はない。必要があれば、項目の記述を完全にするために書けばよい。
作業場所節に置くデータ項目のうち、相互に階層関係があるものは、レコードにまとめておく。その際、レコード記述の書き方の規則に従う必要がある。ファイル節のレコード記述用のすべての句は、作業場所節のレコード記述にも使用できる。
レコード記述(record description)は、レコードの特徴を記述する一連の データ記述項から構成される。各データ記述項(data description entry)の先頭にはレベル番号を書く。
必要があれば
その後ろにデータ名またはFILLER句を書く。さらにその後ろに、必要に応じて、独立の句をいくつか書く。レコード記述は階層構造をとる。したがって、1つの記述項(entry)に適用する句は、それに従属する記述項があるかないかによって、かなり違ってくる。レコード記述の構造とレコード記述項内に書ける要素については、COBOLの概念 の章の レベルの概念 の節、およびこの章の データ記述項の全体的な骨組み に説明してある。
作業場所節内の任意の項目の初期値は、指標データ項目、
または型定義は例外として、
データ項目のVALUE句を使用して指定する。指標データ項目およびVALUE句を指定していないデータ項目の初期値はどうなるかわからない。この章のプログラムの初期値 に説明してある。
プログラムが呼ばれるたびに、 局所記憶節の写しが別途作られる。作られた局所記憶節の写しは、そのプログラムが呼ばれている間だけ、存在する。局所記憶節は、再帰型のプログラム呼出しのために特に用意したものである。.
局所記憶節(local-storage section)は、節の見出しで始まる。その後ろに、独立データ項目用のデータ記述項やレコード記述項を書く。局所記憶節の各レコード名および独立項目名は一意とする。それらは修飾できないためである。レコードに従属するデータ名は、修飾することによって一意にできるならば、一意である必要はない。
データ名またはレコード名が参照されることがない場合、修飾して一意にしなくてもよい。
以下の説明において、手続き部のUSING句に触れている箇所はすべて、ENTRY USINGにも当てはまる。
SET文 の節に記述されている場合は例外として、
プログラム中の連絡節(linkage section)が意味をもつのは、呼ぶプログラムからCALL文にUSING句を指定して、実行用プログラムが呼ばれた場合だけである。
連絡節はメソッドにおいて常に意味を持つ。
呼ばれるプログラムの連絡節に指定した正式なパラメータと戻される項目は、制御が移された時に、その呼ばれるプログラムと呼ぶプログラムの両方から参照される。
このようなデータは、ファイル節にも作業場所節にも記述できる。
.
連絡節に記述されているデータ項目に対して、そのプログラムの中では領域は割り当てられない。これらのデータ項目を手続き部で参照すると、呼ぶプログラムの中で実行時に使用している場所を参照することになる。指標名については、そのような対応は付けられない。呼ぶプログラム中の指標名と呼ばれるプログラム中の指標名は、常に別の指標を参照する。
連絡節の中で定義されているデータ項目を、呼ばれるプログラムの手続き部の中で参照できるのは、そのデータ項目が手続き部の見出しのUSING句の作用対象に指定されるか、またはその作用対象に従属するかし、かつ実行用プログラムがUSING句を伴うCALL文の制御下にある場合だけである。
連絡節の構造は先に述べた作業場所節と同じである。つまり、節の見出しで始まり、その後ろに独立データ項目のデータ記述項やレコード記述項が続く。
連絡節内の各レコード名および独立項目名は呼ばれるプログラムの中で一意とする。それらは修飾できないためである。
この制限は手続き部で参照する場合に適用される。連絡節の中で定義した項目のうち、手続き部で参照できるのは、手続き部の見出しのUSING句内のデータ名-1、データ名-2などと、それらのデータ名に従属するデータ項目と、それらに関連する条件名と指標名だけである。.
連絡節に置くパラメータと戻される項目の指定は、パラメータと戻される項目の基準に記述された内容に従わなければならない。
連絡節に置く項目のうち、相互に階層関係のないものは、レコードにまとめる必要はない。この場合には、 独立基本項目として、別々のデータ記述項に定義する。データ記述は特別のレベル番号である77から始まる。
各データ記述項には、下記の要素を書く。
USAGE
COMPUTATIONAL-1、USAGE COMPUTATIONAL-2、USAGE POINTER、または
USAGE
PROCEDURE-POINTER)。
上記以外のデータ記述句は、必ずしも書く必要はない。必要があれば、項目の記述を完全にするために書けばよい。
連絡節に置くデータ項目のうち、相互に階層関係があるものは、レコードにまとめる。その際、レコード記述の書き方の規則に従う必要がある。入力レコードまたは出力レコードを記述するために使用する句のすべてを、連絡節でも使用できる。
連絡節では、VALUE句を指定できない。ただし、条件名記述項(88レベル)は例外である。
VALUE句を書くことができるが、注記にとどまる。
| 環境部 | データ部 - データ記述 |