# 結合ファイル分解コマンド

結合して転送されたファイルを分解して別々のファイルに出力することができます。ファイルに出力するときは、結合したときの情報と指定したパラメーターに基づき、コード変換などを行いながら分解します。

## プログラムインターフェイス

    CALL ライブラリー名/UTLBREAK PARM(['LIB=ライブラリー名'] 'INFILE=filename'
       ['OUTLIB=library'] {{{['SEQNBR=number']|['TGTFILE=filename']}
       ['OUTFILE=filename'] ['RCDSIZE=recordsize']}|
       {['FROM=number'] ['TO=number'] ['RCDSIZE=recordsize']}}
       ['CODESET=0|A|B|C|D|E|F|G|H|I|V|W|X'] ['SHIFT=Y|N'] ['R'] ['TABCHG=0|1']
       ['B'] ['G'] ['OUTPUT=filename'] ['EXIT' CL変数名])

## パラメーター説明

LIB=ライブラリー名

  HULFTがインストールされているライブラリー名（省略時値 HULFT）

  先頭英字の10バイト以内の英数字で指定します。

INFILE=infile

  結合ファイル名（省略不可）

  「ライブラリー名/ファイル名(メンバー名)」の形式で指定します。

OUTLIB=library

  分解ファイルを出力するライブラリー名（省略可）

  先頭英字の10バイト以内の英数字で指定します。

SEQNBR=number

  結合ファイル中の順序番号指定による分解（省略可）

  “1”から“9999”までの範囲の番号を指定します。

  パラメーター「OUTFILE=」を省略すると、結合ファイルを元に出力ファイル名を自動生成します。詳細は「出力ファイル命名規約」を参照してください。

  パラメーター「SEQNBR=」を省略する場合は、パラメーター「TGTFILE=」、「FROM=」、または「TO=」のいずれかを必ず指定してください。

TGTFILE=filename

  結合ファイル中のファイル名指定による分解（省略可）

  パラメーター「OUTFILE=」を省略すると、結合ファイルを元に出力ファイル名を自動生成します。詳細は「出力ファイル命名規約」を参照してください。

  パラメーター「TGTFILE=」の指定は、結合ファイル内容表示の際に出力されるファイル名を指定してください。詳細は「結合ファイル内容表示コマンド」を参照してください。

  パラメーター「TGTFILE=」を省略する場合は、パラメーター「SEQNBR=」、「FROM=」、または「TO=」のいずれかを必ず指定してください。

OUTFILE=filename

  分解ファイルのファイル名（省略可）

  「ライブラリー名/ファイル名(メンバー名)」の形式で指定します。

  省略すると、結合ファイルを元に出力ファイル名を自動生成します。詳細は「出力ファイル命名規約」を参照してください。

RCDSIZE=recordsize

  分解ファイルのレコード長（省略可）

  “1”から“32766”までの間で指定します。

  UNIX、Windowsにてファイルタイプに「バイナリー形式」を指定して作成した結合ファイルを分解する場合、省略できません。

FROM=number TO=number

  結合ファイル中の順序番号の範囲指定による分解（省略可）

  “1”から“9999”までの間で指定します。

  パラメーター「FROM=」を省略した場合は、パラメーター「TO=」で指定した番号までのすべての番号が対象になります。

  パラメーター「TO=」を省略した場合は、パラメーター「FROM=」で指定した番号以降のすべての番号が対象になります。

  結合ファイルを元に出力ファイル名を自動生成します。詳細は「出力ファイル命名規約」を参照してください。

  パラメーター「FROM=」を省略する場合は、パラメーター「SEQNBR=」、「TGTFILE=」、または「TO=」のいずれかを必ず指定してください。

  パラメーターは「TO=」を省略する場合は、パラメーター「SEQNBR=」、「TGTFILE=」、または「FROM=」のいずれかを必ず指定してください。

RCDSIZE=recordsize

  分解ファイルのレコード長（省略可）

  “1”から“32766”までの間で指定します。

  UNIX、Windowsにてファイルタイプに「バイナリー形式」を指定して作成した結合ファイルを分解する場合、省略できません。

CODESET=0|A|B|C|D|E|F|G|H|I|V|W|X

  EBCDICセット（省略可）

  0

    : 自動

  A

    : EBCDICカナ文字

  B

    : EBCDIC英小文字

  C

    : EBCDIC ASCII

  D

    : EBCDIC ASPEN

  E

    : IBM英小文字

  F

    : IBM英小文字拡張

  G

    : NECカナ文字

  H

    : IBMカナ文字拡張

  I

    : 中国語簡体字拡張

  V

    : ユーザーテーブル1

  W

    : ユーザーテーブル2

  X

    : ユーザーテーブル3

  省略すると“0”が設定されます。

SHIFT=Y|N

  2バイトコード変換時のシフトコードの扱い（省略可）

  Y

    : シフトコードを付加する

  N

    : シフトコードを付加しない

  省略すると“Y”が設定されます。

R

  出力先ファイルの置換（省略可）

  省略すると分解ファイルと同名のファイルが存在した場合にエラーとなります。

TABCHG=0|1

  Shift-JIS、EUC-JP、UTF-8、およびGB18030からのコード変換のタブの扱い（省略可）

  0

    : EBCDICコードのスペース（0x40）に変換

  1

    : 無変換（0x09のまま）

  省略すると“0”が設定されます。

  以下の組み合わせの場合に、設定値が有効となります。

  分解側ホストの転送コードセット（CS4TRNSFR） | 結合側ホストの転送コードセット
  --- | ---
  IBM漢字 | Shift-JIS、EUC-JP、UTF-8
  IBM簡体字 | GB18030、UTF-8

B

  分解時のメッセージの出力抑制（省略可）

  省略すると分解が完了するごとにメッセージを出力します。

G

  結合ファイル分解コマンドが出力するエラーメッセージの表示抑制（省略可）

  省略するとエラーメッセージが表示されます。

OUTPUT=filename

  結合ファイル分解コマンドが出力するエラーメッセージの出力先（省略可）

  「ライブラリー名/ファイル名(メンバー名)」の形式で指定します。

  省略するとエラーメッセージは出力されません。

  ログファイルのレコード保持件数は無制限です。

EXIT CL変数名

  結合ファイル分解コマンドが出力するエラーコードの受け取りとCL変数名（省略可）

  EXITとCL変数名は連続して指定してください。

  異常終了の場合のみ、エラーコードをCL変数へセットします。

  省略するとエラーコードはセットされません。

注意

- パラメーター「SEQNBR=」、「TGTFILE=」と、パラメーター「FROM=」、「TO=」は同時に指定できません。

- パラメーター「OUTFILE=」は「SEQNBR=」または「TGTFILE=」と組み合わせて使用します。パラメーター「FROM=」、「TO=」指定時は使用することはできません。

- パラメーター「SEQNBR=」、「TGTFILE=」、「FROM=」、または「TO=」のいずれかを必ず指定してください。

- パラメーター「RCDSIZE=」が小さいと、データによってはオーバーフローして書き込みエラーになる場合があります。余裕を持った指定を行ってください。

- ファイル名に2バイトコードが含まれるファイルを結合した場合、結合時のファイル名を分解時の出力ファイル名として利用できません。

  必ず出力ファイル名（OUTFILE）を指定して分解してください。

- パラメーター「CODESET=」を省略または“0（自動）”が設定された場合、分解するときに使用されるEBCDICセットの値は、以下のように決定されます。

  表6.1 自動的に決定されるEBCDICセットの値

  自ホストの転送コードセット | 相手ホストの転送コードセット
  --- | ---
  UTF-8 | SHIFT-JIS | EUC-JP | GB18030 | IBM漢字 | JEF | IBM簡体字
  IBM漢字 | F | F | F | × | F | F | ×
  IBM簡体字 | I | × | × | I | × | × | I

  × : 結合ファイル分解時にコード変換できない組み合わせ

  F : IBM英小文字拡張

  I : 中国語簡体字拡張

  分解側ホストのコードセットを登録するシステム動作環境設定の転送コードセット（CS4TRNSFR）の詳細は、以下を参照してください。

  HULFT10 for IBMi アドミニストレーション マニュアル : コード変換関連設定

  結合側ホストのコードセットは、結合側ホストのシステム動作環境設定の転送コードセットで設定します。詳細は、結合側ホストの以下を参照してください。

  HULFT10 for Windows アドミニストレーション マニュアル : コード変換

  HULFT10 for Linux/AIX アドミニストレーション マニュアル : コード変換

  HULFT10 for IBMi アドミニストレーション マニュアル : コード変換関連設定

= 備考 =

- パラメーター「SEQNBR=」、「TGTFILE=」をあわせて最大10回まで指定できます。

- パラメーター「OUTLIB=」を省略すると、結合ファイルの存在するライブラリーを出力先ライブラリーとして使用します。パラメーター「OUTFILE=」が指定されている場合は、そちらの指定が有効になります。

## コマンドインターフェイス

    UTLBREAK JOINFILE( ) JOINMBR( ) OUTLIB( ) FROMTO((firstnum lastnum recordlen))
       SEQNBR((number file member recordlen)) TGTFILE((targetfile file member recordlen))
       CODESET( ) SHIFT( ) REP( ) TAB( ) BLD( )
       LIBRARY( ) MSG( ) FILE( ) MBR( )

## パラメーター説明

JOINFILE

  結合ファイルのライブラリー名とファイル名（省略不可）

  「ライブラリー名/ファイル名」の形式で指定します。

  それぞれ先頭英字の10バイト以内の英数字で指定します。

JOINBR

  結合ファイルのメンバー名（省略不可）

  先頭英字の10バイト以内の英数字で指定します。

OUTLIB

  分解ファイルを出力するライブラリー名（省略可）

  先頭英字の10バイト以内の英数字で指定します。

FROMTO

  結合ファイル中の順序番号の範囲指定による分解（省略可）

  このパラメーターを省略する場合は、パラメーター「SEQNBR」または「TGTFILE」のいずれかを必ず指定してください。

  firstnum

    起点となる順序番号

    “1”から“9999”までの間で指定します。

  lastnum

    終点となる順序番号

    “1”から“9999”までの間で指定します。

  recordlen

    分解ファイルのレコード長

    “1”から“32766”までの間で指定します。

    UNIX、Windowsにてファイルタイプに「バイナリー形式」を指定して作成した結合ファイルを分解する場合、省略できません。

SEQNBR

  結合ファイル中の順序番号指定による分解（省略可）

  このパラメーターを省略する場合は、パラメーター「TGTFILE」または「FROMTO」のいずれかを必ず指定してください。

  number

    結合ファイル中の順序番号

    “1”から“9999”までの間で指定します。

  file

    分解ファイルのライブラリー名とファイル名

    「ライブラリー名/ファイル名」の形式で指定します。それぞれ先頭英字の10バイト以内の英数字で指定します。

  member

    分解ファイルのメンバー名（省略時値 *FILE）

    先頭英字の10バイト以内の英数字で指定します。

  recordlen

    分解ファイルのレコード長

    “1”から“32766”までの間で指定します。UNIX、Windowsにてファイルタイプに「バイナリー形式」を指定して作成した結合ファイルを分解する場合、省略できません。

  = 備考 =

  「SEQNBR」と「TGTFILE」をあわせて最大10回まで指定できます。

TGTFILE

  結合ファイル中のファイル名指定による分解（省略可）

  このパラメーターを省略する場合は、パラメーター「FROMTO」または「SEQNBR」のいずれかを必ず指定してください。

  targetfile

    指定ファイルのライブラリー名とファイル名

    「ライブラリー名/ファイル名」の形式で指定します。それぞれ先頭英字の10バイト以内の英数字で指定します。

  file

    分解ファイルのライブラリー名とファイル名

    「ライブラリー名/ファイル名」の形式で指定します。それぞれ先頭英字の10バイト以内の英数字で指定します。

  member

    分解ファイルのメンバー名（省略時値 *FILE）

    先頭英字の10バイト以内の英数字で指定します。

  recordlen

    分解ファイルのレコード長

    “1”から“32766”までの間で指定します。UNIX、Windowsにてファイルタイプに「バイナリー形式」を指定して作成した結合ファイルを分解する場合、省略できません。

  = 備考 =

  「SEQNBR」と「TGTFILE」のをあわせて最大10回まで指定できます。

CODESET

  EBCDICセット（省略時値 0）

  0

    : 自動

  A

    : EBCDICカナ文字

  B

    : EBCDIC英小文字

  C

    : EBCDIC ASCII

  D

    : EBCDIC ASPEN

  E

    : IBM英小文字

  F

    : IBM英小文字拡張

  G

    : NECカナ文字

  H

    : IBMカナ文字拡張

  I

    : 中国語簡体字拡張

  V

    : ユーザーテーブル1

  W

    : ユーザーテーブル2

  X

    : ユーザーテーブル3

SHIFT

  2バイトコード変換時のシフトコードの扱い（省略時値 Y）

  N

    : シフトコードを付加しない

  Y

    : シフトコードを付加する

REP

  出力先ファイルの置換（省略時値 N）

  N

    : ファイルが既に存在する場合、エラーになる

  Y

    : ファイルが既に存在する場合、置換えを行う

TAB

  Shift-JIS、EUC-JP、UTF-8、およびGB18030からのコード変換のタブの扱い（省略時値 0）

  0

    : EBCDICコードのスペース（0x40）に変換

  1

    : 無変換（0x09のまま）

  以下の組み合わせの場合に、設定値が有効となります。

  分解側ホストの転送コードセット（CS4TRNSFR） | 結合側ホストの転送コードセット
  --- | ---
  IBM漢字 | Shift-JIS、EUC-JP、UTF-8
  IBM簡体字 | GB18030、UTF-8

BLD

  分解時のメッセージの出力抑制（省略時値 Y）

  N

    : メッセージを出力しない

  Y

    : 分解が完了するごとにメッセージを出力する

LIBRARY

  HULFTがインストールされているライブラリー名（省略時値 HULFT）

  先頭英文字の10バイト以内の英数字で指定します。

MSG

  エラーメッセージの表示抑制（省略時値 *YES）

  *NO

    : エラーメッセージを表示しない

  *YES

    : エラーメッセージを表示する

FILE

  エラーメッセージ出力先ファイルのライブラリー名とファイル名（省略可）

  「ライブラリー名/ファイル名」の形式で指定します。

  それぞれ先頭英字の10バイト以内の英数字で指定します。

  省略するとエラーメッセージは出力されません。ログファイルのレコード保持件数は無制限です。

MBR

  エラーメッセージ出力先ファイルのメンバー名（省略時値 *FILE）

  先頭英字の10バイト以内の英数字で指定します。

## 出力ファイル命名規約

分解時に出力ファイル名を省略した場合は、結合ファイルの作成機種により、以下の命名規約に従ってファイルが自動生成されます。

- 結合ファイル作成機種がUNIXの場合

  結合ファイル作成時の入力ファイル名 | 出力ファイル名
  --- | ---
  /TEST1/TEST2/TEST3.TXT | ライブラリー名/TXT(TEST3)
  ../TEST1/TEST2/TEST3 | ライブラリー名/TEST3(TEST3)

- 結合ファイル作成機種がWindowsの場合

  結合ファイル作成時の入力ファイル名 | 出力ファイル名
  --- | ---
  C:\TEST1\TEST2\TEST3.TXT | ライブラリー名/TXT(TEST3)
  ..\TEST1\TEST2\TEST3 | ライブラリー名/TEST3(TEST3)

- 結合ファイル作成機種がIBM iの場合

  結合ファイル作成時の入力ファイル名 | 出力ファイル名
  --- | ---
  MYLIB/TXT(TEST) | ライブラリー名/TXT(TEST)

- 結合ファイル作成機種がMainframeの場合

  結合ファイル作成時の入力ファイル名 | 出力ファイル名
  --- | ---
  編成ファイル ：TEST1.TEST2.TEST3.TXT | ライブラリー名/TXT(TEST3)
  区分編成ファイル ：TEST1.TEST2.TEST3(TXT) | ライブラリー名/TEST3(TXT)

注意

上記の変換規則が適用されるのは、ファイル名、メンバー名として使用する部分が、以下の条件を満たしている場合に限ります。

- すべて1バイトコードである。

- 先頭に用いられている文字が「A～Z」、「#」、「@」である。

- 2バイト目以降に用いられている文字が「A～Z」、「#」、「@」、「0～9」、「_」、「.」である。

- 10バイト以内である。

上記規則に従っていない場合は、以下の変換規則が用いられます。

- ファイル名は入力ファイル名（=結合ファイル）のものを使用する。

- メンバー名は、該当する部分に抜き出されるファイルの順序番号を4桁表示で付加したものを使用する（該当する部分の長さが6バイトを超える場合は、先頭6バイトに順序番号4桁を付加したものを使用）。

  例）

    入力ファイルが「MYLIB/JOIN(TEST)」、5番目のファイルを分解した時にファイル名が規則に従っていない場合

        ライブラリー名/JOIN(TEST0005)

## 記述例

- 順序番号による指定

      CALL HULFT/UTLBREAK PARM('INFILE=MYLIB/JOIN1(DATA)' 'SEQNBR=1'
         'OUTFILE=MYLIB/BREAK1(DATA1)' 'SEQNBR=3' 'OUTFILE=MYLIB/BREAK1(DATA3)')

      CALL HULFT/UTLBREAK PARM('INFILE=MYLIB/JOIN2(DATA)' 'SEQNBR=1' 'SEQNBR=3'
         'OUTLIB=MYLIB')

- ファイル名による指定

      CALL HULFT/UTLBREAK PARM('INFILE=MYLIB/JOIN3(DATA)'
         'TGTFILE=TESTLIB/TEST3(MBR3)' 'OUTFILE=MYLIB/BREAK3(DATA3)')

      CALL HULFT/UTLBREAK PARM('INFILE=MYLIB/JOIN4(DATA)'
         'TGTFILE=TESTLIB/TEST4(MBR4A)' 'TGTFILE=TESTLIB/TEST4(MBR4B)'
         'OUTLIB=MYLIB' 'R')

- 順序番号の範囲による指定

      CALL HULFT/UTLBREAK PARM('INFILE=MYLIB/JOIN5(DATA)' 'FROM=1' 'TO=10'
         'OUTLIB=MYLIB' 'R')