ストリーム ファイルの属性

次の属性は、ストリーム ファイルでの使用に適しています。ファイル定数の DECLARE 文または OPEN 文のいずれかで使用される属性もあれば、OPEN 文のみで使用される属性もあります。

属性 使用できる文
STREAM DECLARE または OPEN
INPUT DECLARE または OPEN
OUTPUT DECLARE または OPEN
PRINT DECLARE または OPEN
LINESIZE OPEN
PAGESIZE OPEN
TITLE OPEN

PRINT を使用した場合、暗黙的に STREAM OUTPUT になります。INPUT、OUTPUT、PRINT のいずれも指定されていない場合は、INPUT と見なされます。LINESIZE および PAGESIZE は PRINT ファイルに対してのみ使用できます。STREAM、RECORD のいずれも指定されていない場合は、デフォルトは STREAM になります(「レコード入出力」セクションを参照してください)。STREAM と RECORD、および INPUT と OUTPUT は相互に排他的です。1 つのファイルに対する DECLARE 文および OPEN 文の両方で属性が指定されている場合、使用される属性は、2 つの文の属性の組み合わせになります。この組み合わせには、相互に排他的な各組のうちの 1 つしか含めることができません。

TITLE オプションは、PL/I プログラムで宣言されたファイルをオペレーティング システムで既知のファイルまたはデバイスと関連付けるために使用します。OPEN 文の次の例では、TITLE オプションの引用符で囲まれたテキストは、FILE オプションで指定された PL/I ファイルのこのオープン処理を含む入出力操作で使用されるシステム ファイル名またはデバイス名を指定しています。OPEN 文で TITLE オプションが指定されていない場合、ファイル定数の宣言された名前がデフォルトのタイトルとして使用されます。

LINESIZE オプションは、STREAM ファイルで 1 行に出力できる最大文字数を指定するために OPEN 文で使用します。行サイズが指定されていない場合は、デフォルトの行サイズが使用されます。LINESIZE の詳細については、「」の章の「PUT」のセクションを参照してください。

LINESIZE オプションは OPEN 文でのみ記述でき、STREAM OUTPUT ファイルでのみ有効です。出力において、列位置が (LINESIZE+1) に達するたびに改行が挿入されます。PUT 文では、SKIP オプションまたは LINE オプションにより、改行文字が挿入されて列位置がリセットされます。PUT EDIT 文では、COLUMN 形式で改行が挿入されることがあります。

デフォルトはファイル名またはデバイスによって異なります。Open PL/I では、LINESIZE オプションのデフォルト値は 120 です。

PAGESIZE オプションは、ENDPAGE 条件を通知せずに印刷ファイルに書き込むことができる最大行数を指定するために OPEN 文で使用します。ページ サイズが指定されていない場合は、デフォルトのページ サイズが使用されます。Open PL/I では、PAGESIZE オプションのデフォルト値は 60 です。

開かれていないファイルに対して GET 文または PUT 文が実行された場合、そのファイルは、ファイル定数の宣言された名前をタイトルとして使用して、STREAM ファイルとして暗黙的に開かれます。GET 文で開かれたファイルは INPUT ファイルとして開かれ、PUT 文で開かれたファイルは OUTPUT ファイルとして開かれます。

既存のストリーム ファイル (任意の ASCII ファイル) にテキストを追加するには、OPEN 文の TITLE オプションで -APPEND オプションを使用します。したがって、追加するファイルの名前が「logfile」の場合は、次の TITLE オプションを使用してファイルを開きます。

TITLE('logfile -APPEND')

このファイルに対する後続の PUT 文は、その出力をファイルの末尾に追加するだけです。