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

ブロックおよびレコード

データ・セット内のデータ項目は、 ブロック間ギャップ (IBG) で区切られているブロックに配置されます。(これをレコード間ギャップと呼んでいるマニュアルもあります。)

ブロック は、データ・セットに送られてくる、 あるいはデータ・セットから送り出されるデータの単位です。 各ブロックには、1 つのレコード、レコードの一部分、または複数のレコード が入っています。 ブロック・サイズは、DD ステートメントの BLKSIZE パラメーター内、 あるいは ENVIRONMENT 属性の BLKSIZE オプション内で指定することができます。

レコード は、プログラムに送られてくる、 またはプログラムから送り出されるデータの単位です。 レコード長は、DD ステートメントの LRECL パラメーター 内、OPEN ステートメントの TITLE オプション内、または ENVIRONMENT 属性 の RECSIZE オプション内で指定することができます。

PL/I プログラムを作成する場合は、 読み取りあるいは書き込みを行うレコードだけを考慮すれば済みます。 しかし、自分のプログラムが作成あるいはアクセスするデータ・セットを記述する場合は、 ブロックおよびレコード間の関係を知っている必要があります。

ブロック化によって、磁気ストレージ・ボリューム内のストレージ・スペースを 節約することができます。ブロック化が、ブロック間ギャップ数を 減らし、データ・セットを処理するのに必要な入出力操作回数 を減らすことにより効率を上げるためです。 また、レコードは、データ管理ルーチンにより、ブロック化およびブロック化 解除されます。

情報交換コード

データが記録される通常のコードは拡張 2 進化 10 進コード (EBCDIC) です。

ASCII コードの各文字は 7 ビット・パターンで表されるので、 このようなパターンが 128 通りあります。 また、ASCII セットには、有効な ASCII コードがない EBCDIC 文字 を表すために使用される置換文字 (SUB 制御文字) があります。 ASCII 置換文字は、00111111 というビット・パターンを持つ EBCDIC SUB 文字に変換されます。


Terms of use | Feedback

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