Salesforce への書き込み時にデータ単位のエラーが発生した場合、
データ書き込み(UPSERT)処理のヘルプにおける下記記載の通り、
例外監視処理では検知されません。
---
本オペレーションでは、データベースアダプタなどとは異なり、
エラー発生時にロールバックすることができません。
そのため、正常データは更新し、エラーデータは更新せず
その情報を WARN レベルのログとして出力します。
よって、データ単位でのエラー(制約違反や設定値不正など)が存在する場合、
スクリプト内で例外監視処理によるエラーの検出を行なうことはできません。
データ単位でのエラー情報を処理の中でデータとして使用したい場合、
[更新結果取得有無] に [取得する] を選択し、後続の処理で結果データを
エラーの検出などのハンドリングに使用してください。
---
■ヘルプ
▼[アダプタ] - [クラウド] - [Salesforce] - [データ書き込み(UPSERT)]
・DataSpider Servista
・DataSpider Cloud
■想定される対処方法
一例となりますが、以下のような方法が想定されます。
▼手順
1.データ書き込み(UPSERT)処理の [更新結果取得有無] にて、[取得する] を選択する
2.データ書き込み(UPSERT)処理の出力スキーマ中の
[upsert_result_is_success] を、スクリプト変数にマッピングする
3.条件分岐処理で、「2」で設定されたスクリプト変数の値が
「false」の場合は例外通知処理に分岐させる 等
▼補足
Salesforceアダプタの下記処理も、データ書き込み(UPSERT)処理と同様、
データ単位のエラーが発生しても例外監視処理では検知されません。
---
・データ書き込み(INSERT)処理
・データ書き込み(UPDATE)処理
・データ書き込み(DELETE)処理
---
上記の内容については、各機能のヘルプの [注意事項] をご参照ください。
■ヘルプ
▼[アダプタ] - [クラウド] - [Salesforce] - [データ書き込み(INSERT)]
・DataSpider Servista
・DataSpider Cloud
▼[アダプタ] - [クラウド] - [Salesforce] - [データ書き込み(UPDATE)]
・DataSpider Servista
・DataSpider Cloud
▼[アダプタ] - [クラウド] - [Salesforce] - [データ書き込み(DELETE)]
・DataSpider Servista
・DataSpider Cloud