ページの先頭行へ戻る
Interstage Charset ManagerStandard Edition V9 使用手引書 拡張データ変換機能編
FUJITSU Software

2.7.1 拡張データ変換

レコード書式と項目書式を記述したファイルを指定することで、入力されたレコードを、そのレコード書式と項目書式に従って変換し、変換結果のレコードを出力します。

下記コマンドは、Charset Managerをインストールしたディレクトリ配下のwconv配下に存在します。カレントディレクトリを上記ディレクトリに移動して、実行してください。

名前

wconv   -  拡張データ変換

形式

wconv -fmt format [-o outfile] [-i infile]
wconv -f fromcode -t tocode [-o outfile] [-i infile]

機能説明

wconvコマンドは、formatで指定されたファイルに記述されたレコード書式と項目書式に従って、infileで指定されたファイルから読み込んだデータをレコードごとに変換し、その結果をoutfileで指定されたファイルに出力します。

infileまたはoutfileの指定が省略された場合、それぞれ、標準入力からのデータ読み込み、または標準出力への変換結果出力を行います。

また、文字列変換のみの場合は、fromcodeで示す変換元コード系からtocodeで示す変換先コード系へ文字コード変換を行います。infileで指定されたファイルから読み込んだデータ、または標準入力から入力されたデータを変換し、outfileで指定されたファイル、または標準出力に出力します。出力側の文字コード系にない文字は、"_"(アンダースコア)へ変換されます。

fromcodeまたはtocodeには、“2.2 文字コードの種類”のうち、いずれか1つを記述します。

fromcodeまたはtocodeのいずれかが指定されていない場合、または、fromcodeとtocodeの組み合わせを拡張データ変換プログラムがサポートしていない場合は、エラーとなります。

オプション

-fmt format

書式を指定します。レコード書式と項目書式をformatから読み込みます。

formatがない場合は、エラーとなります。

-o outfile

出力ファイルのパス名を指定します。変換結果のレコードを書き込みます。

ファイルが存在する場合、上書きします。デフォルトは、標準出力です。

-f fromcode

変換元文字コード系を指定します。入力データは、fromcodeの文字として変換されます。

fromcodeがない場合は、エラーとなります。

-t tocode

変換先文字コード系を指定します。入力データは、tocodeの文字へ変換され、出力されます。

tocodeがない場合は、エラーとなります。

オペランド

-i infile

入力ファイルのパス名を指定します。入力データをinfileから読み込みます。

デフォルトは、標準入力です。

なお、LinuxおよびSolarisの32bit版では2GB以上のファイルは変換できません。この場合は、2GB未満のファイルサイズに区切って変換を行ってください。

formatファイル書式

レコード書式と項目書式を記述するファイルの書式です。すべてASCIIコードの文字列で記述します。

1 カラム目は制御記号欄とし、2 カラム目から256 カラム目に制御文、レコード書式、および項目書式を記述します。1 カラム目には、次の制御記号のうち、いずれか1つを指定します。

'#':

この行を制御文として扱います。

' 'ブランク:

この行を通常の書式として扱います。

'*':

この行をコメントとして扱います。

制御文には、以下の4つの制御文が必要となります。

INPUTRECORD:

入力レコード書式を指定します。

INPUTFIELDS:

入力レコードの各項目書式を指定します。

OUTPUTRECORD:

出力レコード書式を指定します。

OUTPUTFIELDS:

出力レコードの各項目書式を指定します。

INPUTRECORD、およびOUTPUTRECORD制御文の次行から、レコード書式を記述します。

レコード書式は、1つのファイルの中に、それぞれ1つずつしか記述できません。

レコード書式の記述は以下の形式とします。

INPUTFIELDS、およびOUTPUTFIELDS制御文の次行から、項目書式を記述します。

項目書式は、レコード書式の項目数で指定した数が必要です。

記述は、以下の形式とします。

#INPUTRECORD
CDS_JKANA 2
#INPUTFIELDS
FLD_INTEGER_BIG 4
FLD_CHARS_ANC 8
#OUTPUTRECORD
CDS_SJIS 2
#OUTPUTFIELDS
FLD_INTEGER_LIT 4
FLD_CHARS_ANC 8

使用例

次の例は、ファイル person.dat の内容をpdata.fmtに記述されたレコード書式/項目書式に従って変換し、その結果をファイル pdata.localに出力します。

example% wconv -fmt pdata.fmt -i person.dat -o pdata.local

終了ステータス

以下の終了ステータスが返されます。

0:

正常終了

0以外:

エラーが発生した

エラーメッセージ

表2.1 wconvコマンドのエラーメッセージ

1

option requires an argument - (argument)

【意味】

引数が不足しています。(argument)パラメタはオプションが必要です。

【対処】

パラメタを見直してください。

2

usage: wconv -f fromcode -t tocode [-i infile] [-o outfile]

wconv -fmt formatfile [-I infile] [-o outfile]

【意味】

パラメタエラーです。

【対処】

パラメタを見直してください。

3

Not supported

【意味】

以下のいずれかです。

  • 指定された変換元データ型と変換先データ型の組み合わせは、サポートしていません。

  • 変換元項目数と変換先項目数が異なっています。

  • 指定された変換元または変換先のデータ型では、指定された項目のサイズ、またはデータ長をサポートしていません。

  • 指定された変換元コード系、または変換先コード系は、サポートしていません。

  • 指定された変換元コード系と変換先コード系の組み合わせは、サポートしていません。

【対処】

変換元コード系、変換先コード系、およびformatファイルを見直してください。

4

Not supported (fromcode) to (tocode)

【意味】

指定された変換元コード系(fromcode)と変換先コード系(tocode)の組み合わせは、サポートしていません。

【対処】

変換元コード系と変換先コード系を見直してください。

5

wconv: installation incomplete

【意味】

文字コード変換テーブルファイルにアクセスできません。

【対処】

後ほど処理してもよいアプリケーションを終了し、再度実行してください。それでも発生する場合は、インストールに失敗している可能性があります。再インストールしてください。

6

(filename): No such file or directory

【意味】

指定されたファイル(filename)がありませんでした。

【対処】

指定されたファイル(filename)を確認してください。

7

(filename): Can't open

【意味】

6以外の原因で指定されたファイル(filename)を開けませんでした。

【対処】

指定されたファイル(filename)を確認してください。

8

wconv: Not enough buffer for output

【意味】

変換先レコードの項目のサイズが不足しました。

【対処】

formatファイルを見直して、再度実行してください。

9

wconv: Can't convert this format

【意味】

指定されたレコード書式または項目書式が不正です。

【対処】

formatファイルを見直してください。

10

wconv: Not enough memory

【意味】

メモリが不足しました。

【対処】

後ほど処理してもよいアプリケーションを終了させてから、再度実行してください。

11

wconv: Illegal byte sequence

【意味】

変換元データが異常です。以下のいずれかです。

  • 変換元データの文字コードが指定された変換元コード系の文字コードではありません。

  • 変換元データの数値データが指定されたデータ型ではありません。

【対処】

変換元データを見直してください。

12

wconv[ERANGE]: overflow or underflow

【意味】

オーバーフローまたはアンダーフローが発生しました

【対処】

変換元データを見直してください。

13

wconv[EFAULT]: Bad address

【意味】

指定されたレコード書式または項目書式が不正です。

【対処】

formatファイルを見直してください。

それでも発生する場合は、弊社技術員にご連絡ください。その際に以下の情報を通知してください。

  • コマンドライン文字列

  • formatファイル

  • 入力データ

14

wconv[(code)]: Can’t convert

【意味】

内部エラーです。

【対処】

弊社技術員にご連絡ください。その際に以下の情報を通知してください。

  • (code)の番号

  • コマンドライン文字列

  • formatファイル

  • 入力データ

注意

出力側の文字コード系にない文字を"_"(アンダースコア)へ変換した場合、終了ステータスは、0:正常終了を返します。