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

Availability-note[非推奨](https://help.talend.com/r/en-US/Cloud/labels-on-talend-help-center/availability-deprecated)

このコンテンツは非推奨になりました。

利用対象...

* Data Fabric
* MDM Platform

[Before Saving] (保存前)/[Before Deleting] (削除前)プロセスは命名規則によって直接呼び出されます。通常の[Trigger] (トリガー) &gt; [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] (データモデル) &gt; [System] (システム) &gt; [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変数が検索されます。

最初のケース:

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

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

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

2番目のケース:

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

3番目のケース:

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