ロジックの仕様(マージMapper)
Mapperロジックとは
Mapperロジック(以下:ロジック)は、四則演算や文字置換など様々な値の変換や加工を行うことができる機能です。
ロジックの仕様
ロジックの種類
ロジックには大きく「マージ」「変換」の二種類があります。
種類はアイコンの左上のチップで判別できます。
| ロジックの種類 |
チップ画像 |
パレットのタブ名 |
| マージロジック |
 |
マージ |
| 変換ロジック |
 |
分岐 数値 文字列 日付 |
変換ロジックを出力スキーマに直接マッピングすることはできません。
変換ロジックの入出力ハンドラにはそれぞれ型が定められています。
入力ハンドラの型は、入力時に変換されるデータの型を意味し、出力データの型は、変換・加工の結果データの型を意味します。
通常、入力データの型と、ロジックの入力ハンドラの型が異なる場合、入力ハンドラの型へのキャストが動的に行われます。
型のキャストを行うことができない(変換できない)場合には、実行時エラーが発生します。
実行時エラーの発生によるスクリプトの停止を防ぐには、あらかじめデータ自体のチェックを行うか、スクリプト上のMapperコンポーネントを例外監視処理で囲んでください。
ロジックパレットは型により分類されており、型はアイコンの右下のチップで判別できます。
| ロジックの型 |
チップ画像 |
パレットのタブ名 |
| 入力の型そのまま |
なし |
分岐 |
| 数値型 |
 |
数値 |
| 文字列型 |
 |
文字列 |
| 日付型 |
 |
日付 |
数値型ロジックの内部データ型
Mapperで扱う数値型は、小数点も含むデータを正確に表現できるBigDecimal型で処理を行っています。
文字列型で数値演算が行われる場合、BigDecimal型に変換され処理を行います。
数値の小数点以下を切り捨てたい場合には、文字列のロジック「数値フォーマッティング」を使用してください。
データベース系のアダプタ等のデータに、値が存在しないことを表すnullが入っていることがあります。
変換ロジックに入力されたnullは、以下の様に処理されます。
- nullオプションを指定可能なロジック:指定されたオプションに基づいて入力されたnullを処理します。
- nullオプションを指定不可能なロジック:nullを出力し、後続の処理を継続します。
nullを表現できない出力先アダプタにnullを出力した場合、nullはアダプタ内で適切な表現に変換されます。
nullオプションを指定可能なロジックの一覧は、「nullオプション」を参照してください。
注意事項
- 四則演算ロジックでデフォルト動作時に使用される精度(小数点以下の有効桁数)は以下の通りです。
-
足し算・引き算・余りロジックの場合、入力ハンドラのうち高い方の精度を使用します。
例:189000+1.05=189001.05
-
掛け算ロジックの場合、入力ハンドラの精度の合計値を使用します。
例:189000.05×1.05=198450.0525
-
割り算ロジックの場合、1番目の入力ハンドラの精度を使用します。
例:189000.5÷0.05=3780010.0