# 改善機能

HULFT-DataMagic Ver.1の製品で改善された機能の一覧です。

アイコンについて

- 改善された機能は、対象となるバージョン以降で利用できます。たとえば以下のようなアイコンが指定されている改善機能は、HULFT-DataMagic Ver.1.0.0以降で利用できます。

  Magic
  1.0.0

- 以下のようなアイコンが指定されている機能は、HULFT データ変換Standard Ver.6.6.0以降で利用できます。

  Std
  6.6.0

- 以下のようなアイコンが指定されている場合は、HULFT データ変換Pro Ver.6.5.0以降でのみ利用できます。

  Pro
  6.5.0

- 複数のアイコンが指定されている機能は、それぞれの製品で使用できる機能です。

  Std
  6.5.0
  Pro
  6.5.0

(1) 出力ファイルの追加書き

Std
6.1.0
Pro
6.1.0

従来のHULFT データ変換では出力ファイルは常に置き換えで出力されていましたが、出力の方式として"新規作成"、"置き換え"、"追加書き"が指定できるようになりました。

(2) 結果ファイルおよびエラーファイルの追加書き

Std
6.1.0
Pro
6.1.0

従来のHULFT データ変換では、結果ファイルおよびエラーファイルは常に置き換えで出力されていましたが、出力の方式として"置き換え"と"追加書き"が指定できるようになりました。またそれにともない、結果ファイルおよびエラーファイルのサイズが一定に達したときに自動で削除する機能も追加されました。

(3) 抽出条件の設定数増加

Std
6.1.0
Pro
6.1.0

従来のHULFT データ変換では、抽出条件は20個までしか指定できませんでしたが、101個まで指定できるようになりました。これにともない出力ファイルも101個まで指定できるようになりました。

(4) CSVの区切り文字を無しにする

Std
6.1.0
Pro
6.1.0

従来のHULFT データ変換では、CSV出力時の区切り文字には何らかの値を指定しなければなりませんでしたが、まったく区切り文字を出力しない指定ができるようになりました。

(5) CSV（XML）数値の桁合わせ

Std
6.1.0
Pro
6.1.0

数値項目のCSV（XML）出力時、正の値の先頭に0または+を付加する指定ができるようになりました。これにより、負の値を出力する場合とレコード長を統一できます。

(6) 固定フォーマット情報改善

Std
6.1.0
Pro
6.1.0

フォーマット情報にパックおよびゾーンの符号部を指定できるようになりました。また、項目の構造として階層構造と繰り返し数が指定できるようになりました。

(7) マルチフォーマット情報改善

Std
6.1.0
Pro
6.1.0

従来のHULFT データ変換では、キー値を20個までしか指定できませんでしたが、100個まで指定できるようになりました。

(8) XML Schema対応

Std
6.6.0
Pro
6.5.0

「import」および「include」や、要素「maxOccurs」および「minOccurs」へ対応できるようになり、XML Schema対応が強化されました。

(9) 固定フォーマット情報の符号部

Std
6.5.0
Pro
6.5.0

固定フォーマット情報で指定できる入力時の符号部の設定方法を改善し、「0」から「F」までのコードすべてについて"正"、"負"が設定できるようになりました。これにより、ASCII系とEBCDIC系の符号部が混在する場合や、「符号なし」が混在する場合にも対応できるようになりました。

(10) KEIS全角スペースコードの変換

Pro
6.5.0

EUC、SHIFT-JIS、IBM漢字、およびJEFからKEISにコード変換する場合に、KEISの全角スペースコードが"0x4040"か"0xA1A1"のどちらかから選択できるようになりました。

本機能はHULFT データ変換Proのみの機能です。

(11) 抽出条件の比較対象値

Std
6.5.0
Pro
6.5.0

抽出条件の比較対象値の文字列が16進で指定できるようになりました。これにより、比較対象値の文字列に外字が含まれる場合にも、抽出条件が設定できるようになりました。

(12) マルチフォーマット情報のキー値

Std
6.5.0
Pro
6.5.0

マルチフォーマット情報の「キー値」が、従来のCharacter指定に加えて16進で指定できるようになりました。これにより、外字を含むMタイプやIタイプをキーに指定できるようになりました。

(13) 数値演算式

Std
6.5.0
Pro
6.5.0

マッピング-出力情報の数値演算に「$LEN」、「$LENNUM」、「$RCOUNT」を追加しました。「$LEN」および「$LENNUM」は指定された項目のデータ長を取得できるので、可変長データのデータ加工後の長さを他の項目に出力できます。「$RCOUNT」は現在のレコード数を取得できます。

= 備考 =

「$LEN」は固定フォーマット出力時に、「$LENNUM」はマルチフォーマット出力時に使用します。

(14) 固定フォーマット情報の項目長

Std
6.5.0
Pro
6.5.0

固定フォーマットのM、X、N、Iタイプの項目長の上限を、「9999」から「99999」へ拡張しました。

(15) 文字タイプからIタイプへの変換

Std
6.5.0
Pro
6.5.0

固定フォーマットの文字（X、M、N）タイプからIタイプへ変換できるようになりました。これにより、条件Aではコード変換し、条件Bでは無変換にする、というような抽出条件を設定できるようになりました。

(16) エラーによる停止条件

Std
6.5.0
Pro
6.5.0

エラーによる停止条件に"NTypeにASCIIがあった場合"を追加しました。これにより、項目タイプがNタイプの領域に1バイトコードが存在した場合にエラーとできるようになりました。

(17) 機種に依存する文字の変換

Pro
6.5.0

UTF-16およびUTF-8にコード変換する場合、WindowsやUNIXに依存する文字を、どちらの機種に依存した文字コードに変換するかを設定できるようになりました。

本機能はHULFT データ変換Proのみの機能です。

(18) ファイル選択設定

Std
6.5.0
Pro
6.5.0

ファイル名を設定する場合、過去に設定したファイル名の履歴からもファイル名を選択できるようになりました。これにより、ファイル名設定の効率が改善されました。

(19) ディレクトリ参照ダイアログ

Std
6.5.0
Pro
6.5.0

ディレクトリ参照ダイアログが表示される場合、従来はルートディレクトリ（/）が基点になっていましたが、基点となるディレクトリを設定できるようになりました。

(20) 抽出条件設定

Std
6.5.0
Pro
6.5.0

パラメータファイル設定画面でマッピングを設定する場合、抽出条件に「設定済みの条件」を追加しました。これにより、抽出する条件の必要ないマッピングの場合には「設定済みの条件」を選択できるようになりました。

(21) XML Schemaのsequence展開方法

Std
6.6.0
Pro
6.5.0

パラメータファイル設定画面でXML Schemaのマッピングを設定する場合、従来では、内容モデルsequenceの子要素がマッピングされて次のsequenceが展開できる条件が整うと、マッピングで使用するかどうかにかかわらず自動で次の子要素を展開しました。そのため最後の子要素はマッピングに使用せずに残ってしまい、画面に無駄なアイコンが表示されていました。

今回の改善では、sequenceを自動展開するかしないかを選択できるようにしました。自動展開しない場合、無駄なアイコンが表示されないのでマッピング画面が見やすくなりました。

(22) 不整合なマッピング情報の修正

Std
6.5.0
Pro
6.5.0

入力項目について、マッピング情報とフォーマット情報の間に不整合が発生した場合、不整合となった入力項目名をユーザが選択し直すことでマッピング情報を修正できるようになりました。これにより、パラメータファイル設定画面でマッピングを設定した後にフォーマット情報の項目名を変更しても、マッピング情報を破棄しないですむようになりました。

(23) マッピング操作

Std
6.5.0
Pro
6.5.0

マウスで複数の項目を選択し、それをドラッグすることで複数のマッピングを設定できるようになりました。また、同じ項目名のものをすべて自動でマッピングできるようになりました。これにより、数千項目もある場合に数千回もドラッグする必要がなくなりました。

(24) マルチフォーマットを使用する場合の抽出条件

Std
6.5.0
Pro
6.5.0

AND条件設定画面における設定方法の改善を、以下に示します。

キー値の設定

  マルチフォーマットを使用する場合、抽出条件ではキー値の設定で、使用するフォーマットを決定する必要があります。しかし、この方法では使用するフォーマットが分かりづらいという問題がありました。そこで、抽出条件の設定方法をキー値の設定から固定フォーマットの選択に変更しました。

マッピング情報画面における設定方法の改善を、以下に示します。

入力側の項目の表示

  ID参照でフォーマットを選択していましたが、抽出条件に該当するフォーマットが自動で表示されるようになりました。

入力側の項目の追加

  項目の追加が不可能になりました。

入力側の項目名

  「項目番号」が表示されていましたが、「項目名」が表示されるようになりました。

出力側の項目の追加

  項目の追加が不可能になりました。

出力側の項目名

  「項目番号」が表示されていましたが、「項目名」が表示されるようになりました。

出力側のID指定なし

  「ID」指定なしが可能でしたが、不可能になりました。

(25) 変換情報での相対パスの使用

Std
6.6.0
Pro
6.6.0

従来のHULFT データ変換では、変換情報で指定する以下のパスは絶対パスで指定していましたが、相対パスでも指定できるようになりました。

- 環境ファイル名

- 結果ファイル名

- エラーファイル名

- パラメータファイル名

- ユーザ出口プログラム

- 入力ファイル名

- 出力ファイル名

- 外部変換テーブル格納パス

- EBCDICユーザテーブル格納パス

相対パスを指定した場合の基点は、以下のとおりです。

変換実行方法 | 相対パスの基点
--- | ---
管理画面 | 要求受付デーモン（hulobsdまたはhuledd）起動ディレクトリ
コマンド | 実行ディレクトリ

(26) マッピングツリーへの項目の追加

Std
6.6.0
Pro
6.6.0

マッピング情報画面で、「区分」が"CSV"でCSVIDが省略された場合、従来は項目をひとつずつ追加していましたが、複数の項目を一度に追加できるようになりました。

(27) エクスポートファイルの追加書き

Std
6.6.0
Pro
6.6.0

データ形式情報エクスポートファイル生成コマンドで、指定したファイルが存在した場合、従来は常に上書きしていましたが、追加書きもできるようになりました。

(28) 同一漢字コード種間の外字変換

Magic
1.0.0

入力ファイルと出力ファイルが同一漢字コード種の場合、従来は外字変換を行いませんでしたが、外字変換を行えるようになりました。

外字変換を設定した場合、外字テーブルに登録されていない文字はデフォルトコードに変換されるのではなく、無変換で出力します。

(29) XMLスキーマインスタンスの属性の有無の選択

Magic
1.0.0

XML出力の際、従来はルートノードに以下のインスタンス属性を出力していましたが、出力の有無を選択できるようになりました。

    <root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="">

(30) テキスト形式改行なしのレコードの扱い

Magic
1.0.0

入力テキストデータのファイル終端レコードに改行が無かった場合、従来は改行を付加して出力していましたが、"出力する"または"出力しない"を選択できるようになりました。

(31) 入力ファイル0バイトの扱い

Magic
1.0.0

入力ファイルが0バイトの場合、従来は変換エラーとしていましたが、エラーとするか正常データとして扱うかを選択できるようになりました。

(32) ファイル参照の改善

Magic
1.0.0

ファイル名入力の［参照］ボタンをクリックした際に表示されるファイル参照ダイアログで、従来はクリックした時点で設定されていた参照ルートパスを基点としていましたが、入力フィールドにパスが入力されていた場合は、そちらを基点とするようになりました。

(33) 固定文字列出力の特殊文字追加

Magic
1.0.0

以下の設定項目で、従来は「<」、「>」、「"」、「'」、「&」の5文字はバイナリ指定のみでしたが、直接入力できるようになりました。

- 抽出条件の文字列

- マルチフォーマットのキー

- 階層フォーマットのキー

- 出力情報の固定文字列

(34) 異常時のファイルの扱い

Magic
1.0.0

変換エラーが発生した場合、従来は変換正常レコードまで出力していましたが、"保存する"または"削除する"を選択できるようになりました。

(35) 書き込み権限のないファイルの入力

Magic
1.0.0

書き込み権限のないファイル（読み取り属性のみ）を入力ファイルに指定できるようになります。

(36) XML空要素タグ出力機能

Magic
1.1.0

出力XMLファイルで、NULLデータを出力するときに空要素タグの出力が可能になりました。

(37) 階層フォーマットを使用する場合の抽出条件

Magic
1.1.0

「レコードの扱い」が"グループ又はレコードを1レコードとして扱う"設定の場合、抽出条件で確定グループによる抽出を行った場合もグループ単位ではなくレコード単位による指定しかできませんでしたが、「グループレコード数」を追加し、グループ単位によるレコード数の指定ができるようになりました。

「グループレコード数」は数値演算式で$GCOUNTで同様に使用できます。

(38) 出力情報リスト設定項目の項目長

Magic
1.1.0

以下の出力情報リスト設定項目の項目長の上限が拡張されました。

- 入力項目追加（開始位置、出力サイズ）9999 → 99999

(39) DB接続利用クライアントの追加

Magic
1.1.0

HULFT-DataMagicからDBへ接続する際に利用するDBクライアントに、Oracle Client、DB2 Clientを使用できるようになりました。

対応バージョン （Oracle Client）

OS | CPU | 10.2.x | 11.1.x
--- | --- | --- | ---
AIX | POWER | ○ |
HP-UX | PA-RISC | ○ |
IA64 | ○ |
Solaris | SPARC | ○ |
x86 | ○ |
Linux | x86 | ○ |
x64 | ○ |
IA64 | ○ |
Windows | x86 | ○ | ○
x64 | ○ | ○
IA64 | ○ |

対応バージョン （DB2 Client）

OS | CPU | 9.1
--- | --- | ---
Windows | x86 | ○
x64 | ○
IA64 | ○

(40) UTF-8でインストール可能なOSの追加

Magic
1.1.0

インストーラ起動コマンドのパラメータ「-8（UTF-8）」を指定できるOSに、AIX 5.1以降が追加になりました。

(41) SQLite3データベースの動的入力ファイル名指定

Magic
1.1.0

データ形式が"DB"で「製品種別」が"SQLite3"の場合、従来はDB接続情報の「DB名」に指定したファイル名のみを使用していましたが、変換実行時に指定できる動的指定ファイル名（-infile、-matchfileXXX、-outfileXXX）を使用できるようになりました。

(42) 数値演算に使用できる項目の追加

Magic
1.1.0

マッピング-出力情報の数値演算に「$ACOUNT」「$HCOUNT」「$GCOUNT」を追加しました。

$ACOUNT

  : マッチングファイル設定時に複数レコードがヒットした場合を含む、入力総レ　コード数を取得できます。

$HCOUNT

  : マッチングファイル設定時に入力ファイル1レコードに対し、ヒットしたマッチン　グファイルのレコード数を取得できます。

$GCOUNT

  : 入力ファイルが階層フォーマット形式で、「レコードの扱い」を"グループを　1レコードとして扱う"または"グループ又はレコードを1レコードとして扱う"　に指定した場合、レコードとして扱うグループの数を取得できます。

(43) CSVソートキー不正項目の扱いの追加

Magic
1.2.0

入力ファイルCSVIDなしで、ソート設定で指定した項目が存在しなかった場合も、存在しない項目値は空文字としてソートできるようになりました。

(44) マッピングおよび値設定項目のアイコン変更

Magic
1.2.0

マッピング設定画面で、マッピングおよび値設定の有無が一目で判別できるようアイコンを変更しました。

(45) 関数MATCH_REG、JULIANDAY、ITOMの追加

Magic
1.2.0

関数機能で使用できる関数に「MATCH_REG」、「JULIANDAY」、および「ITOM」を追加しました。

MATCH_REG

  : マッピングされた文字列が指定した条件に合致するかどうかを判定し、判定結果に従って別の文字列に変換します。

JULIANDAY

  : マッピングされた文字列を、日付として対応するユリウス日に変換します。

  また、引数に日付を指定した場合は、その日付をユリウス日に変換します。

ITOM

  : Iタイプのデータを文字データに変換します。

(46) 関数への引数動的指定

Magic
1.2.0

関数の引数を動的指定できるようになりました。引数に「$DSTRXX」（「XX」は01～20）を指定した個所に、データ加工実行時に動的文字列として指定した値を設定できます。

(47) DB出力の空文字の扱いの変更

Magic
1.2.0

入力データ中に空文字（0バイト）がある場合、従来は空文字をデータタイプごとのデフォルト値に変換していました。Ver.1.2.0以降では、入力データのデータタイプがDタイプ、文字タイプ（M、N、W）、およびZタイプの場合は、NULL値への変換もできるようになりました。

(48) UTF-16のサロゲートペア対応

Magic
1.2.0

入力データの文字コードがUTF-16の場合、外字テーブルを組み込むことでサロゲートペアを使用する文字を変換できるようになりました。

(49) CSV囲み文字なしでの文字データの入力

Magic
1.2.0

CSV形式の入力ファイルで、囲み文字で囲まれていない項目に数字文字列以外のデータを使用できるようになりました。

(50) マッチング機能の後スペースカット

Magic
1.2.0

入力ファイルとマッチングファイルの文字データを比較するときに、文字の後ろにある全角スペースおよび半角スペースをカットして比較できるようになりました。

(51) 日付、数字文字列形式で出力する場合の空文字の扱いの変更

Magic
1.2.0

日付、数字文字列形式でデータを出力する場合に、入力データの空文字（0バイト）を空文字のまま出力できるようになりました。

(52) REPLACE_REG関数が利用できる入力コード種の追加

Magic
1.2.0

REPLACE_REG関数が利用できる入力コード種はShift_JIS、EUC、UTF-8、UTF-16のみでしたが、IBM漢字、JEF、KEIS、NEC漢字、JISも利用できるようになりました。

(53) DB2 for iSeriesとの連携

Magic
1.2.0

IBM iSeries上のDB2データベースのデータを、直接扱えるようになりました。

(54) NLS_LANGへのJapanese_Japan.JA16SJISTILDE設定

Magic
1.2.0

Oracleと連携する際に指定する環境変数NLS_LANGにJapanese_Japan.JA16SJISTILDEを指定できるようになりました。

(55) 抽出条件の項目名指定で前後の半角スペースをカットするよう改善

Magic
1.2.0

パラメータファイル設定の抽出条件で「項目名」を指定する際に、前後の半角スペースをカットするようになりました。

(56) NULL値置き換え機能

Magic
1.3.0

入力データにNULL文字がある場合、従来は以降のデータを読み捨てるか、エラーで処理を停止するかのいずれかでしたが、NULL文字を半角スペースに置き換えられるようになりました。

(57) UTF-8BOM付加選択機能

Magic
1.3.0

出力漢字コード種に"UTF-8"を選択した場合、BOM（バイトオーダマーク）を付加するかどうかを指定できるようになりました。

また、これまで入力漢字コード種が"UTF-8"、「区分」が"CSV"または"TXT"でBOMが付加されていた場合、変換およびプレビュー実行で、エラーまたは外字データとして扱われていましたが、この機能によりBOMと認識することで正常に実行できるようになりました。

(58) 数値タイプ（9、S、P）の最大桁数の拡張

Magic
1.3.0

数値タイプ（9、S、P）の最大桁数が31桁に拡張しました。

(59) 出力ファイル0バイトの扱い

Magic
1.3.0

出力ファイルへ出力するレコードが0の場合、0バイトのファイルが生成されていましたが、0バイトのファイルを"削除する"または"削除しない"が選択できるようになりました。

(60) 小数点で始まる数値の扱い

Magic
1.3.0

変換時に小数点で始まる数値を扱えるようになりました。

(61) 関数LENB、CHK_LENB、DISPLAY_TO_Z、Z_TO_DISPLAYの追加

Magic
1.3.0

関数機能で使用できる関数に「LENB」、「CHK_LENB」、「DISPLAY_TO_Z」、「Z_TO_DISPLAY」を追加しました。

LENB

  : データのバイト数を取得します。

CHK_LENB

  : 文字列長が指定したサイズの範囲内のデータかどうかをチェックし、指定の文字列を返します。

DISPLAY_TO_Z

  : 符号付数字（CCOBOL DISPLAY 形式）から数字文字列に変換します。

Z_TO_DISPLAY

  : 数字文字列から符号付数字（CCOBOL DISPLAY 形式）に変換します。

(62) アイコン名の設定

Magic
1.3.0

入力ファイル、マッチング、BEGIN条件、抽出条件、END条件、出力ファイルのアイコン名を設定できるようになりました。

(63) 入力DBの数値項目NULLの扱い

Magic
1.3.0

入力の「区分」が"DB"で、データにNULL値があった場合、空文字として扱うか、0に置き換えるかを選択できるようになりました。

(64) プレビュー時の停止条件

Magic
1.3.0

プレビュー実行時は環境ファイル設定にある「停止条件」は有効となっていませんでしたが、設定が有効となるよう改善しました。

(65) 関数JULIANDAY{}の精度の拡張

Magic
1.3.0

関数JULIANDAY{}で算出する数値データの小数部桁数を6桁から9桁に拡張しました。

(66) 入力XMLの関数設定

Magic
1.3.0

入力区分XMLの項目を出力項目にマッピングした場合に、関数設定が行えるよう改善しました。

(67) CSVタイトル行のインポート

Magic
1.4.0

CSV情報更新画面で設定する項目情報を、CSVファイルを読み込むことによって設定が行えるよう改善しました。

(68) 空文字の指定

Magic
1.4.0

抽出条件設定画面、動的文字列設定画面で比較対象値として空文字（NULL）が指定できるよう改善しました。

(69) パラメータファイル名称の設定

Magic
1.4.0

パラメータファイル設定画面でパラメータファイルに名称が設定できるようになりました。

(70) 環境ファイルの省略

Magic
1.4.0

環境ファイルの作成を省略できるように改善しました。

省略した場合、環境ファイルで設定する各項目に初期値が設定されている状態になります。

(71) 形式情報のコピー＆ペースト

Magic
1.4.0

「区分」が"FMT"、"MFMT"、"CSV"の場合、画面項目の形式情報をクリップボードから入力、画面項目の形式情報をクリップボードへ出力できるように改善しました。

(72) 入力CSV項目数チェック選択機能

Magic
1.4.0

「区分」が"CSV"でIDが指定されている場合、入力項目数のチェックを行うか否か選択できるように改善しました。

(73) 出力CSV項目の非マッピング対応

Magic
1.4.0

「区分」が"CSV"の場合、出力側に指定したIDの項目に、マッピングを行っていない項目が存在する場合でも空文字（NULL）として出力できるように改善しました。

(74) 区分TXTの改行コード削除対応

Magic
1.4.0

「区分」が"TXT"の場合、出力ファイルに改行コードを付加するまたは付加しないを選択できるように改善しました。

(75) 区分TXTのマッピング対応

Magic
1.4.0

「区分」が"TXT"の場合、マッピング処理が行えるように改善しました。

(76) 関数COALESCEの追加

Magic
1.4.0

関数機能で使用できる関数に「COALESCE」を追加しました。

COALESCE

  : 引数に含まれる項目の最初の「非空文字値」を返します。

(77) 抽出条件の比較対象として入力ファイルまたはマッチングファイルの項目追加

Magic
1.4.0

抽出条件の比較対象として入力ファイルまたはマッチングファイルの項目を指定できるように改善しました。

(78) 接続できるDBのバージョンの拡張

Magic
1.4.0

HULFT-DataMagicから接続できるDBのバージョンを拡張しました。

対応バージョン（Oracle）

OS | CPU | 11.2.x
--- | --- | ---
Linux | x86 | ○
x64 | ○
Windows | x86 | ○
x64 | ○

対応バージョン（DB2）

OS | アーキテクチャ | Ver.9.5 | Ver.9.7
--- | --- | --- | ---
Windows | x86 | ○ | ×
AIX | POWER | ○ | ○

クライアントバージョン（DB2）

クライアント名称 | バージョン | OS | アーキテクチャ
--- | --- | --- | ---
IBM Data Server Client | Ver.9.5 （FixPack 5以降） | Windows | x86
Ver.9.5 （FixPack 5以降） Ver.9.7 （FixPack 2以降） | AIX | POWER

(79) DB接続・オプション（Oracle）の対応OS拡張

Magic
1.4.0

DB接続・オプション（Oracle）の対応OSを拡張しました。

対応バージョン （Oracle）

OSバージョン | CPU | Oracle Clientバージョン
--- | --- | ---
Windows Server 2008 R2 | Standard | x64 | 11.2.x
Enterprise