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

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

## コマンド形式

    utlbreak -infile filename [-codeset {0|a-i|v-x}] [-shift c|s] [-r] [-b]
            {[-seqnbr number [-outfile filename]...]
            |[-tgtfile filename [-outfile filename]...]
            |[-from number] [-to number] [-dir directory]}

## パラメーター説明

-infile filename

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

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

  相対パス、絶対パスのどちらの指定も可能です。

-codeset

  EBCDICセット（省略可）

  0

    : 自動

  a

    : カナ文字（EBCDICカナ文字）

  b

    : 英小文字（EBCDIC英小文字）

  c

    : ASCII（EBCDIC-ASCII）

  d

    : ASPEN（EBCDIC-ASPEN）

  e

    : IBM英小文字

  f

    : IBM英小文字拡張

  g

    : NECカナ文字

  h

    : IBMカナ文字拡張

  i

    : 中国語簡体字拡張

  v

    : ユーザーテーブル1

  w

    : ユーザーテーブル2

  x

    : ユーザーテーブル3

  省略すると“0（自動）”が設定されます。

  = 備考 =

  “d（ASPEN）”および“g（NECカナ文字）”は非推奨です。“d（ASPEN）”または“g（NECカナ文字）”を使用したファイルは分解できない可能性があります。“d（ASPEN）”または“g（NECカナ文字）”を使用したファイルは他の機種で分解してください。

  詳細は、以下を参照してください。

  HULFT10 新機能・非互換説明書 : EBCDICセットの「NECカナ文字」および「ASPEN」

-shift

  コード変換時のシフトコードの扱いを指定（省略可）

  c

    : シフトコードをカット

  s

    : シフトコードをスペース（ASCII:0x20）に変換

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

-r

  出力先ファイルを置き換え（省略可）

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

-b

  分解時のメッセージを出力しない（省略可）

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

-seqnbr number -outfile filename

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

  「-seqnbr」で“1”～“9999”の範囲で番号を指定します。

  「-outfile」で出力ファイル名を256バイト以内の英数字で指定します。

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

  最大10回繰り返して指定できます。

-tgtfile filename -outfile filename

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

  「-tgtfile」でファイル名を256バイト以内で指定します。

  「-outfile」で出力ファイル名を256バイト以内の英数字で指定します。

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

  最大10回繰り返して指定できます。「-tgtfile」の指定は、結合ファイル内容を表示するときに出力されるファイル名を指定してください。詳細は「結合ファイル内容表示コマンド」を参照してください。

-from number -to number

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

  “1”～“9999”の範囲で指定します。

  「-from」を省略すると、「-to」で指定した番号までのすべての番号が対象になります。

  「-to」を省略すると、「-from」で指定した番号以降のすべての番号が対象になります。

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

-dir directory

  分解ファイルの生成ディレクトリー（省略可）

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

  省略すると、結合ファイルが存在するディレクトリーに分解します。

  「-outfile」が指定されている場合は、そちらの指定が有効になります。

## 注意事項

- 「-seqnbr」、「-tgtfile」と「-from -to」は同時に指定することはできません。

- 「-outfile」は「-seqnbr」または「-tgtfile」と組み合わせて使用します。

  「-from -to」指定時は使用することはできません。

- 「-seqnbr」、「-tgtfile」、「-from -to」のいずれかを必ず指定してください。

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

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

  分解側ホストの転送コードセット | 結合側ホストの転送コードセット
  --- | ---
  UTF-8 | SHIFT-JIS | EUC-JP | GB18030 | IBM 漢字 | JEF | IBM 簡体字
  SHIFT-JIS | － | － | － | × | F | A | ×
  EUC-JP | － | － | － | × | F | A | ×
  UTF-8 | － | － | － | － | F | A | I
  GB18030 | － | × | × | － | × | × | I

  － | : | EBCDICセットの値は、結合ファイル分解時のコード変換で使用されない
  × | : | 結合ファイル分解時にコード変換できない組み合わせ
  A | : | EBCDICカナ文字
  F | : | IBM英小文字拡張
  I | : | 中国語簡体字拡張

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

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

  結合側ホストのコードセットを登録する転送コードセット（KCODETYPE）の詳細は、「詳細ホスト情報」を参照してください。

- 結合ファイル名にマルチバイトコードが含まれている場合、ファイルを分解するときにエラーとなります。

- 結合ファイル内にマルチバイトコードが含まれるファイル名が存在する場合は、必ず出力ファイル名を指定（-outfile）して分解してください。

- HULFT10のEnterpriseグレードを導入した環境で扱うネットワークファイルに対して、結合ファイル分解コマンドを使用することはできません。

## 補足

- 「-dir」を指定すると、指定したディレクトリーの下に出力ファイルを作成します。

  「-dir」を省略すると、結合ファイルのあるディレクトリーに作成します。

- 「-seqnbr」と「-tgtfile」をあわせて最大10回まで指定できます。

- システム動作環境設定の転送関連ファイルの削除モード（trnsfr_file_del）に“復元不可能モード（1）”を指定していた場合、処理中に分解したデータを削除する必要があるときは、復元不可能な状態で削除されます。

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

結合ファイルを分解するときに出力ファイル名を省略すると、結合ファイルの作成機種により、以下のように出力ファイル名が生成されます。

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

  結合ファイル作成時の入力ファイル名 | 出力ファイル名
  --- | ---
  /test1/test2/test3.txt | test3.txt
  ../test1/test2/TEST3.txt | TEST3.txt
  test1.txt | test1.txt

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

  結合ファイル作成時の入力ファイル名 | 出力ファイル名
  --- | ---
  c:\test1\test2\test3.txt | test3.txt
  ..\test1\test2\TEST3.txt | TEST3.txt
  test1.txt | test1.txt

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

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

  注意

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

  - ライブラリ名/ファイル（メンバー名）の形式でそれぞれが10バイト以内で記述されていること。

  上記の変換規則に従っていない場合は、入力ファイル名に4桁の順序番号を付加したファイル名となります。

      <入力ファイル名>.<順序番号>

  たとえば、入力ファイル名がtest.join、5番目のファイルを分解したときにファイル名が規則に従っていない場合のファイル名は、「test.join.0005」となります。

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

  ファイル編成 | 結合ファイル名 | 出力ファイル名
  --- | --- | ---
  順編成ファイル | TEST1.TEST2.TEST3.TXT | TEST1.TEST2.TEST3.TXT
  区分編成ファイル | TEST1.TEST2.TXT(TEST3) | TEST1.TEST2.TEST3.TXT

  注意

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

  - 順編成ファイルは44バイト以内、区分編成ファイルは54バイト以内、ただし、データセット名は「<8バイト以内>.<8バイト以内>.……」の形式で記述されていること。

  上記の変換規則に従っていない場合は、結合ファイル名に4桁の順序番号を付加したファイル名となります。

      <結合ファイル名>.<順序番号>

  たとえば、結合ファイル名がtest.join、5番目のファイルを分解したときにファイル名が規則に従っていない場合のファイル名は、「test.join.0005」となります。

## 記述例

- 順序番号による指定

      utlbreak -infile /hulft/data/join01.dat -seqnbr 1 -outfile break01.dat
                   -seqnbr 3 -outfile break03.dat
      utlbreak -infile /hulft/data/join01.dat -r -seqnbr 1 -seqnbr 3
                   -dir /hulft/data/out

- ファイル名による指定

      utlbreak -infile /hulft/data/join01.dat -tgtfile /home/hulft/test1.txt
                   -outfile break01.dat
      utlbreak -infile /hulft/data/join01.dat -r -tgtfile test1.txt
                   -tgtfile test2.txt -dir /hulft/data/out

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

      utlbreak -infile /hulft/data/join01.dat -r -from 1 -to 10
                   -dir /hulft/data/out