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

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

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

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(自動)”が設定されます。

-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

    KEIS

    NEC
    漢字

    IBM
    簡体字

    SHIFT-JIS

    ×

    F

    A

    D

    G

    ×

    EUC-JP

    ×

    F

    A

    D

    G

    ×

    UTF-8

    F

    A

    D

    G

    I

    GB18030

    ×

    ×

    ×

    ×

    ×

    ×

    I

    :

    EBCDICセットの値は、結合ファイル分解時のコード変換で使用されない

    ×

    :

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

    A

    :

    EBCDICカナ文字

    D

    :

    EBCDIC-ASPEN

    F

    :

    IBM英小文字拡張

    G

    :

    NECカナ文字

    I

    :

    中国語簡体字拡張

    分解側ホストのコードセットを登録するシステム動作環境設定の転送コードセット(cs4trnsfr)の詳細は、「アドミニストレーション マニュアル」を参照してください。

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

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

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

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

補足

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

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

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

出力ファイル命名規約

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

結合ファイルの作成機種が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