Apex deleteRowsメソッドのサンプル
環境
Salesforce Apex
概要
deleteRows メソッドは、外部オブジェクトレコードが削除されるときに呼び出されます。外部オブジェクト
レコードは、Salesforceユーザインターフェースまたは DML を使用して削除できます。次の例は、deleteRows
メソッドのサンプル実装を示しています。
渡された DeleteContext を使用してどのテーブルが
選択されたかを判断し、選択されたテーブルの名前が Sample の場合にのみ削除を実行します。
削除は、各外部 ID のコールアウトを使用して外部システムで実行されます。
コールアウト応答から取得した結果を基にDataSource.DeleteResult の配列に値が入力されます。
コールアウトは ID ごとに実行されるため、次の例
では Apex のコールアウト数の制限に達する可能性があります。
使用例
global override List<DataSource.DeleteResult> deleteRows(DataSource.DeleteContext context) { if (context.tableSelected == 'Sample'){ List<DataSource.DeleteResult> results = new List<DataSource.DeleteResult>(); for (String externalId : context.externalIds){ HttpResponse response = makeDeleteCallout(externalId); if (response.getStatusCode() == 200){ results.add(DataSource.DeleteResult.success(externalId)); } else { results.add(DataSource.DeleteResult.failure(externalId,'Callout delete error:'+ response.getBody())); } } return results; } return null; }