Rational Developer for System z
PL/I for Windows, Version 7.6, プログラミング・ガイド

領域データ・セットの定義と使用

領域データ・セット用のファイルの定義
ENVIRONMENT オプションの指定
領域データ・セットの作成時、および領域データ・セットへのアクセス時の必須情報
領域データ・セットでのキーの使用
REGIONAL(1) データ・セットの使用
ダミー・レコード
REGIONAL(1) データ・セットの作成
REGIONAL(1) データ・セットへのアクセスと更新
順次アクセス
直接アクセス

この章では、領域データ・セットの編成、データ伝送ステートメント、および 領域データ・セットを定義する ENVIRONMENT オプションについて述べます。領域データ・セットの作成および領域データ・セットへのアクセスについても説明します。

領域編成のデータ・セットは 2 つの領域に分かれますが、それぞれの領域 は領域番号で識別され、またそのおのおのに 1 つのレコードを入れることができます。これらの領域には、ゼロから始まる連続した番号が付けられ、データ伝送ステートメント内に領域番号 を指定することによって、レコードにアクセスすることができます。

領域データ・セットは、直接アクセス装置に限られます。

データ・セットを領域編成にすれば、データ・セット内でのレコードの 物理配置を制御することができ、また、データ・アクセス 時間を最適化することができます。連続編成では、連続したレコードは厳密に物理的順序で書き込まれるため、このタイプの最適化を行うことはできません。

領域データ・セットは、連続データ・セットと 似た方法で、昇順の領域番号順にレコードを提示することによって作成することができます。別の方法として、直接アクセスを用いることができ、その場合、レコードはランダムな順序で提示し、それらを事前にフォーマット設定された領域に直接挿入します。領域データ・セットを作成した後は、INPUT または UPDATE だけ でなく SEQUENTIAL または DIRECT 属性をもったファイルを使用してそのデータ・セットに アクセスすることができます。データ・セットが SEQUENTIAL INPUT ファイルまたは SEQUENTIAL UPDATE ファイルと関連付けて いれば、領域番号またはキーを指定する必要はありません。ファイルに DIRECT 属性があれば、任意の順序でレコードを検索、追加、削除、および置換することができます。

領域データ・セット内のレコードは、有効なデータが入っている実際のレコードであるか、またはダミー・レコードのいずれかです。

PL/I は REGIONAL(1) データ・セットをサポートします。REGIONAL(1) データ・セットの作成またはアクセスのために使用可能なデータ伝送ステートメントおよびオプションのリストについては、表 17を参照してください。

表 17. 領域データ・セットの作成と領域データ・セットへのアクセスで使用できるステートメントとオプション
ファイル
宣言1
有効ステートメント2および
必須オプション
指定できるその他の
オプション
SEQUENTIAL OUTPUT
BUFFERED
WRITE FILE(file-reference)
FROM(reference)
KEYFROM(expression);

LOCATE based-variable
FROM(file-reference)
KEYFROM(expression);

SET(pointer-reference)
SEQUENTIAL OUTPUT
UNBUFFERED
WRITE FILE(file-reference)
FROM(reference)
KEYFROM(expression);
SEQUENTIAL INPUT
BUFFERED
READ FILE(file-reference)
INTO(reference);

READ FILE(file-reference)
SET(pointer-reference);

READ FILE(file-reference)
IGNORE(expression);
KEYTO(reference)


KEYTO(reference)
SEQUENTIAL INPUT
UNBUFFERED
READ FILE(file-reference)
INTO(reference);

READ FILE(file-reference)
IGNORE(expression);
KEYTO(reference)
SEQUENTIAL UPDATE3
BUFFERED
READ FILE(file-reference)
INTO(reference);

READ FILE(file-reference)
SET(pointer-reference);

READ FILE(file-reference)
IGNORE(expression);

REWRITE FILE(file-reference);
KEYTO(reference)


KEYTO(reference)





FROM(reference)
SEQUENTIAL UPDATE
UNBUFFERED
READ FILE(file-reference)
INTO(reference);

READ FILE(file-reference)
IGNORE(expression);

REWRITE FILE(file-reference)
FROM(reference);
KEYTO(reference)
DIRECT OUTPUT
WRITE FILE(file-reference)
FROM(reference)
KEYFROM(expression);
DIRECT INPUT
READ FILE(file-reference)
INTO(reference)
KEY(expression);
DIRECT UPDATE
READ FILE(file-reference)
INTO(reference)
KEY(expression);

REWRITE FILE(file-reference)
FROM(reference)
KEY(expression);

WRITE FILE(file-reference)
FROM(reference)
KEYFROM(expression);

DELETE FILE(file-reference)
KEY(expression);
注:

1 完全なファイル宣言には属性 FILE、RECORD、および ENVIRONMENT が含まれています。オプション KEY、KEYFROM、あるいは KEYTO のいずれかを使用する場合は、属性 KEYED も含めなくてはなりません。

2 ステートメント READ FILE(file-reference); は、ステートメント READ FILE(file-reference) IGNORE(1); と同等です。

3 新たにデータ・セットを作成するときには、ファイルに UPDATE 属性があってはなりません。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)