ソートマージ


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バイトとなります。

  • 改行文字の長さはレコード長に含めません。