ユーザー・ラベルは、データ・セットまたはボリューム (リール) の始まりまたは終わりに達したときに作成、検査、または更新することができます。ボリュームの終わり出口とボリューム開始出口を使用できます。中間トレーラーおよびヘッダーを作成したり、検査することもできます。
データ・セットの各ボリューム上で、最大 8 個のヘッダー・ラベルと 8 個のトレーラー・ラベルを作成、検査、または更新することができます。(QSAM EXTEND は、ファイル開始ラベルが処理されない点を除き、OUTPUT と同じ働きをします。) ラベルは、マルチボリューム・データ・セットの場合、最初のボリュームに置かれます。このボリュームは、トレーラー・ラベルが作成、検査、または更新される予定である場合には、CLOSE として取り付けなければなりません。INPUT または I-O としてオープンされたファイルのトレーラー・ラベルは、AT END 条件に達しているファイルに対して CLOSE ステートメントが実行されるときに処理されます。
誤った位置番号を指定してヘッダーまたはトレーラーをコーディングすると、結果は予測できません。(データ管理は、ラベルを強制的に正しい相対位置にすることがあります。)
標準ラベル処理を使用するときには、データ・セットを記述する DD ステートメントで標準およびユーザー・ラベルのラベル・タイプ (SUL) をコーディングしてください。
ユーザー・ラベル・トラックの取得: 直接アクセス・ボリュームに対して SUL の LABEL サブパラメーターを使用すると、データ・セットの作成時に、別個のユーザー・ラベル・トラックが割り振られます。この追加のトラックは初期割り振り時に割り振られ、順次データ・セットの場合はボリュームの終わり (ボリューム切り替え) 時に割り振られます。 ユーザー・ラベル・トラック (順次データ・セットの各ボリュームにつき 1 つ) には、ユーザー・ヘッダー・ラベルとユーザー・トレーラー・ラベルの両方が含まれます。LABEL 名がユーザー LABEL 宣言の外側で参照されると、結果は予測できません。
ユーザー・ラベルの処理: USE AFTER LABEL 宣言は、サポートされるファイル上のユーザー・ラベルを処理するためのプロシージャーを提供します。AFTER オプションは、標準ユーザー・ラベルの処理を示します。
ラベルは、ファイルの FD 記入項目で、LABEL RECORDS 節の data-names としてリストしてください。
| ファイルの オープンのモード | 次のような条件の場合: | 結果: |
|---|---|---|
| INPUT | USE . . . LABEL 宣言が OPEN オプションまたはファイルにコーディングされている。 | ラベルが読み取られ、制御が LABEL 宣言に渡されます。 |
| OUTPUT | USE . . . LABEL 宣言が OPEN オプションまたはファイルにコーディングされている。 | ラベル用のバッファー域が提供され、制御が LABEL 宣言に渡されます。 |
| INPUT または I-O | AT END 条件に達しているファイルに対して CLOSE ステートメントが実行される。 | トレーラー・ラベルを処理するために制御が LABEL 宣言に渡されます。 |
GO TO MORE-LABELS ステートメントを使用して、特殊な出口を指定することができます。 このステートメントの結果として、ラベル DECLARATIVE SECTION から出た場合は、システムは次のいずれかの処置を行います。
ユーザー・ラベルについて GO TO MORE-LABELS ステートメントが実行されない場合には、その直後のユーザー・ラベルを検査または作成するための、DECLARATIVE SECTION への再入は行われません。
関連概念
QSAM ファイルのラベル