Mapperロジック

Mapperロジックとは

Mapperロジックとは、四則演算や文字置換などさまざまな値の変換や加工を行うことができる機能です。

Mapperロジックの使用方法

Mapperロジックの配置

Mapperロジックを使用する場合は、ツールパレットのロジックアイコンをマッピングキャンバスにドラッグ&ドロップします。

たとえば、入力データに数値「1.05」を加算し、出力するという処理の場合、以下のように設定します。

マッピングリンクのつなぎ方

Mapperロジックの入力ハンドラへリンクをつなぐ方法は、入力ハンドラの種類によって変わります。

Mapperロジックの出力は、ほかのロジックや出力スキーマの要素にリンクをつなぎます。

 

入力ハンドラへのリンク

  • Mapperロジックに入力ハンドラが存在しない場合

    マッピングリンクをつなぐことはできません。

  • 入力ハンドラが1つの場合

    入力スキーマの要素、またはほかのMapperロジックをつなぐことができます。

    • 入力スキーマの要素

    • ほかのMapperロジック

  • 入力ハンドラが2つの場合

    入力元スキーマの要素とほかのMapperロジックを組み合わせてつなぐことが可能です。

    • 入力スキーマの要素同士

    • 入力スキーマの要素とほかのMapperロジック

= 備考 =

各Mapperロジックの機能や入力ハンドラの情報については、各Mapperロジックのヘルプを参照してください。

Mapperロジックの設定

Mapperロジックの各プロパティ項目の設定は、プロパティ設定ダイアログまたはプロパティインスペクタから行います。

Mapperロジックの移動方法

マッピングキャンバスに配置されたMapperロジックは、アイコンをドラッグ&ドロップすることで、いつでも移動できます。

Mapperロジックがマッピングされている場合は、マッピングリンクも一緒に移動します。

右クリックメニュー

マッピングキャンバスに配置したMapperロジックは、右クリックメニューから以下の処理を行うことができます。

= 補足 =

デザイナーの「メニュー」からも同様の処理を行うことができます。

項目の説明

項目名

説明

備考

切り取り

ロジックアイコンの切り取りを行います。

 

コピー

ロジックアイコンのコピーを行います。

 

削除

ロジックアイコンの削除を行います。

 

配置

ロジックアイコンの並び替えを行います。

  • 左揃え

  • 右揃え

  • 上揃え

  • 下揃え

  • 左右に整列

  • 上下に整列

  • アイコン複数選択時のみ実行できます。

  • [左右に整列]および[上下に整列]は、3つ以上のアイコン選択時に実行できます。

プロパティ

ロジックのプロパティ設定ダイアログを開きます。

アイコン単一選択時のみ実行できます。

貼り付け

切り取りした、またはコピーしたロジックアイコンの貼り付けを行います。

 

全選択

マッピングキャンバスに配置されているMapperロジックをすべて選択します。

 

Mapperロジックのヘルプ

ロジックアイコンを選択し[F1]キーを押すと、選択したロジックのヘルプが表示されます。

Mapperロジックの仕様

Mapperロジックの種類

Mapperロジックには「繰り返し」「変換」の二種類があります。

種類はアイコンの左上のチップで判別できます。

ロジックの種類

チップ画像

パレットのタブ名

繰り返しロジック

繰り返し

変換ロジック

分岐

条件

数値

文字列

日付

Excel

通常、繰り返しロジックで分割したそれぞれのデータを変換ロジックで加工し、順に出力します。

変換ロジックのデータの型

変換ロジックの入出力ハンドラにはそれぞれ型が定められています。

入力ハンドラの型は、入力時に変換されるデータの型を意味し、出力データの型は、変換・加工の結果データの型を意味します。

通常、入力データの型と、ロジックの入力ハンドラの型が異なる場合、入力ハンドラの型へのキャスト(変換)が動的に行われます。

型のキャストを行うことができない(変換できない)場合には、実行時エラーが発生します。

= 補足 =

実行時エラーの発生によるスクリプトの停止を防ぐには、あらかじめデータ自体のチェックを行うか、スクリプト上のMapperコンポーネントを例外監視処理で囲んでください。

 

変換ロジックの型

ロジックパレットは型により分類されており、型はアイコンの右下のチップで判別できます。

ロジックの型

内部データ型

チップ画像

パレットのタブ名

真偽値型

boolean

条件

数値型

BigDecimal

数値

文字列型

String

文字列

日付型

Date

日付

 

数値型ロジックの内部データ型

Mapperで扱う数値型は、小数点も含むデータを正確に表現できるBigDecimal型で処理を行っています。

文字列型で数値演算が行われる場合、BigDecimal型に変換され処理を行います。

数値の小数点以下を切り捨てたい場合には、文字列のロジック「数値フォーマッティング」を使用してください。

 

各型を文字列型に変換した場合のフォーマット

ロジックの型またはスクリプト変数のデータ型を、文字列型にマッピングした場合のフォーマットは以下のとおりです。

文字列型でのフォーマット

日付型

「yyyy-MM-dd'T'HH:mm:ss.SSSZZ」

バイナリ型

BASE64エンコード

数値型/整数型/10進数型

実数形式

真偽値型

「true」または「false」

= 備考 =

日付型のフォーマットについては、日時フォーマッティングの「フォーマット」を参照してください。

nullが入力された場合

データベースコネクターなどのデータに、値が存在しないことを表すnullが入っていることがあります。

変換ロジックに入力されたnullは、以下の様に処理されます。

  • nullオプションを指定可能なロジック:指定されたオプションに基づいて入力されたnullを処理します。

  • nullオプションを指定不可能なロジック:nullを出力し、後続の処理を継続します。

nullを表現できない出力先コネクターにnullを出力した場合、nullはコネクター内で適切な表現に変換されます。

また、入力スキーマがテーブルモデル型で出力スキーマがXML型の場合、出力データにマッピングされた入力データのnull値は、途中のMapperロジックでも空文字として扱います。

= 備考 =

nullオプションを指定可能なロジックの一覧は、「nullオプション」を参照してください。

仕様制限

Mapper共通

  • 異なるMapperエディターへのロジックアイコンの[貼り付け]は行うことはできません。

  • Mapperロジックの入力フィールドでは、以下の文字は使用できません。([コメント]フィールドを除く)

    • 「<」「&」

    注意

    Mapperロジックの入力フィールドに上記文字を使用した場合、実行時にエラーが発生します。

    その場合は、Mapperエディターを開き、スクリプトの保存を行ってください。

    注意

    正規表現パターンが入力可能なフィールド(「正規表現置換」、「正規表現にマッチ」ロジックなど)では、Unicode表記により記述することができます。

    • 「<」→「\u003C」

    • 「&」→「\u0026」

注意事項

Mapper共通

  • 四則演算ロジックでデフォルト動作時に使用される精度(小数点以下の有効桁数)は以下のとおりです。

    • 足し算・引き算・余りロジックの場合、入力ハンドラのうち最も高い精度を使用します。

      例:189000+1.05=189001.05

    • 掛け算ロジックの場合、入力ハンドラの精度の合計値を使用します。

      例:189000.05×1.05=198450.0525

    • 割り算ロジックの場合、1番目の入力ハンドラの精度を使用します。

      例:189000.5÷0.05=3780010.0

  • 日付の変換を行う以下のロジックでは、存在しない日時が入力された場合、または演算の結果得られた場合に、存在する日時への補正を自動的に行います(例:2005/04/31 → 2005/05/01)