ソートマージ


5.24.2 {suffix|prefix}オペランド

意味
suffixオペランド:

分割後の出力ファイル名の末尾,または出力ファイルを格納するディレクトリ名を指定します。

prefixオペランド:

分割後の出力ファイル名の先頭,または出力ファイルを格納するディレクトリ名を指定します。

形式
{suffix|prefix}={output-generic-nameoutput-directory-name}
指定値
output-generic-name
  • 分割後の出力ファイル名の総称(先頭または末尾)を指定します。

  • 出力ファイル名の総称(先頭または末尾)には,分割後の出力ファイルを格納するディレクトリ名とつなげて指定できます。

  • UNIXの場合,prefixオペランドには,先頭がピリオド(.)で始まるファイル名を指定することはできません。

output-directory-name
  • 分割後の出力ファイルを格納するディレクトリ名を指定します。

  • 指定値の末尾はパス区切り記号を指定してください。パス区切り記号の指定がない場合は,出力ファイル名の先頭として扱います。

  • 分割後の出力ファイル名の先頭または末尾は,入力ファイル名となります。

注※

UNIXの場合はスラッシュ(/),Windowsの場合は円記号(\)がパス区切り記号です。

出力ファイル名の名称規則
  1. 分割キー以外による分割,または分割キーによる分割で環境変数「EXSORTSPLITNUMBONE(64ビット版は「EXSORT64SPLITNUMBONE」)」=YES指定時

    suffixオペランド指定時

    追番_入力ファイル名または出力ファイル名の末尾

    prefixオペランド指定時

    入力ファイル名または出力ファイル名の先頭_追番
  2. 分割キーによる分割で,環境変数「EXSORTSPLITNUMBONE(64ビット版は「EXSORT64SPLITNUMBONE」)」指定なし

    suffixオペランド指定時

    追番1_追番2_・・・_追番n_[recno追番_]入力ファイル名または出力ファイル名の末尾

    prefixオペランド指定時

    入力ファイル名または出力ファイル名の先頭_追番1_追番2_・・・_追番n[_recno追番]
  • 追番は,1から分割したファイル数までの値を,8桁の固定長の数字で示します。値は分割ごとに+1します。

    注※

    環境変数「EXSORTFILESPLITNUMB(64ビット版は「EXSORT64FILESPLITNUMB」)」で追番の桁数を指定できます。この環境変数を省略した時は,8桁を仮定します。

  • 追番1,追番2,…追番nは,分割キーで分割した場合の追番となります。nは指定された分割キーまたは分割CSVキーの数となります。

  • recno追番は,-splitkeyパラメタのrecnoオペランドまたはspnoオペランドを指定した場合の追番となります。

  • 出力ファイル名長がシステムの上限を超過する場合は,KBLS2021-Eエラーとなります。

指定例
  1. カレントディレクトリへ,ファイル名「出力ファイル名の先頭_追番」のファイルを三つ出力。

    <パラメタ>
    -splitinp file=splitIN ...
    -splitout prefix=splitOUT
    -splitfile fileno=3
        :
    <カレントディレクトリ>
    /sortee/exework1
    <出力ファイル>
    /sortee/exework1/splitOUT_00000001
    /sortee/exework1/splitOUT_00000002
    /sortee/exework1/splitOUT_00000003

    注※

     -splitoutパラメタはファイル名の先頭を指定してください。

  2. カレントディレクトリへ,ファイル名「追番_出力ファイル名の末尾」のファイルを三つ出力。

    <パラメタ>
    -splitinp file=splitIN ...
    -splitout suffix=splitOUT
    -splitfile fileno=3
        :
    <カレントディレクトリ>
    /sortee/exework1
    <出力ファイル>
    /sortee/exework1/00000001_splitOUT
    /sortee/exework1/00000002_splitOUT
    /sortee/exework1/00000003_splitOUT

    注※

     -splitoutパラメタはファイル名の末尾を指定してください。

  3. カレントディレクトリへ,ファイル名「入力ファイル名_追番」のファイルを三つ出力。

    <パラメタ>
    -splitinp file=splitIN ...
    -splitfile fileno=3
       :
    <カレントディレクトリ>
    /sortee/exework1
    <出力ファイル>
    /sortee/exework1/splitIN_00000001
    /sortee/exework1/splitIN_00000002
    /sortee/exework1/splitIN_00000003

    注※

     -splitoutパラメタは省略してください。

  4. 指定された出力ファイル格納ディレクトリへ,ファイル名「追番_出力ファイル名の末尾」のファイルを二つ出力。

    <パラメタ>
    -splitinp file=splitIN ...※1
    -splitout※2 suffix=/sortee/workout2/splitA
    -splitdata recno=600
        :
    <カレントディレクトリ>
    /sortee/exework1
    <出力ファイル>
    /sortee/workout2/00000001_splitA※3
    /sortee/workout2/00000002_splitA

    注※1

     入力レコード件数は1,000件です。

    注※2

     -splitoutパラメタはファイル名の末尾をディレクトリ名と一緒に指定してください。

    注※3

     レコード数600件と,400件の分割ファイルを作成します。

  5. 指定された出力ファイル格納ディレクトリへ,ファイル名「追番_入力ファイル名」のファイルを二つ出力。

    <パラメタ>
    -splitinp file=splitIN ...※1
    -splitout※2 suffix=/sortee/workout1/
    -splitdata spno=1G
        :
    <カレントディレクトリ>
    /sortee/exework1
    <出力ファイル>
    /sortee/workout2/00000001_splitIN※3
    /sortee/workout2/00000002_splitIN

    注※1

     入力ファイルサイズは2GBです。

    注※2

     -splitoutパラメタはディレクトリ名を指定してください。

    注※3

     ファイルサイズ1GBの分割ファイルを二つ出力します。

  6. 指定された出力ファイル格納ディレクトリへ,ファイル名「追番1_追番2_recno追番_入力ファイル名」のファイルを六つ出力。

    <パラメタ>
    -splitinp file=splitIN ...
    -splitkey key=c+0-4 j+8-4 recno=100
    -splitout※1 suffix=/sortee/workout2/
    <カレントディレクトリ>
    /sortee/exework1
    <出力ファイル>
    /sortee/workout2/00000001_00000001_00000001_splitIN
    /sortee/workout2/00000001_00000001_00000002_splitIN※2
    /sortee/workout2/00000002_00000001_00000001_splitIN※3
    /sortee/workout2/00000003_00000001_00000001_splitIN
    /sortee/workout2/00000003_00000002_00000001_splitIN※4
    /sortee/workout2/00000003_00000002_00000002_splitIN

    注※1

     -splitoutパラメタはディレクトリ名を指定してください。

    注※2

     recnoよるrecno追番更新。

    注※3

     第1分割キーによる追番1更新。

    注※4

     第2分割キーによる追番2更新。

注意事項
  • suffixおよびprefixオペランドを省略した場合,出力ファイルディレクトリにカレントディレクトリを指定したものと仮定します。ファイル名「入力ファイル名_追番」の分割ファイルを,カレントディレクトリへ出力します。

  • 末尾にパス区切り記号が指定された場合は出力ファイル格納ディレクトリ名,パス区切り記号以外は出力ファイル名の総称指定として扱います。したがって,出力ファイル名の総称の末尾にパス区切り記号は指定できません。

  • 出力ファイル格納ディレクトリ名が存在しなかった場合,KBLS2021-Eメッセージでエラーとなります。

  • 追番の値が上限(8桁の場合は99,999,999)に達した場合,KBLS2020-Iメッセージを出力し,それ以降の分割は行いません。残りのレコードは最後の追番(8桁の場合は「99999999」)のファイルにすべて出力します。

  • 出力ファイル名にファイル拡張子は付加されません。

注※

UNIXの場合はスラッシュ(/),Windowsの場合は円記号(\)がパス区切り記号です。