DBテーブルによる置換
 
                                            ロジック名
DBテーブルによる置換(ドキュメントMapper/変数Mapper/マージMapper)
機能
入力文字列をDBテーブルにより置換して返します。
データ型
| 場所 | 型 | 
|---|---|
| 1番目の入力ハンドラ | 文字列 | 
| ロジックの出力 | 文字列 | 
プロパティ
| カテゴリ | プロパティ | 説明 | 
|---|---|---|
| 必須設定 | リソース名 | 置換に使用するリソースを指定します。 | 
| 必須設定 | テーブル名 | テーブル名を指定します。 | 
| 必須設定 | キー列 | 入力ハンドラの値とマッチングを行う列を指定します。 | 
| 必須設定 | 値列 | 置換する値として使用する列を指定します。 | 
| 必須設定 | マッチング方法 | マッチング方法を指定します。 | 
| 必須設定 | 置換方法 | 置換方法を指定します。 | 
| 付加文字列 | 接頭語 | 置換後の文字列の前に追加される文字列を指定します。 | 
| 付加文字列 | 接尾語 | 置換後の文字列のあとに追加される文字列を指定します。 | 
| マッチング・レコードが0件 | 処理オプション | マッチング・レコードが0件の場合の処理方法を指定します。 | 
| マッチング・レコードが0件 | 代替文字列 | 代替文字列を指定します。 | 
| マッチング・レコードが2件以上 | 処理オプション | マッチング・レコードが2件以上の場合の処理方法を指定します。 | 
| コメント | コメント | ロジックの説明を記述することができます。変換処理には関係しません。 | 
マッチング方法
| オプション | 説明 | 
|---|---|
| 完全一致 | 入力ハンドラの値と[キー列]の値が完全に一致した場合に置換を行います。 | 
| 部分一致 | 入力ハンドラの値の一部分と[キー列]の値が一致した場合に置換を行います。 | 
置換方法
| オプション | 説明 | 
|---|---|
| 完全置換 | 1番目の入力ハンドラの値を[値列]の値に置き換えます。 | 
| 部分置換 | 1番目の入力ハンドラの値で一致した部分を[値列]の値に置き換えます。 | 
マッチング・レコードが0件/処理オプション
| オプション | 説明 | 
|---|---|
| 例外を発生させる | 以下の例外を発生させます。 [mapping]の処理に失敗しました。原因:[com.appresso.ds.vp.mapper.fastconverter.NoSuchRecordException: ConvertByDBロジック - There is no such record that equals the following key(s): <キー列>] | 
| 代替文字列に置換 | [代替文字列]で指定した値に置き換えます。 | 
| 1番目のハンドラの値を返す | 1番目の入力ハンドラの値をそのまま返します。 | 
マッチング・レコードが2件以上/処理オプション
| オプション | 説明 | 
|---|---|
| 例外を発生させる | 以下の例外を発生させます。 [mapping]の処理に失敗しました。原因:[com.appresso.ds.vp.mapper.fastconverter.MultipleSuchRecordsException: ConvertByDBロジック - There are multiple such records that equal the following key(s): <キー列>] | 
| 先頭のレコードを使用する | 一致した複数レコードの先頭のレコードを置換処理に使用します。 | 
| 最後のレコードを使用する | 一致した複数レコードの最後のレコードを置換処理に使用します。 注意
                                                                         一致したレコードの[キー列]の値が異なる場合、先頭のレコードの[キー列]の値に一致する最後のレコードを置換処理に使用します。 | 
機能の詳細
複数キーの指定方法
以下の方法で、キー列を複数指定することができます。
- 
                                                            「Replace by DB Table」のアイコンをダブルクリッします。 
- 
                                                            「Key column」の右の[Add]ボタンをクリックします。   
- 
                                                            キー列が追加されるので、ドロップダウンリストから指定したいキー名を選択します。   
- 
                                                            [Finish]ボタンをクリックします。 
- 
                                                            Mapperロジックの入力ハンドラが追加したキー列数に変更されます。   
使用可能なコネクションリソース
[リソース名]では、以下のコネクターのコネクションリソースを指定できます。
| コネクターの種類 | 
|---|
| DB2 Connector | 
| MySQL Connector | 
| Oracle Connector | 
| PostgreSQL Connector | 
| SQL Server Connector | 
| JDBC Connector | 
| Amazon Aurora for MySQL Connector | 
| Amazon RDS for MySQL Connector | 
| Amazon RDS for Oracle Connector | 
| Amazon RDS for PostgreSQL Connector | 
| Amazon RDS for SQL Server Connector | 
| Azure SQL Database Connector | 
仕様制限
- 
                                                        [テーブル名]にはコネクションリソースの一覧設定で指定した制限数のテーブルが表示されます。 
- 
                                                        入力文字列に複数の変換対象があった場合には、最初に合致した1件のみが置換されます。 
- 
                                                        変換後の文字列に含まれるスクリプト変数の書式(例:「${var}」)は、変数に展開されず単純な文字列として扱われます。 
注意事項
- 
                                                        [キー列]の値または[値列]の値がnullの場合、置換処理から除外されます。 - 
                                                                マッチング・レコードの件数は、[値列]の値がnull以外のレコードの件数となります。 
 
- 
                                                                
- 
                                                        名前にマルチバイト文字や機種依存文字を含むカラムを[キー列]または[値列]に使用する場合は、カラム名を引用符で囲んでください。 = 備考 =引用符はデータベースによって異なります。引用符の定義については、各データベースベンダーに問い合わせてください。 
ロジックの使用例
マッピング定義
 
                                                ロジックの設定と処理結果(完全一致の場合)
変換テーブルを用いて曜日の表記をアルファベットから漢字に置換します。
プロパティ設定
| プロパティ | 設定値 | 
|---|---|
| リソース名 | DB | 
| テーブル名 | convertbydb_all | 
| キー列 | KEY1 | 
| 値列 | VALUE1 | 
| マッチング方法 | 完全一致 | 
| 置換方法 | 完全置換 | 
| 接頭語 | 
 | 
| 接尾語 | 曜日 | 
| マッチング・レコードが0件/処理オプション | 1番目のハンドラの値を返す | 
| マッチング・レコードが0件/代替文字列 | 
 | 
| マッチング・レコードが2件以上/処理オプション | 先頭のレコードを使用する | 
入力データ
| Sunday | 
| Monday | 
| Tuesday | 
| Wednesday | 
| Thursday | 
| Friday | 
| Saturday | 
変換テーブル
| KEY1 | VALUE1 | 
|---|---|
| Sunday | 日 | 
| Monday | 月 | 
| Tuesday | 火 | 
| Wednesday | 水 | 
| Thursday | 木 | 
| Friday | 金 | 
| Saturday | 土 | 
出力データ
| 日曜日 | 
| 月曜日 | 
| 火曜日 | 
| 水曜日 | 
| 木曜日 | 
| 金曜日 | 
| 土曜日 | 
ロジックの設定と処理結果(部分一致の場合)
変換テーブルを用いて曜日の表記を漢字からアルファベットに置換します。
プロパティ設定
| プロパティ | 設定値 | 
|---|---|
| リソース名 | DB | 
| テーブル名 | convertbydb_partial | 
| キー列 | KEY1 | 
| 値列 | VALUE1 | 
| マッチング方法 | 部分一致 | 
| 置換方法 | 部分置換 | 
| 接頭語 | 
 | 
| 接尾語 | 
 | 
| マッチング・レコードが0件/処理オプション | 1番目のハンドラの値を返す | 
| マッチング・レコードが0件/代替文字列 | 
 | 
| マッチング・レコードが2件以上/処理オプション | 先頭のレコードを使用する | 
入力データ
| 3/20 (日) | 
| 3/21 (月) | 
| 3/22 (火) | 
| 3/23 (水) | 
| 3/24 (木) | 
| 3/24 (金) | 
| 3/25 (土) | 
変換テーブル
| KEY1 | VALUE1 | 
|---|---|
| 日 | Sun | 
| 月 | Mon | 
| 火 | Tue | 
| 水 | Wed | 
| 木 | Thu | 
| 金 | Fri | 
| 土 | Sat | 
出力データ
| 3/20 (Sun) | 
| 3/21 (Mon) | 
| 3/22 (Tue) | 
| 3/23 (Wed) | 
| 3/24 (Thu) | 
| 3/24 (Fri) | 
| 3/25 (Sat) | 
ロジック全体の一覧は「Mapperロジックガイド」を参照してください。