export コマンドを使用すると、PL/I ファイルに 関連付けられるデータ・セットを識別する環境変数を設定することができます。 また、オプショナルでデータ・セットの特性も指定することができます。 環境変数から得られるこのような情報を、 データ定義 (または、dd) 情報と呼びます。
DD_DDNAME 環境変数の構文は、次のとおりです。
.---------------. V | >>-DD_DDNAME=filespec---+-----------+-+------------------------>< '-,--option-'
この構文ではブランクを使用することができます。 また、このステートメントの構文は、コマンド入力時にはチェックされません。 データ・セットのオープン時に、このステートメントの構文が検証されます。 構文に誤りがあれば、オン・コード 96 により UNDEFINEDFILE 条件が発生します。
代替 DDNAME を使用する場合に、その長さが 31 文字を超えるときは、最初の 31 文字だけが環境変数名に指定されます。
DD 情報として指定できるオプションは、APPENDからTYPEで説明します。
APPEND オプションにより、既存データ・セットが拡張されるのか、再作成されるのかが指定されます。
.-Y-. >>-APPEND--(-+-N-+-)-------------------------------------------><
APPEND オプションを適用できるのは、OUTPUT ファイルだけです。 したがって、次の場合、APPEND オプションは無視されます。
BUFSIZE オプションは、バッファーのバイト数を指定します。
>>-BUFSIZE--(n)------------------------------------------------><
RECORD 出力はデフォルト設定でバッファーに入り、BUFSIZE のデフォルト値 64k です。 STREAM 出力もバッファーに入りますが、デフォルトによるのではありません。 また、この場合、BUFSIZE のデフォルト値はゼロです。
BUFSIZE の値にゼロが指定されている場合は、 バッファーのバイト数は、RECSIZE オプションまたは LRECL オプションで指定されている値と同じです。
BUFSIZE オプションが有効なのは、連続バイナリー・ファイルだけです。 ファイルが端末入力に使用されている場合は、 効率を上げるために、BUFSIZE に値をゼロを割り当てるべきです。
CHARSET オプションのこのバージョンは、レコード入出力を使用 する連続ファイルにだけ適用されます。このオプションにより、ユーザーは ASCII データ・ファイルを入力ファイルとして使用したり、出力ファイルの文字セットを指定することができます。
.-ASIS---. >>-CHARSET--(-+-EBCDIC-+-)------------------------------------->< '-ASCII--'
入力ファイルの形式、または出力ファイルにとらせたい形式に基づいて、CHARSET の サブオプションを選択してください。
CHARSET オプションのこのバージョンは、 ストリーム入力ファイルおよびストリーム出力ファイルにだけ適用されます。 このオプションにより、ユーザーは ASCII データ・ファイルを入力ファイルとして使用し たり、出力ファイルの文字セットを指定することができます。 ストリーム入出力を使用しているときに ASIS を指定しようとしても、 エラーは出されず、文字セットは EBCDIC として扱われます。
.-EBCDIC-. >>-CHARSET--(-+-ASCII--+-)-------------------------------------><
入力ファイルの形式、または出力ファイルにとらせたい形式 に基づいて、CHARSET のサブオプションを選択してください。
DELAY オプションは、システムがファイル・ロックやレコード・ロックを入手できない場合に 失敗した操作を再試行するまでの遅延の時間をミリ秒単位で指定します。
.-0-. >>-DELAY--(-+-n-+-)--------------------------------------------><
このオプションを適用できるのは、VSAM ファイルだけです。
DELIMIT オプションは、 入力ファイルにフィールド区切り文字が含まれているかどうかを指定します。 フィールド区切り文字は、レコードのフィールドを分離するブランクかまたはユーザー定義文字です。 このオプションを適用できるのは、ソート入力ファイルだけです。
.-N-. >>-DELIMIT--(-+-Y-+-)------------------------------------------><
ソート・ユーティリティー・プログラムは、 フィールド区切り文字の有無により、 テキスト・ファイルとバイナリー・ファイルを区別します。 フィールド区切り文字が含まれている入力ファイルは、 テキスト・ファイルとして処理され、区切り文字がない入力ファイルはバイナリー・ファイルと見なされます。 この情報は、ライブラリーが正しいパラメーターを ソート・ユーティリティー・プログラムに渡すために必要です。
LRECL オプションは RECSIZE オプションと同じです。
>>-LRECL--(n)--------------------------------------------------><
LRECL が指定されておらず LINESIZE 値による暗黙指定 もされていない場合 (ただし TYPE(FIXED) ファイルを除く)、 デフォルトは 1024 です。
LRMSKIP オプションを使用すると、ファイルがオープンされてから 最初の SKIP フォーマット項目が実行される ように、1 ページ目の n 行目 (n は PUT ステートメント または GET ステートメントの SKIP オプションで指定されている値) で 出力が開始されるようにすることができます。
.-N-. >>-LRMSKIP--(-+-Y-+-)------------------------------------------><
n がゼロまたは 1 の場合は、1 ページ目の 1 行目で出力が開始されます。
PROMPT オプションは、コロンを端末からのストリーム入力の プロンプトとして表示するかどうかを指定します。
.-N-. >>-PROMPT--(-+-Y-+-)-------------------------------------------><
PUTPAGE オプションは、用紙送り文字の後ろに復帰文字を入れるかどうかを指定します。 このオプションが適用されるのは、プリンター向けファイルだけです。 プリンター向けファイルは、PRINT 属性を指定して宣言された ストリーム出力ファイル、あるいは、CTLASA 環境オプションを 指定して宣言されたレコード出力ファイルです。
.-NOCR-. >>-PUTPAGE--(-+-CR---+-)---------------------------------------><
RECCOUNT オプションは、PL/I ファイルのオープン・プロセス中に作成される、 相対データ・セットまたは領域データ・セットにロードできる最大のレコード数を指定します。
>>-RECCOUNT--(n)-----------------------------------------------><
PL/I がデータ・セットを作成も再作成もしない場合、RECCOUNT オプションは無視されます。
RECCOUNT オプションのデフォルトは 50 です。
注: z/OS の場合、REGIONAL(1) データ・セットの機能性とパフォーマンスを向上させるには、/filespec パラメーターと RECCOUNT パラメーターの両方を指定した TITLE オプションを省略することをお勧めします。 この場合、ファイルにロードされるレコードの数は、データ・セットの最初のエクステントに割り振られたスペースによって決まります。 詳しくは、領域データ・セットの定義と使用を参照してください。
RECSIZE オプションは、データ・セット内のレコードの長さ n を指定します。
.-512-. >>-RECSIZE--(-+-n---+-)----------------------------------------><
領域データ・セットおよび固定長データ・セットの場合は、RECSIZE は データ・セットの各レコードの長さを指定します。 その他のデータ・セット・タイプの場合は、RECSIZE はレコードがとれる最大の長さを指定します。
SAMELINE オプションは、入力を求めるプロンプトのステートメントと同じ行で、 システム・プロンプトを行わせるかどうかを指定します。
.-N-. >>-SAMELINE--(-+-Y-+-)-----------------------------------------><
以下の例は、PROMPT オプションと SAMELINE オプションのいくつかの組み合わせ の結果を示しています。
| prompt(y), sameline(y)prompt(n), sameline(y)prompt(y), sameline(n) prompt(n), sameline(n) | ENTER: (cursor)ENTER: (cursor)ENTER:(cursor)ENTER:(cursor) |
| prompt(y), sameline(y)prompt(n), sameline(y)prompt(y), sameline(n) prompt(n), sameline(n) | ENTER: (cursor)ENTER (cursor)ENTER:(cursor)ENTER(cursor) |
SKIP0 オプションは、ソース・プログラムに SKIP(0) ステートメント がコーディングされた場合、ライン・カーソルをどこに移動するかを指定します。SKIP0 オプションは、PM アプリケーションとしてリンクされていない 端末ファイルに適用されます。
.-N-. >>-SKIP0--(-+-Y-+-)--------------------------------------------><
次の例は、現在の出力行の先頭にカーソルが移動するように、 出力を端末スキップ・ゼロ行で行う方法を示しています。
export DD_SYSPRINT='stdout:,SKIP0(Y)'
TYPE オプションは、ネイティブ・ファイル内のレコードのフォーマットを指定します。
.-LF------. >>-TYPE--(-+-CRLF----+-)--------------------------------------->< +-TEXT----+ +-FIXED---+ +-CRLFEOF-+ '-U-------'
データ・セットのレコード長として決められている値よりも長いレコードを データ・セットに入れることはできません。
データ・セットのレコード長として決められている値よりも長いレコードを データ・セットに入れることはできません。
TYPE(FIXED) ファイル内のすべての文字は、制御文字も含め (ある場合)、データと見なされます。 指定したレコード長が、存在している文字を反映していること、 あるいは、指定したレコード長がレコード内の全文字を扱えることを確認してください。
ASA(N) オプションを指定したプリンター向けファイルの場合 このオプションが無視されるということを除き、TYPE オプションを 適用できるのは CONSECUTIVE ファイルだけです。
使用しているプログラムが TYPE(FIXED) が有効である既存のデータ・セット にアクセスしようとしており、かつそのデータ・セット長が ユーザーが指定した複数の論理レコード長の倍数でない 場合は、PL/I は UNDEFINEDFILE 条件を発生させます。
TYPE(FIXED) 属性を指定した非印刷ファイルを使用している 場合は、SKIP が行の終わりまで末尾ブランクに置き換えられます。TYPE(LF) が使用されている場合、SKIP は末尾ブランクなしに、LF で置き換えられます。