この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Apex 一括処理クラスの追加

このレッスンでは、Database.Batchable インターフェースを実装する Apex 一括処理クラスを作成します。この一括処理クラスは、start メソッドで渡されるレコードをクリーンアップします。

  1. 開発者コンソールで、[ファイル] | [New (新規)] | [Apex クラス] をクリックします。
  2. クラス名として「CleanUpRecords」と入力し、[OK] をクリックします。
  3. 自動生成されたコードを削除し、次のコードを追加します。
  4. [Save (保存)] をクリックします。

もうひとこと...

  • この一括処理クラスには、query 変数で指定されたクエリに基づいてレコードが渡されます。このクエリ変数は、このクラスのコンストラクタに設定されます。
  • レコードのバッチごとに、このクラスの 3 つのメソッドが、start メソッド、execute メソッド、finish メソッドの順で実行されます。
  • start は、execute メソッドで処理するレコードのバッチを提供するため、Database.getQueryLocator(query); をコールし、処理するレコードのリストを返します。Database.QueryLocator オブジェクトで返せるレコードの最大数は、5000万件です。
  • 一括処理するレコードのリストは、execute メソッドの第 2 パラメータで渡されます。execute メソッドは、delete DML ステートメントでレコードを削除します。削除されたレコードはごみ箱15 日間保管されるため、このメソッドはさらにごみ箱を空にしてこれらのレコードを完全に削除します。
  • Apex 一括処理ジョブが呼び出されると、新しいレコードが AsyncApexJob テーブルに追加されます。このテーブルには、一括処理ジョブに関する情報 (状況、処理済みバッチ数、処理対象バッチ合計数など) が含まれます。finish メソッドは、ジョブの送信者にジョブの完了を確認するためのメールを送信します。AsyncApexJob オブジェクトへのクエリを実行し、ジョブの状況、送信者のメールアドレスなどの情報を取得します。続いて、新しいメールメッセージを作成し、Messaging.SingleEmailMessage メソッドを使用して送信します。

次に、この一括処理クラスを呼び出すテストメソッドを追加します。