PowerSORT V5.0 使用手引書
|
目次
索引

|
4.2.5.6 reconstオペランド
入力ファイルのレコード再編成機能を使用する場合に再編成フィールドを指定します。
入力ファイルのレコード再編成機能を使用する場合、キーフィールド、集約フィールド、出力の選択フィールドおよび出力の再編成フィールドは、入力レコード再編成後のフィールド位置を指定します。
■記述形式
reconst=reconst-definition |
◆reconst-definition
再編成フィールドを指定します。コンマ( , )で区切って複数のreconst-definition を指定できます。
以下にreconst-definition の記述形式を示します。
[reconst-definition の記述形式1]
記述形式1はレコードに存在するフィールドの指定を示します。
指定したフィールドが入力レコードに存在しない場合は、エラーになります。
[reconst-definition の記述形式2]
記述形式2は自己規定値の指定を示します。
[reconst-definition の記述形式3]
記述形式3は入力レコードの指定位置から終端までを再編成フィールドとする場合の指定を示します。長さの指定は不要です。
指定したフィールドが入力レコードに存在しない場合は、エラーになります。
◆pos
再編成フィールドの位置を指定します。
バイナリファイルとテキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定し、テキストファイル浮動フィールド指定の場合は、0から数えたフィールド番号を指定します。
◆len
再編成フィールドの長さをバイト数で指定します。
テキストファイル浮動フィールド指定の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。
バイナリファイルおよびテキストファイル固定フィールド指定の場合、レコード長を超えるフィールドを指定するとエラーになります。
◆self-def
自己規定値を指定します。
self-def の記述形式を以下に示します。
[self-def の記述形式1]
[self-def の記述形式2]
[self-def の記述形式3]
◆typ
自己規定値のデータ形式を指定します。
文字列、16進数 と10進数 のそれぞれで指定可能なデータ形式については、再編成フィールドの自己規定値に指定可能なデータ形式を参照してください。
◆END
'END'の固定文字列を指定します。
reconst-definition 記述上の注意事項
- オペランド引数で自己規定値を指定する場合の記述方法は使用するシェルにより異なります。代表的なシェルにおける記述例を以下に示します。なお、アーギュメントファイルオプション(-a)のアーギュメントファイルに記述する場合は、Bourneシェルの場合と同じ記述方法になります。
- Bourneシェルの場合
- オペランド引数で自己規定値の文字列を指定する場合は、オペランド引数全体をダブルクォーテーション( " )で囲みます。
例) 自己規定値として文字列ABCを指定する場合
reconst="'ABC'.3asc,0.10" |
- オペランド引数でダブルクォーテーション( " )を含んだ自己規定値の文字列を指定する場合は、ダブルクォーテーション( " )の前に円マーク(バックスラッシュ)を指定します。$、\、`など、シェルにより特別な意味を持つ文字も同様です。
例) 自己規定値として文字列"ABC"を指定する場合
reconst="'\"ABC\"'.5asc,0.10" |
- オペランド引数でクォーテーション( ' )を含んだ自己規定値の文字列を指定する場合は、クォーテーション( ' )を2つ続けて指定します。
例) 自己規定値として文字列'ABC'を指定する場合
reconst="'''ABC'''.5asc,0.10" |
- Cシェルの場合
- オペランド引数で自己規定値の文字列を指定する場合は、文字列の前後のクォーテーション( ' )の前に円マーク(バックスラッシュ)を指定します。
例) 自己規定値として文字列ABCを指定する場合
reconst=\'ABC\'.3asc,0.10 |
- オペランド引数でダブルクォーテーション( " )を含んだ自己規定値の文字列を指定する場合は、ダブルクォーテーション( " )の前に円マーク(バックスラッシュ)を指定します。$、&、(、)、|、\、`、{、}、;、*、<、>、?、空白など、シェルにより特別な意味を持つ文字も同様です。
例) 自己規定値として文字列"ABC"を指定する場合
reconst=\'\"ABC\"\'.5asc,0.10 |
- オペランド引数でクォーテーション( ' )を含んだ自己規定値の文字列を指定する場合は、クォーテーション( ' )の前に円マーク(バックスラッシュ)を付け、2つ続けて指定します。
例) 自己規定値として文字列'ABC'を指定する場合
reconst=\'\'\'ABC\'\'\'.5asc,0.10 |
- 自己規定値の10進数を指定する場合は、符号を指定できます。
- ASCIIコードは、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がASCIIコード系の場合に指定できます。
- EBCDICコードは、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系の場合に指定できます。
- EUCファイルコード、EUC2バイトプロセスコードおよびEUC4バイトプロセスコードは、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がASCIIコード系で、LANG環境変数がCまたはEUCコードのlocaleの場合に指定できます。
- シフトJISコードは、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がASCIIコード系で、LANG環境変数がCまたはシフトJISコードのlocaleの場合に指定できます。
- Unicode UCS-2形式は、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がUnicode系(UCS-2形式)の場合に指定できます。どちらの場合も、LANG環境変数がCまたはUTF-8のlocaleの場合に指定できます。
- Unicode UTF-8形式は、バイナリファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がEBCDICコード系以外の場合に指定できます。テキストファイルの場合、入力ファイルのコード系(実行環境オプション(-option)のicodeオペランド)がUnicode系(UTF-8形式)の場合に指定できます。どちらの場合も、LANG環境変数がCまたはUTF-8のlocaleの場合に指定できます。
- テキストファイル固定フィールド指定の場合は、自己規定値にレコード分離文字を含むことはできません。
- テキストファイル浮動フィールド指定の場合は、自己規定値にフィールド分離文字列またはレコード分離文字を含むことはできません。
- 自己規定値で指定した値とlen で指定した長さが異なるときは、以下に示すように処理します。
- 自己規定値が文字列の場合
- 自己規定値で指定した文字列の長さがlen で指定した長さより短い場合は、自己規定値を左詰めにして右余白に空白を詰めます。
- 自己規定値で指定した文字列の長さがlen で指定した長さより長い場合は、エラーとなります。
- 自己規定値が数字または数値の場合
- 自己規定値で指定した値をtyp とlen で指定したデータ形式と長さに変換して埋め込みます。
- 変換結果がlen を超える場合は、エラーとなります。
- 固定小数点2進数、符号なし固定小数点2進数、8086形式固定小数点2進数、8086形式符号なし固定小数点2進数、システム依存形式固定小数点2進数、システム依存形式符号なしの自己規定値を10進数で指定する場合、その値は以下の範囲になります。
長さ |
符号ありのデータ形式 |
符号なしのデータ形式 |
1バイト |
-128〜127 |
0〜255 |
2バイト |
-32768〜32767 |
0〜65535 |
3バイト |
-8388608〜8388607 |
0〜16777215 |
4バイト以上 |
-2147483648〜2147483647 |
0〜4294967295 |
■記述例
例1) 入力レコードの5バイトめから10バイトのフィールドを再編成する場合は、次のように指定します。
[BourneシェルおよびCシェルの場合]
例2) 自己規定値の文字列(abc)を指定する場合は、以下のように指定します。
[Bourneシェルの場合]
[Cシェルの場合]
例3) ダブルクォーテーション( " )を含んだ自己規定値の文字列(ab"cd)を指定する場合は、以下のように指定します。
[Bourneシェルの場合]
[Cシェルの場合]
例4) クォーテーション( ' )を含んだ自己規定値の文字列(abc'd)を指定する場合は、以下のように指定します。
[Bourneシェルの場合]
[Cシェルの場合]
reconst=\'abc\'\'d\'.5asc |
例5) 入力レコードの5バイトめからレコードの最後までを再編成する場合は、以下のように指定します。
[BourneシェルおよびCシェルの場合]
All Rights Reserved, Copyright(C) 富士通株式会社 1992-2006