セーブポイントが見つからない

【Trailhead】future メソッドの使用

こんにちは、にいるです。

今日は、Trailheadのモジュール「future メソッドの使用」について、解答と解説をまとめたいと思います。

非同期処理について、詳しく説明した記事と合わせてご覧ください。
【Salesforce】非同期処理の特徴と使い方について
【Trailhead】future メソッドの使用

1.チャレンジ内容

チャレンジ内容です。

1-1.原文

Create an Apex class that uses the @future annotation to update Account records.
Create an Apex class with a method using the @future annotation that accepts a List of Account IDs and updates a custom field on the Account object with the number of contacts associated to the Account. Write unit tests that achieve 100% code coverage for the class.

1-2.和訳

@futureアノテーションを使用してアカウントレコードを更新するApexクラスを作成します。

アカウントIDのリストを受け入れ、アカウントに関連付けられた連絡先の数でAccountオブジェクトのカスタムフィールドを更新する@futureアノテーションを使用するメソッドでApexクラスを作成します。クラスのコードカバレッジを100%達成する単体テストを作成します。

2.解答と解説

このチャレンジは取引先にカスタム項目を作成する必要があるので、先に作成しておきましょう。

データ型は数値で表示ラベルが「Number_of_Contacts」の項目です。

2-1.Apexクラス

Apexクラスです。

取引先の取引先連絡者数を集計する必要があるので、COUNTを使用します。
それをAggregateResultオブジェクトに格納して代入します。

2-2.テストクラス

テストクラスです。

3.まとめ

いかがでしたでしょうか。

Trailheadも解答がなかなかないのでわからない方はぜひ使ってみてください。

他にも色々と標準機能やSalesforce機能について紹介していますので、ご覧ください。

ではでは!