データ書き込み(UPSERT)処理(旧)

オペレーション名

データ書き込み(UPSERT)

機能概要

SOAP API の upsert() を使用してデータを追加または更新します。

 

upsert() では、外部 ID (※)というインデックス付けされたカスタム項目を使用して、新しいレコードを作成するか、既存レコードを更新するかを判別します。

API ドキュメントでは、多くの場合、不要な重複レコードが作成されないようにするために、create() の代わりに upsert() を使用することが推奨されています。

(※事前にSalesforceのカスタマイズ機能を使用して定義します。)

 

入力データに対するレコードごとの結果や ID は出力スキーマから受け取ることができます。

 

= 備考 =

本オペレーションが使用するAPI仕様については、コネクションリソースで選択したバージョンのAPIドキュメントを以下のリンク先ページより参照してください。

  • 「Salesforce Developer Documentation」-(https://developer.salesforce.com/docs)

    • SOAP API Developer's Guide

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。

プロパティ

= 備考 =

変数の使用については、「変数」を参照してください。

基本設定

項目名

必須/省略可

変数の使用

説明

備考

名前

必須

使用不可

スクリプトキャンバス上での名前を入力します。

 

入力データ

必須

使用不可

スクリプトキャンバス上にあるコンポーネントを選択します。

 

必須設定

項目名

必須/省略可

変数の使用

説明

備考

接続先

必須

使用不可

コネクションリソースを選択します。

[追加]

新規にコネクションリソースを追加します。

[一覧の編集]

> HULFT INTEGRATE > コネクションで、コネクションリソースの設定を編集することができます。

 

テーブル名

必須

使用不可

Salesforceのテーブル名を選択します。

 

ソート

必須

使用不可

項目一覧を選択した方法で並び替えます。

[選択昇順]
[選択降順]
[ラベル昇順]
[ラベル降順]
[API昇順]

(デフォルト)

[API降順]
[型昇順]
[型降順]
[外部ID昇順]
[外部ID降順]
[追加可能昇順]
[追加可能降順]
[更新可能昇順]
[更新可能降順]
[Null許可昇順]
[Null許可降順]

 

項目一覧

必須

-

[テーブル名]で選択したSalesforceテーブル内の項目一覧を表示します。

追加可能な項目のみ表示されます。

項目一覧/選択

省略可

使用不可

[スキーマ定義]として選択する列のチェックボックスにチェックを入れます。

 

項目一覧/ラベル

必須

使用不可

[テーブル名]で選択したテーブルの列のラベル名を表示します。

 

項目一覧/API

必須

使用不可

[テーブル名]で選択したテーブルの列のAPI名を表示します。

 

項目一覧/型

必須

使用不可

[テーブル名]で選択したテーブルの列のデータ型を表示します。

 

項目一覧/外部ID

-

-

外部IDの設定が表示されます。

[チェックあり]

外部IDが存在します。

[チェック無し]

外部IDが存在しません。

 

項目一覧/追加可能

-

-

項目の追加の設定が表示されます。

[チェックあり]

項目を追加できます。

[チェック無し]

項目を追加できません。

 

項目一覧/更新可能

-

-

項目の更新の設定が表示されます。

[チェックあり]

項目を更新できます。

[チェック無し]

項目を更新できません。

 

項目一覧/Null許可

-

-

NULL値の設定を許可するかどうかが表示されます。

[チェックあり]

NULL値の設定を許可します。

[チェック無し]

NULL値の設定を許可しません。

 

スキーマ定義

必須

-

スキーマ定義として選択したテーブルの列の一覧が表示されます。

 

スキーマ定義/更新キー

省略可

使用不可

更新キー項目となる項目をチェックします。

[チェックあり]

選択したスキーマ定義を更新キーにします。

[チェック無し]

更新キーにしません。

 

スキーマ定義/ラベル

必須

使用不可

スキーマ定義として選択したテーブルの列のラベル名を表示します。

 

スキーマ定義/API

必須

使用不可

スキーマ定義として選択したテーブルの列のAPI名を表示します。

 

スキーマ定義/型

必須

使用不可

スキーマ定義として選択したテーブルの列のデータ型を表示します。

 

スキーマ定義/外部ID

-

-

外部IDの設定が表示されます。

[チェックあり]

外部IDが存在します。

[チェック無し]

外部IDが存在しません。

 

スキーマ定義/追加可能

-

-

項目の追加の設定が表示されます。

[チェックあり]

項目を追加できます。

[チェック無し]

項目を追加できません。

 

スキーマ定義/更新可能

-

-

項目の更新の設定が表示されます。

[チェックあり]

項目を更新できます。

[チェック無し]

項目を更新できません。

 

スキーマ定義/Null許可

-

-

NULL値の設定を許可するかどうかが表示されます。

[チェックあり]

NULL値の設定を許可します。

[チェック無し]

NULL値の設定を許可しません。

 

スキーマ定義(外部ID)

省略可

-

スキーマ定義にリレーション項目が存在する場合、外部キーによる更新を行うための項目を設定します。

リレーション先オブジェクトの外部キー項目を選択することにより、リレーション関係を持たせたデータの受け渡しが可能となります。

注意

API 14.0以降で使用可能です。API 7.0では使用不可です。

スキーマ定義(外部ID)/元項目API

必須

使用不可

[テーブル名]で指定したテーブルのリレーション項目の列のAPI名を表示します。

 

スキーマ定義(外部ID)/リレーションシップ名

必須

使用不可

[テーブル名]で指定したテーブルのリレーション項目の列のリレーションシップ名を表示します。

 

スキーマ定義(外部ID)/オブジェクトAPI

省略可

使用不可

[テーブル名]で指定したテーブルのリレーション項目の列のリレーション先のオブジェクトのAPI名を選択します。

 

スキーマ定義(外部ID)/リレーション用項目API

省略可

使用不可

[テーブル名]で指定したテーブルのリレーション項目の列のリレーション先オブジェクトの外部キー項目を選択します。

  • 省略した場合、リレーション先オブジェクトの該当レコードのIDを受け渡す仕様となります。

プロパティアクション

項目名

説明

備考

↓選択

[項目一覧/選択]列にチェックがある項目を[スキーマ定義]に設定します。

 

オプション設定

項目名

必須/省略可

変数の使用

説明

備考

カラム名タイプ

必須

使用不可

マッピングでスキーマを表示する際のカラム名の表示タイプを選択します。

[ラベル]

Salesforceで定義されたラベル名(項目名)で表示します。

[API]

(デフォルト)

Salesforceで定義されたAPI参照名で表示します。

 

バッチサイズ

必須

使用可

Salesforceに対してデータ書き込み処理を行う際のバッチサイズを入力します。

  • デフォルト値は「200」です。

  • 「1」以上「200」以下の値が指定できます。範囲以外の値が指定された場合、エラーが発生します。

  • 使用環境によりますが、一般的にバッチサイズを大きくすることにより、データの書き込み効率は向上します。

注意

Salesforceコネクターの仕様として、10,000件のデータを書き込むケースで、バッチサイズを200と設定した場合、書き込み処理を50回に分けて実行します。

更新結果取得有無

必須

使用不可

Salesforceに対してデータ書き込み処理を行った結果を取得するかどうかを指定します。

[取得する]

(デフォルト)

データ書き込み処理を行った結果を取得します。

[取得しない]

データ書き込み処理を行った結果を取得しません。

  • [取得する]を選択した場合、スキーマ定義に指定した項目および結果情報の項目をテーブルモデル型のデータとして後続に受け渡すことができます。

  • 取得する情報については、「スキーマ」を参照してください。

コメント

項目名

必須/省略可

変数の使用

説明

備考

コメント

省略可

使用不可

このコネクターの簡単な説明を記述することができます。

 

スキーマ

入力スキーマ

[スキーマ定義]の設定により、カラム数が異なります。

= 備考 =

スキーマ構造については、「テーブルモデル型 」を参照してください。

出力スキーマ

[スキーマ定義]で設定されたカラムに、更新結果の情報が付与されます。

(以下、「ラベル/API」という形式で表記)

<?xml version="1.0" encoding="UTF-8" ?>
<table>
   <row>
    <column>[スキーマ定義]で設定されたラベル/API</column>
       :
     <column>更新結果_ID/upsert_result_id</column>
     <column>更新結果_成功フラグ/upsert_result_is_success</column>
     <column>更新結果_新規作成フラグ/upsert_result_is_created</column>
     <column>更新結果_エラーステータスコード/upsert_result_error_status_code</column>
     <column>更新結果_エラーメッセージ/upsert_result_error_message</column>
     <column>更新結果_行番号/upsert_result_row_number</column>
   </row>
   <row>
     :
   </row>
</table>

要素名

列名(ラベル/API)

説明

備考

row

-

入力スキーマに渡されたデータ件数分繰り返します。

  • [更新結果取得有無][取得しない]とした場合、0件となります。

注意

データ型の不一致など不整合なデータが存在した場合、入力データ順と出力データ順は必ずしも一致しません。[更新結果_行番号/upsert_result_row_number]を順序条件とすることで、後続のMapperで入力データ順にソートすることができます。

column

更新結果_ID/upsert_result_id

SalesforceのIDを出力します。

 

更新結果_成功フラグ/upsert_result_is_success

成功フラグを出力します。

[true]

処理に成功しました。

[false]

処理に失敗しました。

[更新結果_エラーステータスコード/upsert_result_error_status_code]および[更新結果_エラーメッセージ/upsert_result_error_message]を確認してください。

 

更新結果_新規作成フラグ/upsert_result_is_created

新規作成フラグを出力します。

[true]

レコードが新規作成されました。

[false]

レコードの新規作成は行われませんでした。

 

更新結果_エラーステータスコード/upsert_result_error_status_code

SalesforceのAPIが返すステータスコードを出力します。

  • 以下の場合はSalesforceコネクターがコードおよびメッセージを出力します。

    • 「SALESFORCE_ADAPTER_ILLEGAL_DATA_TYPE」

      コネクションリソースの種類がAPI 23.0以前の場合、定義された項目の属性と入力データ型が一致しない場合に設定されます。たとえば、「double」と定義された項目に対し数値以外の文字列が入力された場合などです。

更新結果_エラーメッセージ/upsert_result_error_message

SalesforceのAPIが返すメッセージを出力します。

更新結果_行番号/upsert_result_row_number

入力スキーマに渡されたデータ内のノードの位置に基づいて番号を出力します。

 

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。

= 備考 =

詳細については、「スキーマ編集」を参照してください。

大容量データ処理

大容量データ処理に対応していません。

トランザクション

トランザクションはサポートしていません。

PSPでの使用について

PSPでは使用できません。

使用できるコンポーネント変数

コンポーネント変数名

説明

備考

insert_count

追加処理に成功したデータの件数が格納されます。

  • デフォルト値はnullです。

update_count

更新処理に成功したデータの件数が格納されます。

  • デフォルト値はnullです。

error_count

追加・更新処理に失敗したデータの件数が格納されます。

  • デフォルト値はnullです。

read_count

入力データの件数が格納されます。

  • デフォルト値はnullです。

server_url

ログイン後のエンドポイントURLが格納されます。

  • デフォルト値はnullです。

session_id

セッションIDが格納されます。

  • デフォルト値はnullです。

message_category

エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。

  • デフォルト値はnullです。

message_code

エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。

  • デフォルト値はnullです。

message_level

エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。

  • デフォルト値はnullです。

operation_api_exception_code

APIエラー発生時、発生したエラーのExceptionCodeが格納されます。

  • デフォルト値はnullです。

  • APIエラー以外のエラー発生時は、値が格納されません。

operation_error_message

エラー発生時、発生したエラーのメッセージが格納されます。

  • デフォルト値はnullです。

operation_error_trace

エラー発生時、発生したエラーのトレース情報が格納されます。

  • デフォルト値はnullです。

メッセージコード、例外メッセージ、制限事項

コネクター

メッセージコード

エラーメッセージ

制限事項

Salesforce(旧) コネクターのメッセージおよび制限事項

check

check

check