結合ファイル分解

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

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

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

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|C|S'] ['R'] ['TABCHG=0|1'] 
   ['B'] ['G'] ['OUTPUT=filename'] ['EXIT' CL変数名])

パラメータ説明

LIB=ライブラリ名

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

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

INFILE=infile

結合ファイル名(省略不可)

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

OUTLIB=library

分解ファイルを出力するライブラリ名(省略可)

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

SEQNBR=number

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

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

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

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

TGTFILE=filename

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

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

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

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

OUTFILE=filename

分解ファイルのファイル名(省略可)

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

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

RCDSIZE=recordsize

分解ファイルのレコード長(省略可)

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

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

FROM=number TO=number

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

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

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

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

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

パラメータ「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|C|S

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

Y

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

N

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

C

: シフトコードをカット

S

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

省略すると、システム動作環境設定の転送コードセット(CS4TRNSFR)の値により、以下のとおり設定されます。

システム動作環境設定の転送コードセット(CS4TRNSFR)が“IBM漢字”または“IBM簡体字”の場合:“Y”

システム動作環境設定の転送コードセット(CS4TRNSFR)が“UTF-8”の場合:“C”

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

システム動作環境設定の転送コードセット(CS4TRNSFR)が“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 KEIS NEC漢字 IBM簡体字
    IBM漢字 F F F × F F F F ×
    UTF-8 F A D G I
    IBM簡体字 I × × I × × × × I

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

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

    A : EBCDICカナ文字

    D : EBCDIC ASPEN

    F : IBM英小文字拡張

    G : NECカナ文字

    I : 中国語簡体字拡張

     

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

    結合側ホストのコードセットは、結合側ホストのシステム動作環境設定の転送コードセットで設定します。詳細は、結合側ホストの「アドミニストレーション マニュアル」を参照してください。

= 備考 =
  • パラメータ「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バイトコード変換時のシフトコードの扱い

(省略時値 IBM漢字またはIBM簡体字の場合 Y、UTF-8の場合 C)

N

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

Y

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

C

: シフトコードをカット

S

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

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

システム動作環境設定の転送コードセット(CS4TRNSFR)が“UTF-8”の場合は有効になりません。

BLD

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

N

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

Y

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

LIBRARY

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

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

MSG

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

*NO

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

*YES

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

FILE

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

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

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

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

MBR

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

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

(2) 出力ファイル命名規約

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

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

(3) 記述例

順序番号による指定

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')