メイン コンテンツをスキップする

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

[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番目のケース:

プロセスは例外を返します(通常、プロセスのステップの1つが技術的エラーにつながります: 間違った構成、XSLT構文エラー、ジョブが見つからない、または呼び出せなかったなど)。技術的なエラーメッセージが表示され、データレコードは[Before Saving] (保存前)のプロセスでは保存されず、[Before Deleting] (削除前)プロセスでは削除されません。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。