5.8.7 recsepaオペランド
- 意味
-
テキストファイルおよびCSVファイルの入力レコードの改行文字を指定します。
このオペランドは,テキストファイルまたはCSVファイルを指定した場合だけ有効です。固定長順編成ファイル,または可変長順編成ファイルを指定した場合は,KBLS2200-Eエラーとなります。
オペランド省略時のデフォルト値を,環境ファイル「EXS_RECSEPA」で指定できます。
- 形式
recsepa=record-separator-type
- 指定値
-
record-separator-typeに指定する値を次の表に示します。
指定値
意味
CRLF
CRLFを改行とする。
LF
LFを改行とする。
LFCRLF
LFとCRLFの両方を改行として扱う。
環境ファイル「EXS_RECSEPA」およびこのオペランドの両方を省略した場合,改行文字にLFを仮定します。
- 注意事項
-
-
「recsepa=LF」を指定している場合に,改行文字がCRLFである入力レコードを処理すると,CRは入力データとして扱われます。例えば,CSVファイルの入力データを「1,2改行(CRLF)」とした場合,セル1=「1」,セル2=「2CR」となります。
-
「recsepa=CRLF」を指定している場合に,改行文字がLFである入力レコードを処理すると,LFは改行文字と見なされないで,入力データとして扱われます。CRLFを検出するまで,複数のレコードが1レコードと解釈されることになるので注意してください。
-
「recsepa=LFCRLF」指定では,入力レコードごとの改行文字を自動的に判定します。入力ファイルの改行文字の種別が不明な場合,またはLFとCRLFが混在している入力ファイルの場合に指定してください。
-
UNIXの64ビット版(環境変数「EXSORT64MAXRECLEN」の指定がない,または無効の場合),UNIXの32ビット版,およびWindows版の場合,codetypeオペランドに指定した入力データのエンコード種別によって,改行文字の長さと最大レコード長が異なります。codetypeオペランドについては「5.8.13 codetypeオペランド」を参照してください。
エンコード
種別
改行文字のコード
テキスト・CSVファイルの最大レコード長
CR
LF
改行文字がLFの場合
改行文字がCRLFの場合
ASCII
0x0d
0x0a
65,535
65,534
SJIS
EUC-JP
EUC-HJ
UTF-8
UCS-2LE
0x0d00
0x0a00
65,534
65,532
UTF-16LE
UCS-2BE
0x000d
0x000a
UTF-16BE
UCS-4LE
0x0d000000
0x0a000000
65,532
65,528
UTF-32LE
UCS-4BE
0x0000000d
0x0000000a
UTF-32BE
-
UNIXの64ビット版で環境変数「EXSORT64MAXRECLEN」の指定がある場合,レコード長の上限値は,codetypeオペランドに指定した入力データのエンコードの種別や改行文字のコードに関係なく,65,535バイトとなります。
-
改行文字の長さはレコード長に含めません。
-