ジョブの保存/削除前のスキーマの設定 - 7.1

Talend Data Fabric Studio ユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Data Fabric
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

[Before Saving] (保存前)/[Before Deleting] (削除前)プロセスは命名規則によって直接呼び出されます。通常の[Trigger] (トリガー) > [Process] (プロセス)の操作は行いません。[Before Saving] (保存前)または[Before Deleting] (削除前)プロセスで呼び出されたジョブは、トリガーで呼び出されたときとは異なるドキュメントを受け取ります。さらに、ステータスレポートまたはWebインターフェイスで処理を続行/キャンセルするためのエラーまたは警告メッセージ([Before Saving] (保存前)のみ)が返されることが想定されます。

注: プロセスでは常にoutput_reportと呼ばれる変数を返す必要があります。

[Input] (入力)

入力ドキュメントは更新レポートと、保存または削除されているレコードで構成されます:

<exchange>
      <report>
      ... update report ...
      </report>
      <item>
      ... record ...
      </item>
</exchange>
注: 更新レポートの正確なスキーマの説明は、[MDM Repository] (MDMリポジトリー)ツリービューの[Data Model] (データモデル) > [System] (システム) > [UpdateReport]から参照できます。

ジョブでは、トリガーと同様の条件を付けることができます。たとえば、exchange/report/Update/OperationTypeを使用して、CREATEおよびUPDATEで異なる条件を実装できます。

出力

ジョブでは表示するメッセージタイプに基づいて、以下のいずれかの形式に準拠したドキュメントを返します:

  • <report><message type="error">message</message></report>
  • <report><message type="warning">message</message></report>

    ([Before Saving] (保存前)プロセスの場合のみ)

  • <report><message type="info">message</message></report>
注: [Before Saving] (保存前)プロセスを作成する場合は、有効化ルールをチェックし、その場でレコードを登録するという2ステップのプロセスを定義する必要があります。最初のステップではoutput_itemが返され、もう一方のステップではoutput_reportが返されます。

[Before Saving] (保存前)および[Before Deleting] (削除前)の処理方法としては、以下の3つのケースにまとめることができます。

MDMサーバーでは[Before Saving] (保存前)または[Before Deleting] (削除前)プロセスの完了時にプロセスパイプラインでoutput_report変数が検索されます。

最初のケース:

  • <report><message type="info">message</message></report>の場合: データレコードの有効化チェックプロセスが正常に実行され、メッセージが表示されます。データレコードは[Before Saving] (保存前)プロセスで正常に保存されるか、[Before Deleting] (削除前)プロセスで正常に削除されます。

  • <report><message type="warning">message</message></report>の場合([Before Saving] (保存前)のプロセスの場合のみ): データレコードの有効化プロセスが実行され、警告メッセージが表示されます。[OK]をクリックして処理を続行し、レコードを保存するか、[Cancel]をクリックして処理を中止します。

  • <report><message type="error">message</message></report>の場合: データレコードの有効化チェックプロセスが失敗し、メッセージが表示されます。データレコードは[Before Saving] (保存前)プロセスでは保存されず、[Before Deleting] (削除前)プロセスでは削除されません。

2番目のケース:

MDMサーバーでoutput_report変数が見つからなかった場合です。データレコードの有効化プロセスが失敗し、確認するエラーメッセージが表示されます。データレコードは[Before Saving] (保存前)プロセスでは保存されず、[Before Deleting] (削除前)プロセスでは削除されません。

3番目のケース:

このプロセスによって例外がスローされます(通常はプロセスにより例外がスローされます(無効な設定、XSLT構文エラー、ジョブが見つからない、または起動できなかったなど、プロセスステップの1つで技術的エラーが発生します)。技術的なエラーメッセージが表示され、データレコードは[Before Saving] (保存前)のプロセスでは保存されず、[Before Deleting] (削除前)プロセスでは削除されません。