Vsam-rrds
VSAM-RRDS
RRDSは、相対レコードデータセットとして知られています。 RRDSクラスターはESDSクラスターに似ています。 唯一の違いは、RRDSレコードが*相対レコード番号(RRN)によってアクセスされることです。DEFINECLUSTERコマンド内で *NUMBERED をコーディングする必要があります。 RRDSの主要な機能は次のとおりです-
- 相対レコードデータセットには、*相対レコード番号(RRN)*で識別されるレコードがあります。これは、最初のレコードに相対的なシーケンス番号です。
- RRDSでは、レコード1、レコード2などのような番号でレコードにアクセスできます。 これはランダムアクセスを提供し、アプリケーションプログラムが目的のレコード番号を取得する方法を持っていることを前提としています。
- RRDSデータセット内のレコードには、目的のレコードの相対レコード番号を指定することで、相対レコード番号順に、または直接アクセスできます。
- RRDSデータセットのレコードは、固定長のスロットに保存されます。 各レコードは、そのスロットの番号によって参照されます。番号は、1からデータセット内のレコードの最大数までさまざまです。
- RRDSのレコードは、空のスロットに新しいレコードを挿入することで書き込むことができます。
- レコードはRRDSクラスターから削除できるため、空のスロットが残ります。
- RRDSデータセットを使用できる固定長のレコードまたはコンテキストの意味を持つレコード番号を使用するアプリケーション。
- RRDSは、他のファイルと同様に COBOL プログラムで使用できます。 JCLでファイル名を指定し、KSDSファイルを使用してプログラム内で処理できます。 COBOLプログラムでは、ファイル編成を RELATIVE として指定し、RRDSデータセットで任意のアクセスモード*(シーケンシャル、ランダム、またはダイナミック)*を使用できます。
RRDSファイル構造
スペースは、RRDSファイル構造の固定長スロットに分割されます。 スロットは、完全に空であるか、完全にいっぱいのいずれかです。 したがって、新しいレコードを空のスロットに追加したり、既存のレコードを空いているスロットから削除したりできます。 相対レコード番号を指定することで、どのレコードにも直接アクセスできます。 次の例は、データファイルの基本構造を示しています-
データコンポーネント
Relative Record Number | Record Field 1 | Record Field 2 |
---|---|---|
1 | Tutorial | Point |
2 | Mohtashim | M. |
3 | Nishant | Malik |
RRDSクラスターの定義
次の構文は、RRDSクラスターの作成中に使用できるパラメーターを示しています。
パラメーターの説明は、VSAM-クラスターモジュールで説明したものと同じです。
DEFINE CLUSTER (NAME(rrds-file-name) -
BLOCKS(number) -
VOLUMES(volume-serial) -
NUMBERED -
RECSZ(average maximum) -
[FREESPACE(CI-Percentage,CA-Percentage)] -
CISZ(number) -
[READPW(password)] -
[FOR(days)|TO(date)] -
[UPDATEPW(password)] -
[REUSE/NOREUSE]) -
DATA -
(NAME(rrds-file-name.data))
例
次の例は、IDCAMSユーティリティを使用してJCLでRRDSクラスターを作成する方法を示しています-
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DEFINE CLUSTER (NAME(MY.VSAM.RRDSFILE) -
NUMBERED -
RECSZ(80 80) -
TRACKS(1,1) -
REUSE -
FREESPACE(3 3) ) -
DATA (NAME(MY.VSAM.RRDSFILE.DATA))
/*
Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行し、MY.VSAM.RRDSFILE VSAMファイルを作成します。
RRDSクラスターの削除
RRDSクラスターは、IDCAMSユーティリティを使用して削除されます。 DELETEコマンドは、カタログからVSAMクラスターのエントリーを削除し、オプションでファイルを削除することにより、オブジェクトが占有するスペースを解放します。
DELETE data-set-name CLUSTER
[ERASE/NOERASE]
[FORCE/NOFORCE]
[PURGE/NOPURGE]
[SCRATCH/NOSCRATCH]
上記の構文は、RRDSクラスターの削除中に使用できるパラメーターを示しています。 パラメーターの説明は、VSAM-クラスターモジュールで説明したものと同じです。
例
次の例は、IDCAMSユーティリティを使用してJCLでRRDSクラスターを削除する方法を示しています-
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEPNAME EXEC PGM = IDCAMS
//SYSPRINT DD SYSOUT = *
//SYSIN DD *
DELETE MY.VSAM.RRDSFILE CLUSTER
/*
Mainframesサーバーで上記のJCLを実行する場合。 MAXCC = 0で実行し、MY.VSAM.RRDSFILE VSAMクラスターを削除します。