マージMapper(詳細)

オペレーション名

マージ

機能概要

複数の入力データを結合します。

= 備考 =

マージMapperの機能の概要については、「マージMapper(基本)」を参照してください。

プロパティ(プロパティインスペクタ)

基本設定

項目名

必須/省略可

変数の使用

説明

備考

名前

必須

使用不可

スクリプトキャンバス上での名前を入力します。

 

入力データ

必須

使用不可

入力データの編集画面から、結果データを出力するコンポーネントを選択します。

  • マージMapperでは、複数の入力データを指定できます。

    入力データ入力フィールドの右にあるボタンをクリックし、入力データを選択します。入力データの編集画面が表示されます。

入力データの編集

 

項目名

必須/省略可

変数の使用

説明

備考

入力データ

必須

使用不可

結果データを出力するコンポーネントを選択します。

各列は以下のボタンで操作することができます。

  • 上へ:

    選択している列の順序を一つ上に上げます。(Mapperエディター上の入力スキーマの順序が入れ替わります。)

  • 下へ:

    選択している列の順序を一つ下に下げます。(Mapperエディター上の入力スキーマの順序が入れ替わります。)

 

コメント

項目名

必須/省略可

変数の使用

説明

備考

コメント

省略可

使用不可

任意のコメントを記述できます。

 

入出力スキーマ

Mapperでは、データフローでつながれたコンポーネントのスキーマを入力元または出力先に表示します。スキーマの要素をマッピングリンクでつなぐことにより、データの受け渡しを行うことができます。

コンポーネントの種類によって、スキーマが自動で設定される場合と、手動で設定が必要な場合があります。

= 備考 =

詳細については、「コネクターのスキーマについて」を参照してください。

大容量データ処理

マージMapperは、大容量データ処理を行ったコンポーネントが入力元の場合、大容量データ処理を行います。

注意
  • ただし、通常のメモリ処理と比べパフォーマンスが低下するため、使用する際には注意が必要です。

  • マージMapperでは入力元のデータソースの数によって、実行時のメモリの消費率が多くなるため、複数のデータソースのマージ実行時はメモリの使用率に注意してください。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名

説明

備考

message_category

エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。

  • デフォルト値はnullです。

message_code

エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。

  • デフォルト値はnullです。

message_level

エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。

  • デフォルト値はnullです。

error_type

エラー発生時、発生したエラーの種類が格納されます。

  • デフォルト値はnullです。

  • エラーの種類は、以下のような形式となります。

    例:「java.io.FileNotFoundException」

error_message

エラー発生時、発生したエラーのメッセージが格納されます。

  • デフォルト値はnullです。

error_trace

エラー発生時、発生したエラーのトレース情報が格納されます。

  • デフォルト値はnullです。

仕様制限

  • 変換ロジックを出力スキーマに直接マッピングすることはできません。

  • スクリプト変数やコンポーネント変数とのマージを行うことはできません。

  • マッピングキャンバス上に使用しないロジックを残すと、正常に処理を行うことができません。

    使用しないロジックは、マッピングキャンバス上から削除してください。コンパイルは通りますが、実行時にエラーになります。

  • コントロールコードなどのXML文書中に格納することができない文字を持つCSV、固定長可変長、データベースなどのテーブルモデル型データからXML型データに変換することはできません。

  • マージMapperは、トランザクションをサポートしていません。よって、マージMapperより前の処理で変更したデータベースやファイルの内容を参照することはできません。

  • Mapperでは、データフローが直接引かれているコンポーネントのスキーマの変更通知のみを受け取り、スキーマの同期を行います。

    たとえば、Mapperの入力元が繰り返し(データ件数)処理の場合、繰り返し(データ件数)処理の入力元であるコンポーネントのスキーマを(別のテーブルを選択するなどして)変更しても、Mapperの入力スキーマは同期されません。

    手動でのスキーマの読み込みを行ってください。

  • 複数のMapperを出力先とするMapperを開いた状態で、出力先のMapperで入力スキーマを読み込んでも、ほかの出力先のMapperにスキーマの通知は行われません。その場合、プロジェクトを開き直し、複数のMapperを出力先とするMapperを閉じた状態でスキーマの読み込みを行ってください。

  • マージMapperの出力先にXML型のスクリプト出力変数を設定し、プロジェクトエクスプローラでスクリプト変数名を変更しても、出力先スキーマに反映されません。その場合、プロジェクトを開き直すと変更が反映されます。

  • マージMapperの出力先に編集可能なスキーマを持つコンポーネントを設定し、変数MapperでそのマージMapperのスキーマを変更しても、マージMapperの出力先スキーマには反映されません。その場合、マージMapperの出力先スキーマから変更してください。

  • スキーマが定義されている状態で、属性を持つ別のスキーマを読み込むと、要素の順序が保たれない場合があります。その場合、手動で編集するか、再度スキーマの読み込みを行ってください。

  • スキーマの読み込みを行った場合、そのスキーマは入力元/出力先のコンポーネントには通知されません。

  • マッピングキャンバス上で、ショートカットキーによるロジックアイコンの切り取り、コピーおよび貼り付けができない場合があります。その場合、右クリックメニューやデザイナーのメニューを使用してください。

  • マッピングキャンバス上の複数のロジックアイコンを選択して移動した際に、ロジックアイコンが画面外に配置されてしまうことがあります。その場合、マッピングキャンバス上のロジックアイコンを全選択状態にして画面内に移動させてください。

注意事項

  • 出力データのデータモデルは常にXML型 となります。

    出力スキーマにテーブルモデルのスキーマを設定しても、繰り返し処理(データ件数)にデータフローを引く場合には、分割パスに"/table/row"を設定する必要があります。

    データベースなどから読み取ったnull値は、マージ処理の際に空文字に変換されて出力されます。

    よって、マージの後続のドキュメントMapperなどで出力値のnullチェックを行った場合の結果は「false」となります。

  • 複数のマージを起動している場合、タブの切り替えではリアルタイム実行のビューが切り替わりません。

    該当するスクリプトのキャンバスで、リアルタイム実行するマージのアイコンを選択し、フォーカスを合わせてください。

  • マージで結合処理を行う際に、データの前後に含まれている空白文字、タブ、改行を削除することができます。

  • 出力データの改行コードは「LF」です。