データ書き込み(DELETE)処理

オペレーション名

データ書き込み(DELETE)

機能概要

SOAP API の delete() を使用してデータを削除します。

delete() では、対象となる各レコードの ID を指定する必要があります。
ただし、本コンポーネントでは ID 以外の項目をキーとして指定することができます。この場合、ID を取得するため入力データの値をもとに query() が実行されます。

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

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

データモデル

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

プロパティ

変数の使用については、「変数」を参照してください。
基本設定
項目名 必須/省略可 変数の使用 説明 備考
名前 必須 使用不可 スクリプトキャンバス上での名前を入力します。  
入力データ 必須 使用不可 スクリプトキャンバス上にあるコンポーネントを選択します。  
必須設定
項目名 必須/省略可 変数の使用 説明 備考
接続先 必須 使用不可 グローバルリソースを選択します。
グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。
  • [追加]:
    新規にグローバルリソースを追加します。
  • [一覧の編集]:
    「リソース一覧の編集」画面にて、グローバルリソースの設定を編集することができます。
 
テーブル名 必須 使用不可 Salesforceのテーブル名を選択します。  
スキーマ定義 必須 - Salesforceのデータを削除する際のキーとなる項目を設定します。
スキーマ定義/ラベル 必須 使用不可 [テーブル名]で指定したテーブルの列のラベル名を表示します。  
スキーマ定義/API 必須 使用不可 [テーブル名]で指定したテーブルの列のAPI名を表示します。  
スキーマ定義/型 必須 使用不可 [テーブル名]で指定したテーブルの列のデータ型を表示します。  
プロパティアクション
項目名 説明 備考
スキーマの作成 Salesforceのデータを削除する際のキーとなる項目の追加・削除を行うことができます。
設定方法については、「スキーマの作成」を参照してください。
 
オプション設定
項目名 必須/省略可 変数の使用 説明 備考
カラム名タイプ 必須 使用不可 マッピングでスキーマを表示する際のカラム名の表示タイプを選択します。
  • [ラベル]:
    Salesforceで定義されたラベル名(項目名)で表示します。
  • [API]:(デフォルト)
    Salesforceで定義されたAPI参照名で表示します。
 
バッチサイズ 必須 使用可 Salesforceに対してデータ書き込み処理を行う際のバッチサイズを入力します。
  • デフォルト値は「200」です。
  • 「1」以上「200」以下が値が指定できます。範囲以外の値が指定された場合、エラーが発生します。
  • 使用環境によりますが、一般的にバッチサイズを大きくすることにより、データの書き込み効率は向上します。
  • Salesforceアダプタの仕様として、1,000件のデータを書き込むケースで、バッチサイズを200と設定した場合、書き込み処理を5回に分けて実行します。
削除結果取得有無 必須 使用不可 Salesforceに対してデータ書き込み処理を行った結果を取得するかどうかを指定します。
  • [取得する]:(デフォルト)
    データ書き込み処理を行った結果を取得します。
  • [取得しない]:
    データ書き込み処理を行った結果を取得しません。
  • [取得する]を選択した場合、スキーマ定義に指定した項目および結果情報の項目をテーブルモデル型のデータとして後続の処理に受け渡すことができます。
  • 取得する情報については、「スキーマ」を参照してください。
  • 使用例については、「結果取得使用例」を参照してください。
プロパティアクション
項目名 説明 備考
テーブル情報の表示 操作を行っているオブジェクトのテーブル構造を確認できます。
テーブル構造の参照方法については、「テーブル情報の表示」を参照してください。
  • 他のオブジェクトのテーブル構造を確認したい場合、[全テーブル情報の読み込み]をクリックしてください。
全テーブル情報の読み込み 取得可能なすべてのテーブル構造を取得します。
実行後に、[テーブル情報の表示]から取得した内容を確認することができます。
 
ファイルからスキーマ定義を読み取り ファイルチューザでファイルを選択して、そのファイルの1行目にカンマ区切りで指定された項目(API)を読み取り、スキーマ定義として設定します。
  • 選択するファイルのエンコードは「UTF-8」を指定してください。
スキーマ定義をファイルへ出力 ファイルチューザで指定したファイルの1行目に、[スキーマ定義/API]の項目をカンマ区切りで出力します。
  • API 53.0以降のグローバルリソースを選択している場合のみ有効になります。
  • [スキーマ定義/API]以外の項目は出力しません。
  • 指定したファイルのエンコードは「UTF-8」になります。
  • 指定したファイルが存在する場合、上書きされます。
  • ファイルパスはDataSpiderファイルシステムの絶対パスで指定してください。
  • パス区切り文字「/」以外のDataSpiderファイルシステムの使用禁止文字は使用できません。
  • 本プロパティアクションで出力したファイルを[ファイルからスキーマ定義を読み取り]で読み取ることができます。
データ処理方式
項目名 必須/省略可 変数の使用 説明 備考
データ処理方式 必須 使用不可 データ処理方式を選択します。
  • [スクリプトの設定を使用する]:(デフォルト)
    スクリプトプロパティの大容量データ処理の設定をアダプタに使用します。
  • [大容量データ処理を行わない]:
    大容量データ処理を行いません。
  • [大容量データ処理を行う]:
    大容量データ処理を行います。
 
コメント
項目名 必須/省略可 変数の使用 説明 備考
コメント 省略可 使用不可 このアダプタの簡単な説明を記述することができます。
説明を記述すると、仕様書に反映させることができます。
 

スキーマ

入力スキーマ

[スキーマ定義]の設定により、カラム数が異なります。
スキーマ構造については、「テーブルモデル型のスキーマ」を参照してください。

出力スキーマ

[スキーマ定義]で設定されたカラムに、削除結果の情報が付与されます。
(以下、「ラベル/API」という形式で表記)

<?xml version="1.0" encoding="UTF-8" ?>
<table>
  <row>
    <column>[スキーマ定義]で設定されたラベル/API</column>
       :
    <column>削除結果_ID/delete_result_id</column>
    <column>削除結果_成功フラグ/delete_result_is_success</column>
    <column>削除結果_エラーステータスコード/delete_result_error_status_code</column>
    <column>削除結果_エラーメッセージ/delete_result_error_message</column>
    <column>削除結果_行番号/delete_result_row_number</column>
  </row>
  <row>
    :
  </row>
</table>
要素名 列名(ラベル/API) 説明 備考
row
-
入力スキーマに渡されたデータを元に処理されたデータ件数分繰り返します。
例えば、1件の入力データから2件のレコードを削除した場合、2回繰り返します。
  • [削除結果取得有無][取得しない]とした場合、0件となります。
  • データ型の不一致など不整合なデータが存在した場合、入力データ順と出力データ順は必ずしも一致しません。[削除結果_行番号/update_result_row_number]を順序条件とすることで、後続のMapperで入力データ順にソートすることができます。
column 削除結果_ID/delete_result_id SalesforceのIDを出力します。  
削除結果_成功フラグ/delete_result_is_success 成功フラグを出力します。
  • [true]:処理に成功しました。
  • [false]:処理に失敗しました。[削除結果_エラーステータスコード/delete_result_error_status_code]および[削除結果_エラーメッセージ/delete_result_error_message]を確認してください。
 
削除結果_エラーステータスコード/delete_result_error_status_code SalesforceのAPIが返すステータスコードを出力します。
  • 以下の場合はSalesforceアダプタがコードおよびメッセージを出力します。
    • 「SALESFORCE_ADAPTER_ILLEGAL_DATA_TYPE」
      グローバルリソースの種類がAPI 23.0以前の場合、定義された項目の属性と入力データ型が一致しない場合に設定されます。たとえば、「double」と定義された項目に対し数値以外の文字列が入力された場合などです。
    • 「SALESFORCE_ADAPTER_DATA_NOT_FOUND」
      [スキーマ定義][キー]にID以外の項目を含む場合において、Salesforceへ検索を行ったが対象データが存在しなかった場合に設定されます。
削除結果_エラーメッセージ/delete_result_error_message SalesforceのAPIが返すメッセージを出力します。
削除結果_行番号/delete_result_row_number 入力スキーマに渡されたデータ内のノードの位置に基づいて番号を出力します。  

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。
詳細については、「スキーマ編集」を参照してください。

大容量データ処理

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

トランザクション

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

PSPでの使用について

PSPでは使用できません。

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

コンポーネント変数名 説明 備考
delete_count 削除処理に成功したデータの件数が格納されます。
  • デフォルト値はnullです。
error_count 削除処理に失敗したデータの件数が格納されます。
  • デフォルト値はnullです。
read_count 入力データの件数が格納されます。
  • デフォルト値はnullです。
not_exist_count 削除対象のデータが存在しなかった入力データの件数が格納されます。
  • デフォルト値はnullです。
  • 以下の条件に該当しなかった場合、値が格納されません。
    • [削除結果取得有無][取得する]を選択している
    • [スキーマ定義]にて選択した項目(キー)にID以外の項目を含んでいる
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エラー以外のエラー発生時は、値が格納されません。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
operation_error_message エラー発生時、発生したエラーのメッセージが格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。
operation_error_trace エラー発生時、発生したエラーのトレース情報が格納されます。
  • デフォルト値はnullです。
  • DataSpider Servistaのバージョンにより、格納される内容が変わる可能性があります。

削除時のキー指定

本オペレーションでは、[スキーマ定義]の設定内容により実行されるプロセスが異なります。

結果取得使用例

[挿入結果取得有無][取得する]を選択した場合、入力データに対する挿入結果を、テーブルモデル型のデータとして後続に受け渡すことが可能です。

スキーマの作成

削除レコードの条件とするキー項目をスキーマの作成で指定することができます。
IDのみを選択した場合と、ID以外の項目を選択した場合で実行されるプロセスが異なります。



画像内の番号 名称 説明 備考
(1) 選択済み項目 キーとする項目を選択します。  
(2) 未選択の項目 キーとしない項目を選択します。
  • 列名上部のフィールドに値を入力・選択することで項目を絞り込むことができます。
    テキストフィールドの場合、入力した値の前方一致で絞り込まれます。

テーブル情報の表示

Salesforceのテーブルに対する操作可能な処理、およびテーブルのフィールド属性を確認することができます。
また、フィールド情報については、印刷することも可能です。



画像内の番号 名称 説明 備考
(1) テーブル名 テーブル構造の表示を行うテーブルを選択します。  
(2) テーブル情報 選択したテーブルに対する、操作可能なオペレーションを表示します。  
(3) 桁数 項目の桁数を表示します。  
(4) 外部ID 対象項目が外部IDとして設定されているか否かを表します。  
(5) 追加可能 データ追加時に値を設定することが可能か否かを表します。  
(6) 更新可能 データ更新時に値を設定することが可能か否かを表します。  
(7) Null許可 データ追加、更新時にNullが許容されるか否かを表します。  
(8) 初期値有無 データ追加時にSalesforceが初期値を自動設定するか否かを表します。  
(9) 参照先 参照関係または主従関係の項目の場合、参照先のオブジェクト名を表示します。  

仕様制限

主な例外

例外名 原因 対策
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[]
[接続先]が指定されていません。 [接続先]を指定してください。
ResourceNotFoundException
リソース定義が見つかりませんでした。名前:[<グローバルリソース名>]
[接続先]で選択されたリソース定義が見つかりません。 [接続先]で指定したグローバルリソースを確認してください。
java.net.UnknownHostException グローバルリソースで指定したPROXYサーバが見つからない例外です。 PROXYサーバの状態を確認して下さい。または、[接続先]で指定したグローバルリソースの[Proxyホスト]を確認してください。
  • API23.0以前
    org.apache.commons.httpclient.HttpConnection$ConnectionTimeoutException
  • API26.0以降
    java.net.SocketTimeoutException
    connect timed out
Salesforceに接続中にタイムアウトが発生しました。 ネットワークの状態、Salesforceのサーバの状態を確認してください。または、[接続先]で指定したグローバルリソースの[Connectionタイムアウト(秒)]を確認してください。
  • API23.0以前
    org.apache.commons.httpclient.HttpRecoverableException
    java.net.SocketTimeoutException: Read timed out
  • API26.0以降
    java.net.SocketTimeoutException
    Read timed out
Salesforceに接続後、サーバからの応答までにタイムアウトが発生しました。 ネットワークの状態、Salesforceのサーバの状態を確認してください。または、[接続先]で指定したグローバルリソースの[タイムアウト(秒)]を確認してください。
jp.co.headsol.salesforce.adapter.exception.SalesforceAdapterIllegalArgumentException Salesforceアダプタのプロパティの設定値が不正です。 エラーメッセージを確認し、設定内容をご確認ください。
com.sforce.soap.partner.fault.LoginFault Salesforceへのログインに失敗しました。 ExceptionCodeまたは、エラーメッセージを確認し、Salesforceの関連ドキュメントなどに対象のエラーに関する情報がないか確認してください。
com.sforce.soap.partner.fault.UnexpectedErrorFault Salesforceへの処理実行中に、予期しない例外が発生しました。 ExceptionCodeまたは、エラーメッセージを確認し、Salesforceの関連ドキュメントなどに対象のエラーに関する情報がないか確認してください。

注意事項