PentahoでのSalesforce Insert,Update,Upsertの使いどころ

Pentahoでは、Salesforceのデータを挿入したり、更新したりするときに、「Salesforce Insert」「Salesforce Update」「Salesforce Upsert」という箱を使います。

どんなときにどの箱を使えばいいのか、戸惑うときがあるので、ちょっとまとめてみました。

pentaho

 

 

「Salesforce Insert」の使いどころ

pentaho insert

 

すべて新規のレコードとして作成されますので、SalesforceIdはフィールドにマッピングしません。

作成時にレコードにセットしておきたい項目のみマッピングします。

なので、入力データにIdがあったとしても、SalesforceIdにマッピングされていないので、すべて新規レコードとなります。

 

「Salesforce Update」

pentaho update

 

SalesforceIdをキーとして更新しますので、フィールドにIdをマッピングします。

そのため、入力データのId項目の値が不正だったり、空だと、更新時にエラーになります。

 

「Salesforce Upsert」

pentaho update

 

上記のダイアログのように、「比較フィールド更新」の項目に指定した項目をキーにレコードを更新します。

ここには、ユニークな「外部キー」を指定します。

SalesforceIdも指定できますが、Upsertの場合、Idがnullの場合、Insertしてくれず、INVALID_ID_FIELDになってしまいます。

つまり、IdをキーによろしくUpsertしてくれないということです。

そのため、SalesforceIdでレコードの挿入/更新を行う場合は、下記のように前段でId項目のフィルターを行い、Idがnullの場合はSalesforce Insert、Idが存在している場合はSalesforce Updateを呼ぶように分岐した方が良いと思います。

pentaho update

 

コメントを残す

サブコンテンツ

このページの先頭へ