同期処理時の設定
同期処理時の設定とは
同期処理時の設定ではシステム間で同期するときの細かい処理の制御をおこなうことができます。
同期処理時の設定の表示
「同期処理時の設定」を表示するには、マッピング一覧を表示した状態で「同期処理時の設定」タブをクリックします。


同期処理時の設定の編集
「同期処理時の設定」の編集は次の手順で行います。
同期処理時の設定で変更できる項目
同期処理時の設定で変更できる項目は次のとおりです。
| 基準日 | MDM One MIのマスターがソースとして使用される場合に設定します。
|
|---|---|
| フィルター | 同期時にデータを取得するためのフィルター(検索条件)を指定します。SQLのWHERE句で指定します。 検索条件は複数指定することができます。 検索条件を追加したい場合は「条件追加」ボタンをクリックします。 複数の検索条件を指定した場合、すべての条件に合致するデータのみが取得されます。 保存時にSQLのWHERE句が自動生成されて設定されます。 例:WHERE AREA='関東' 変数を使用することができます。 入力側システムがMDM One MIの場合、フィルターを'手入力'で設定することはできません。 入力側システムがRDBでSQLを使用してデータを取得する場合、フィルターを使用することはできません。 |
| 差分検出の処理方式 | ソースシステムの差分検出時にデータをメモリ上に展開して差分検出の処理を実行するかを指定します。
|
| 削除マッピングの処理方式 |
削除時に出力側システムのデータベースのレコードを物理削除するか、論理削除するかを指定します。
|
| マッピングのエラー処理 |
マッピング処理でエラーが発生した場合、そのレコードの処理をどうするかを指定します。たとえば、関数でエラーになったような場合です。
|
| 同期処理時のエラー処理 |
出力側システムにデータを書き込むときにエラーが発生した場合、そのレコードをどう処理するかを指定します。
|
強制的に更新する場合のマッピング
同期処理時のエラー処理で「強制的に更新する」を指定した場合、既存のレコードの有無にかかわらず更新が行われます。
例えば、入力側のシステムで追加されたレコードに対して、出力側ですでにレコードが存在する場合は更新レコードとして処理します。このとき、マッピングアクティビティは追加アクティビティではなく、更新アクティビティが実行されます。
センターリポジトリを初期化した後に同期を実行したような場合、あるいは、全く初回の同期時のような場合、ソースシステムに存在するレコードはすべて追加扱いとなりセンターリポジトリに追加されます。しかし、ターゲットシステムでは運用上すでにマニュアル操作などでそれらのレコードが登録されていることがあります。このような場合、既存のレコードに対して、マッピングしたデータを書き込むことができます。
逆に、入力側のシステムで更新されたレコードに対して、出力側にレコードがない場合は追加レコードとして処理します。このとき、マッピングアクティビティは更新アクティビティではなく、追加アクティビティが実行されます。
何らかの理由でターゲットシステムにはないレコードがソースシステムには存在するような場合、ソースシステムから更新レコードとして検出されたレコードがセンターリポジトリに登録されますが、ターゲットには追加しなければならないようなケースで利用できます。
例えば、入力側のシステムで追加されたレコードに対して、出力側ですでにレコードが存在する場合は更新レコードとして処理します。このとき、マッピングアクティビティは追加アクティビティではなく、更新アクティビティが実行されます。
センターリポジトリを初期化した後に同期を実行したような場合、あるいは、全く初回の同期時のような場合、ソースシステムに存在するレコードはすべて追加扱いとなりセンターリポジトリに追加されます。しかし、ターゲットシステムでは運用上すでにマニュアル操作などでそれらのレコードが登録されていることがあります。このような場合、既存のレコードに対して、マッピングしたデータを書き込むことができます。
逆に、入力側のシステムで更新されたレコードに対して、出力側にレコードがない場合は追加レコードとして処理します。このとき、マッピングアクティビティは更新アクティビティではなく、追加アクティビティが実行されます。
何らかの理由でターゲットシステムにはないレコードがソースシステムには存在するような場合、ソースシステムから更新レコードとして検出されたレコードがセンターリポジトリに登録されますが、ターゲットには追加しなければならないようなケースで利用できます。
PostgreSQL利用時の注意
PostgreSQLを利用する場合、PostgreSQLの仕様で一度エラーになったJDBCコネクションに対して処理を続行することができません。このため、出力側システムにPostgreSQLを利用する場合、同期処理時のエラー処理に「無視する」を指定することはできません。
フィルターの入力方式が選択式で設定できる演算子
指定できる演算子は以下のとおりです。
| 演算子 | 説明 |
|---|---|
| = | 対象のカラムの値が指定した値と等しい |
| > | 対象のカラムの値が指定した値より大きい |
| < | 対象のカラムの値が指定した値より小さい |
| >= | 対象のカラムの値が指定した値より大きい、もしくは等しい |
| <= | 対象のカラムの値が指定した値より小さい、もしくは等しい |
| <> | 対象のカラムの値が指定した値と等しくない |
| IN | 対象のカラムの値が指定した値に含まれる。値はカンマで区切って指定します。 |
| NOT IN | 対象のカラムの値が指定した値に含まれない。値はカンマで区切って指定します。 |
| IS NULL | 対象のカラムの値がNULL |
| IS NOT NULL | 対象のカラムの値がNULLではない |
| LIKE | 対象のカラムの値に指定した単語パターンに一致 |
| 次の単語が含まれる | 対象のカラムの値に指定した単語が含まれる |

