出力ファイル情報を指定します。
複数の出力ファイル情報オプション(-output)を指定できます。標準出力に出力する場合は、fileオペランド、およびfilesysオペランドを省略します。ただし、標準出力に出力する場合、複数の出力ファイル情報オプション(-output)は指定できません。
記述形式
-output [ file=file-name [ ,file-name ...] [ file= ...] [ filesys=file-system ] ] [ maxfilesize=max-filesize ] [ maxrecnum=max-recordnumber ] [ { include=condition-expression [ ,condition-expression ] [ include= ...] | omit=condition-expression [ ,condition-expression ] [ omit= ...] | case= { condition-expression [ ,condition-expression ] | other } [ case= ...] } ] [ reconst=reconst-definition [ ,reconst-definition ...] [ reconst= ...] ] [ idxflag=index-flag ] [ idxkey=index-key [ ,index-key ...] [ idxkey= ...] ] [ linedlmt=line-delimiter ] [ removeeof ] [ -output ...]
出力ファイルを指定します。
出力ファイルは複数指定することができます。ただし、ファイルシステムが異なる複数の出力ファイルを指定することはできません。複数の出力ファイルを指定する場合は、出力ファイルをコンマ(,)で区切って指定するか、またはfileオペランドを複数指定します。複数の出力ファイルを指定し、同時にmaxfilesizeオペランド、またはmaxrecnumオペランドを指定した場合、maxfilesizeオペランド、またはmaxrecnumオペランドの指定に従って複数のファイルに分割して出力します。複数の出力ファイルを指定し、同時にmaxfilesizeオペランド、およびmaxrecnumオペランドを指定しなかった場合、リカバリー処理として出力ファイルがファイルシステムの許容量を超えたときに次のファイルへ切り替えて出力します。リカバリー処理は、以下のファイルを処理する場合に指定できます。
システム標準のファイル(テキストファイル、バイナリファイル)
富士通COBOLレコード順ファイルの高速アクセスライブラリ(libbscblfast64.so)を使用した富士通COBOLファイル
富士通COBOL物理順ファイルの高速アクセスライブラリ(libbscblpsfast64.so)を使用した富士通COBOLファイル
注意
指定された出力ファイルをすべて使用しても出力できないレコードが存在する場合は、エラーになります。
指定された出力ファイルが1つの場合、maxfilesizeオペランド、およびmaxrecnumオペランドは指定できません。
記述形式
file=file-name
file-name
出力ファイルのファイルパス名を指定します。
file-name 記述上の注意事項については、入力ファイル情報オプション(-input)のfileオペランドを参照してください。
fileオペランドで指定した出力ファイルのファイルシステムを指定します。
記述形式
filesys=file-system
file-system
出力ファイルのファイルシステムを指定します。
省略時はシステムの標準ファイルシステムを指定したものとします。
指定可能なファイルシステムについては、入力ファイル情報オプション(-input)のfilesysオペランドを参照してください。
1つのファイルに出力可能な最大ファイルサイズを指定します。
記述形式
maxfilesize=max-filesize [ K | M | G ]
max-filesize [ K | M | G ]
1つのファイルに出力可能な最大ファイルサイズを指定します。
ファイルサイズがmax-filesize を超える場合、fileオペランドで指定した次の出力ファイルに続きを出力します。K、M、Gは、max-filesize の単位です。Kはキロバイト単位、Mはメガバイト単位、Gはギガバイト単位であることを示します。K、M、Gを指定しなかった場合、単位はバイトです。maxrecnumオペランドと同時に指定した場合は、先に上限に達した時点で次の出力ファイルに出力します。また、指定した上限に達する前に出力ファイルがファイルシステムの許容量を超えた場合は、許容量を超えた時点で次の出力ファイルに出力します。
maxfilesizeオペランドは、以下のファイルを処理する場合に指定できます。
システム標準のファイル(テキストファイル、バイナリファイル)
富士通COBOLレコード順ファイルの高速アクセスライブラリ(libbscblfast64.so)を使用した富士通COBOLファイル
富士通COBOL物理順ファイルの高速アクセスライブラリ(libbscblpsfast64.so)を使用した富士通COBOLファイル
注意
fileオペランドで指定した出力ファイルが1つの場合、maxfilesizeオペランドは指定できません。
1つのファイルに出力可能な最大レコード数を指定します。
記述形式
maxrecnum=max-recordnumber
max-recordnumber
1つのファイルに出力可能な最大レコード数を指定します。
レコード数がmax-recordnumber を超える場合、fileオペランドで指定した次の出力ファイルに続きを出力します。maxfilesizeオペランドと同時に指定した場合は、先に上限に達した時点で次の出力ファイルに出力します。また、指定した上限に達する前に出力ファイルがファイルシステムの許容量を超えた場合は、許容量を超えた時点で次の出力ファイルに出力します。
注意
fileオペランドで指定した出力ファイルが1つの場合、maxrecnumオペランドは指定できません。
出力ファイルのレコード選択機能を使用する場合に選択フィールド(選択条件)を指定します。
条件が成立したレコードを出力の対象とします。
includeオペランドは、omitオペランド、およびcaseオペランドとは排他関係にあります。
記述形式
include=condition-expression
condition-expression
選択フィールド(選択条件)を指定します。
選択フィールドは複数指定することができます。コンマ(,)で区切って複数のcondition-expression を指定した場合は、選択条件の論理積となります。複数のincludeオペランドを指定した場合は、選択条件の論理和となります。
condition-expression の記述形式については、入力ファイル情報オプション(-input)のincludeオペランド(condition-expression の記述形式)を参照してください。
出力ファイルのレコード選択機能を使用する場合に選択フィールド(選択条件)を指定します。
条件が成立したレコードを処理の対象から除外します。
omitオペランドは、includeオペランド、およびcaseオペランドとは排他関係にあります。
記述形式
omit=condition-expression
condition-expression
選択フィールド(選択条件)を指定します。
選択フィールドは複数指定することができます。コンマ(,)で区切って複数のcondition-expression を指定した場合は、選択条件の論理積となります。複数のomitオペランドを指定した場合は、選択条件の論理和となります。
condition-expression の記述形式については、入力ファイル情報オプション(-input)のincludeオペランド(condition-expression の記述形式)を参照してください。
出力ファイルのレコード選択機能を使用する場合に選択フィールド(選択条件)を指定します。
条件が成立したレコードを出力の対象とします。
caseオペランドは、includeオペランド、およびomitオペランドとは排他関係にあります。
記述形式
case={ condition-expression | other }
condition-expression
選択フィールド(選択条件)を指定します。
選択フィールドは複数指定することができます。コンマ(,)で区切って複数のcondition-expression を指定した場合は、選択条件の論理積となります。複数のcaseオペランドを指定した場合は、選択条件の論理和となります。caseオペランドでは、これより前に指定した出力ファイル情報オプション(-output)のcaseオペランドで出力されたレコードは出力の対象から除外されます。
condition-expression の記述形式については、入力ファイル情報オプション(-input)のincludeオペランド(condition-expression の記述形式)を参照してください。
other
「other」の固定文字列を指定します。
出力ファイル情報オプション(-output)のcaseオペランドで出力されなかったレコードを出力の対象とします。
記述例
例
入力レコードの50バイト目から長さ4バイトの外部10進数のフィールドが、100未満のレコードをsortout1へ、100以上200未満のレコードをsortout2へ、200以上500未満のレコードをsortout3へ、500以上のレコードをsortout4に出力する場合、以下のように指定します。
-output file=sortout1 case=49.4zdl.lt.d100 -output file=sortout2 case=49.4zdl.lt.d200 -output file=sortout3 case=49.4zdl.lt.d500 -output file=sortout4 case=other
出力ファイルのレコード再編成機能を使用する場合に再編成フィールドを指定します。
出力ファイルのレコード選択機能の後に、指定された再編成フィールドに従ってレコードを再編成します。
記述形式
reconst=reconst-definition
reconst-definition
再編成フィールドを指定します。
複数の再編成フィールドを指定する場合は、reconst-definition をコンマ(,)で区切って指定します。
reconst-definition の記述形式については、入力ファイル情報オプション(-input)のreconstオペランド(reconst-definition の記述形式)を参照してください。
富士通COBOLファイルシステムの索引ファイルにおける、インデックスの作成方法を指定します。
記述形式
idxflag=index-flag
index-flag
インデックスの作成方法を指定します。
以下から選択して指定します。複数指定する場合は、続けて指定します。
index-flag | 意味 |
---|---|
c | インデックスに圧縮キー指定を示します。 |
r | レコードのデータ圧縮指定を示します。 |
出力ファイルが富士通COBOLファイルシステムの索引ファイルの場合に、インデックスフィールドを指定します。
富士通COBOLファイルシステムの索引ファイルの場合は、インデックスフィールドの指定が必要です。
記述形式
idxkey=index-key [ ,index-key ...]
index-key
インデックスフィールドを指定します。
主キー、副キーの順にコンマ(,)で区切って指定します。
index-key の記述形式
pos.len typ opt
pos
インデックスフィールドの位置をレコードの先頭を0としたバイト位置で指定します。
len
インデックスフィールドの長さをバイト数で指定します。
typ
インデックスフィールドのデータ形式を指定します。
指定可能なデータ形式と長さを以下に示します。
種類 | データ形式 | typ | 長さ(バイト) | 意味 | |
---|---|---|---|---|---|
文字 | ASCIIコード(注1) | asc | 1~254 | 富士通COBOLのCHARTYPE | |
Unicode UCS-2形式(注2)(注3) | uc2 | 2~254 | 富士通COBOLのCHARTYPE | ||
Big endian | u2b | 2~254 | 富士通COBOLのCHARTYPE | ||
Little endian | u2l | 2~254 | 富士通COBOLのCHARTYPE | ||
Unicode UTF-32形式(注2)(注4) | u32 | 4~252 | 富士通COBOLのCHARTYPE | ||
Big endian | u3b | 4~252 | 富士通COBOLのCHARTYPE | ||
Little endian | u3l | 4~252 | 富士通COBOLのCHARTYPE | ||
Unicode UTF-8形式(注2) | ut8 | 1~254 | 富士通COBOLのCHARTYPE |
注1) 入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。
注2) 入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外で、環境変数LANGがCまたはUTF-8のlocaleの場合に指定できます。
注3) バイトオーダーは環境変数BSORT_UCS2TYPEまたはスタートアップファイルのBSORT_UCS2TYPEの指定に従います。
注4) バイトオーダーは環境変数BSORT_UTF32TYPEまたはスタートアップファイルのBSORT_UTF32TYPEの指定に従います。
opt
インデックスフィールドの操作を指定します。
指定可能な操作を以下に示します。dとnを両方とも省略した場合は、dを指定したものとして動作します。主キーの終わり、および副キーの終わりには、eを指定します。
opt | 意味 |
---|---|
a | 昇順に並べます。 |
d | インデックスに重複キー指定を示します。 |
e | 主キー、および副キーの終わりを示します。 |
n | インデックスにユニークキー指定を示します。 |
記述例
例
富士通COBOLファイルシステムの索引ファイルで主キーを2つ、副キーを2つ指定する場合は、以下のように指定します。この場合、「10.8asca」および「20.8asca」が主キー、「50.8asca」および「60.8asca」が副キーとなります。
idxkey=10.8asca,20.8ascae,50.8asca,60.8ascae
出力ファイル内のレコード分離文字を指定します。
テキストファイルのときに有効です。
記述形式
linedlmt=line-delimiter
line-delimiter
出力ファイル内のレコード分離文字を指定します。
指定可能なレコード分離文字を以下に示します。省略時は、入力ファイル内のレコード分離文字と同じになります。
line-delimiter | 意味 |
---|---|
crlf | CRLFをレコード分離文字として扱います。 |
cr | CRをレコード分離文字として扱います。 |
lf | LFをレコード分離文字として扱います。 |
参考
入力ファイル内のレコード分離文字は、入力ファイル内から自動的に判断します。
注意
PowerSORTでは、改行コードは1種類に統一されている必要があります。複数の改行コードが混在している場合の動作は保証できません。
出力ファイルがテキストファイルの場合に、EOF制御文字を取り除きます。
記述形式
removeeof