表 13 に、ENVIRONMENT オプションの要約があります。 ストリーム指向データ伝送で使用できるオプションは、次のとおりです。
CONSECUTIVE or ORGANIZATION(CONSECUTIVE) F|FB|FS|FBS|V|VB|VS|VBS|U RECSIZE(record-length) BLKSIZE(block-size) GRAPHIC LEAVE|REREAD
BLKSIZE については、BLKSIZE オプション ページから始まる 『BLKSIZE オプション』を参照してください。 LEAVE および REREAD については、本章の後にある LEAVE|REREADの始めに記載されています。 残りのオプションは、以下で説明します。
STREAM ファイルは CONSECUTIVE データ・セット編成を 持っていなくてはなりませんが、CONSECUTIVE はデフォルトのデータ・セット編成なので、 これを ENVIRONMENT オプション内に 指定する必要はありません。STREAM ファイルの CONSECUTIVE オプションは、データ・セットの編成に記載 されているものとまったく同じです。
>>-CONSECUTIVE-------------------------------------------------><
ストリーム指向データ伝送では、レコード境界は無視されますが、 データ・セットを作成する場合、レコード・フォーマットは重要な意味を持ちます。 これは、レコード・フォーマットがデータ・セットが占有するストレージの容量と、 データを処理するプログラムの効率に影響するためだけでなく、データ・セットが後で、 レコード単位データ伝送でも処理できるようにするためです。
いったんレコード・フォーマットを指定したならば、 ストリーム指向データ伝送を使う限り、レコードおよびブロックを 意識する必要はありません。 データ・セットは、行に配置された一連の文字またはグラフィックスと見なすことができま す。また、SKIP オプションまたはフォーマット項目 (PRINT ファイルでは、PAGE オプション、LINE オプションおよびフォーマット項目) を使って、新しい行を選択する ことができます。
>>-+-F---+----------------------------------------------------->< +-FS--+ +-FB--+ +-FBS-+ +-V---+ +-VS--+ +-VB--+ +-VBS-+ '-U---'
レコードは、次に挙げるフォーマットのうちいずれか 1 つを持つことができます。 これらのフォーマットは レコード・フォーマットに説明してあります。
|
固定長 |
F FB FS FBS |
非ブロック化 ブロック化 非ブロック化、標準 ブロック化、標準 |
|
可変長 |
V VB VS VBS |
非ブロック化 ブロック化 |
|
不定長 |
U |
(ブロック化できない) |
なお、レコードのブロック化も非ブロック化も自動的に行われます。
ストリーム指向データ伝送の場合の RECSIZE は ENVIRONMENT 属性での特性の指定 に 記載されているものと同じです。 また、OPEN ステートメントの LINESIZE オプションで指定された値 は、RECSIZE オプションで指定された値を指定変更します。LINESIZE については、 「PL/I 言語解説書」で説明されています。
グラフィックスのリスト指示伝送およびデータ指示伝送についてのレコード・サイズに関する 追加の考慮事項は、「PL/I 言語解説書」に記載されています。
レコード・フォーマット、BLKSIZE、または RECSIZE オプションを ENVIRONMENT 属性内またはそれに関連した DD ステートメントまたはデータ・セット・ラベル内で指定しないと、 次のような処置がとられます。
出力ファイル
編集指示入出力の GRAPHIC オプションを指定します。
>>-GRAPHIC-----------------------------------------------------><
入力データや出力データにグラフィックスが含まれているのに、GRAPHIC オプションが 指定されていなければ、リスト指示入出力およびデータ指示入出力の ERROR 条件が発生します。
編集指示入出力で GRAPHIC オプションを指定すると、出力時に DBCS 変数と定 数の左右に区切り文字が追加され、グラフィック入力時にも左右に区切り文字が付け 加えられます。GRAPHIC オプションを指定しない場合は、 出力データの左右に区切り文字は追加されず、 また、入力のグラフィックスにも左右の区切り文字は必要ありません。 また、GRAPHIC オプションを指定した場合は、入力データの左右に区切り文字が ないと、ERROR 条件が発生します。
グラフィック・データ・タイプおよび編集指示入出力の G フォーマット項目の 詳細については、「PL/I 言語解説書」を参照してください。