CSV形式受信の設定

受信したファイルをCSV形式へ変換する際、項目を何で区切るかのセパレータ文字、項目の囲み文字などを設定するCSV環境設定ファイル(hulcsv.info)が集信側に必要です。

変換するファイルIDごとに内容を設定してください。なお、ファイルIDが設定されていない場合は、ユーザの初期値が設定されます(「(5) ユーザの初期値」を参照)。CSV環境設定ファイルが存在していない場合、または「(5) ユーザの初期値」が設定されていない場合は、各項目の初期値(「(6) 各項目の初期値」参照)が設定されます。

(1) ファイル名

CSV環境設定ファイルの名称は「hulcsv.info」です。この名称は変更できません。

CSV環境設定ファイルは、HULFTのシステムファイルが存在するパス(HULPATH)に置きます。

(2) 記述フォーマット

行の先頭に半角の「#」があるときは、コメント行とみなされます。空行が存在していても 構いません。

項目と項目の区切りは、スペースコード(0x20)またはタブコード(0x09)を使用します。

(3) レコードレイアウト

CSV環境設定ファイル(hulcsv.info)はバイナリデータを含みませんので、viなどのエディタで作成することができます。また、このレコードはCSV環境設定ファイルに複数記述することができます。

表2.15 レコードレイアウト

項目名

領域長

記述値

ファイルID

50

英数字50バイト以内

項目間の区切り文字

5

半角1文字、TAB、SPACEまたはNONE

スペースキャラクタの省略有無

3

YESまたはNO

全スペース項目の処理

3

YESまたはNO

キャラクタ項目の囲み文字

1

半角1文字

数値項目の前ゼロ処理

3

YESまたはNO

タイトル行の出力有無

3

YESまたはNO

注意

項目と項目の区切りは、スペースコード(0x20)またはタブコード(0x09)を使用します。YESまたはNOの選択を行う項目にて、YES、NO以外の記述を行った場合は、初期値が有効になります。各項目の初期値は、「(6) 各項目の初期値」を参照してください。

(4) 各項目の説明

各項目の説明を以下に示します。各項目の初期値は「(6) 各項目の初期値」を参照してください。

ファイルID(FILEID)

CSV形式変換を行うファイルIDを英数大文字で記述します。50バイト以内で指定します。

項目間の区切り文字(SEPARATE)

項目と項目を区切る文字を記述します。

半角1文字

: 指定文字を区切り文字

TAB

: タブコード(0x09)を区切り文字

SPACE

: スペースコード(0x20)を区切り文字

NONE

: 区切り文字なし

スペースキャラクタの省略有無(SPACECUT)

フォーマット情報の項目タイプが“X(キャラクタ)”、“M(可変長文字)”、または“N(2バイト表示文字)”で、その項目値の後ろにあるスペース、または漢字コード変換によってフォーマット情報のサイズより実際のデータサイズが短くなったときの後ろスペースを省略するかしないかを記述します。

YES

: 項目の後ろのスペースをカットする

NO

: 項目の後ろのスペースをカットしない

全スペース項目の処理(ALL_SPACECUT)

フォーマット情報の項目タイプが“X(キャラクタ)”、“M(可変長文字)”、または“N(2バイト表示文字)”で、その項目値がすべてスペースの場合の処理を記述します。

YES

: 全スペースをカットする

NO

: 半角1バイト分のスペースを項目値とする

この指定は、スペースキャラクタの省略有無で“YES(項目の後ろのスペースをカットする)”を指定したときのみ有効です。

省略するスペースコードは、以下のとおりです。

  • Shift-JISの場合

    • 0X20(半角スペース)

    • 0X8140(全角スペース)

  • EUC-JPの場合

    • 0X20(半角スペース)

    • 0XA1A1(全角スペース)

  • UTF-8の場合

    • 0X20(半角スペース)

    • 0XE38080(全角スペース)

  • GB18030の場合

    • 0X20(半角スペース)

    • 0XA1A1(全角スペース)

キャラクタ項目の囲み文字(SIEGE)

フォーマット情報の項目タイプが“X(キャラクタ)”、“M(可変長文字)”、または“N(2バイト表示文字)”のとき、その項目の値を囲む文字を記述します。半角1バイトのみ有効です。文字を囲みたくない場合は“N”を記述します。スペースまたは“N”で囲むことはできません。

数値項目の前ゼロ処理(ZEROCUT)

フォーマット情報の項目タイプが“B(バイナリ)”、“S(サイン付外部10進数)”、“P(サイン付内部10進数)”、“F(浮動小数点タイプ)”、または“9(サイン無外部10進数)”で、その項目の値が規定表示桁数(下記参照)より少ない場合、数値の前に“0”を埋めるかどうかを記述します。

YES

: 数値の前の「0」をカット

NO

: 数値の前を「0」で埋める

表2.16 CSV形式変換時の変換規則

集信ファイル(変換後)

CSVデータ

項目タイプ

バイト数

規定表示桁数

F

浮動小数タイプ

4

21

8

30

P

サイン付内部10進数

1~2

12

3~5

12

6~10

21

B

バイナリタイプ

2

12

4

12

8

21

S

サイン付外部10進数

1~4

12

5~9

12

10~18

21

= 備考 =
  • 項目タイプが“F(浮動小数点タイプ)”の場合は、小数点以下桁数が固定で9桁になります。また、規定表示桁数を超えるデータの場合は、データに依存します。

  • 属性変換機能で、“P(サイン付内部10進数)タイプ”、“S(サイン付外部10進数)タイプ”から“9(サイン無外部10進数)タイプ”に変換した場合、規定表示桁数はデータ桁数に依存します。変換しない場合は、項目のバイト数に依存します。

  • 規定表示桁数には、符号('-'のみ)および小数点が含まれます。

  • バイナリタイプのデータは、サイン付データ形式として処理されます。

タイトル行の出力有無(TITLE)

フォーマット情報の項目名をタイトル行として、1行目に出力するかどうかを記述します。ただし、タイトル行の出力は配信管理情報の転送タイプが“F(FORMAT)”のときのみ有効です。

YES

: タイトル行を出力する

NO

: タイトル行を出力しない

(5) ユーザの初期値

CSV環境設定ファイルに同じ設定内容のファイルIDが複数存在する場合、ファイルID「DEFAULTF」で初期値を設定することにより、1つのファイルIDで同じ設定を行うことができます。変換するファイルIDがCSV環境設定ファイルに存在しないとき「DEFAULTF」の値が設定されます。

「DEFAULTF」がCSV環境設定ファイルに設定されていない場合は、「(6) 各項目の初期値」が設定されます。

(6) 各項目の初期値

各設定値の初期値を以下に示します。該当するファイルIDがなかった場合、またはファイ ルが存在しない場合は、初期値が設定値として採用されます。

表2.17 CSV形式変換時の初期値

項目名

初期値

初期値の説明

項目間の区切り文字

,(カンマ)

項目を「,(カンマ)」で区切る

スペースキャラクタの省略有無

YES

項目の後ろのスペースをカットする

全スペース項目の処理

YES

全スペースをカットする

キャラクタ項目の囲み文字

”(ダブルクォート)

項目の値を「"(ダブルクォート)」で囲む

数値項目の前ゼロ処理

YES

数値の前の「0」をカット

タイトル行の出力有無

NO

タイトル行を出力しない

(7) CSV形式ファイル

CSV形式受信を行うと、集信ファイルと同一のディレクトリにCSV形式ファイルが作成されます。CSV形式のファイル名は「集信ファイル名.csv」です。

(8) 設定例

CSV形式変換環境設定ファイルの設定例を下記に示します。

# HULFT8 CSV Environment Settings File
#
# FILEID        : Receive File ID
# SEPARATE      : Delimiter  *SPACE, TAB, NONE can also be used.
# SPACECUT      : Space cut
# ALL_SPACECUT  : All-space process
# SIEGE         : Text enclosure
# ZEROCUT       : Pre-zero cut
# TITLE         : Title line output
#
# Default Value : SEPARATE        = ,
#               : SPACECUT        = YES
#               : ALL_SPACECUT    = YES
#               : SIEGE           = "
#               : ZEROCUT         = YES
#               : TITLE           = NO
#
#FILEID  SEPARATE  SPACECUT  ALL_SPACECUT  SIEGE  ZEROCUT  TITLE
#|       |         |         |             |      |        |
SAMPLE   ,         YES       YES           "      YES      NO
NAME     ,         YES       YES           "      YES      YES
NAME2    ;         NO        NO            '      YES      NO
ADDRESS  :         YES       NO            '      NO       NO
DEFAULTF ;         NO        YES           N      YES      YES

(9) 注意事項

  • フォーマット情報の項目タイプに“I(イメージタイプ(無変換))”を指定すると、CSV形式変換処理でエラーになりますので指定しないでください。

    “I(イメージタイプ(無変換))”はイメージ(転送時無変換)なので、データ内に上記セパレータ文字や囲み文字が含まれる可能性があるためです。

  • CSV変換では、データ内にNULL文字(0x00)が存在した場合、そこまでをデータであると判断します。