Create a for loop to iterate through a SOQL query
Write a query to get the name and annual revenue of all accounts. Then use a for loop to iterate through each account, printing the name and annual revenue of each account to the debug log.
https://trailhead.salesforce.com/ja/content/learn/modules/soql-for-admins/create-soql-queries-in-apex-classes?trail_id=build-apex-coding-skills
- Create a class
- Name:
AccountUtility
- Create a method
- Name:
viewAnnualRevenue
- Keywords:
public, static,
andvoid
- Create a list
- Name:
accountsList
- Create a query and assign the results to a list
- Fields:
Account Name
andAnnual Revenue
(Hint: Use API names, not field names or labels)- Object:
Account
- Create a for loop that iterates through the query results
- Object:
Account
- List name:
accountsList
- For each item, concatenate the account name, followed by a colon, followed by the account’s annual revenue: <Account Name> : <Annual Revenue>
- Store the concatenated string in a variable named
acctRev
- Print the
acctRev
variable to the debug log
この課題でやらないといけないこととしては、以下の通り。
①ApexでAccountUtilityクラスを作成し、その中にviewAnnualRevenueメソッドを追加する
②作成したメソッドで、すべてのAccountレコードから名前と年間売上を取得し、それぞれの値をデバッグログに出力する
この課題をクリアできるソースコードは以下の通り。
public class AccountUtility {
public static void viewAnnualRevenue() {
// SOQLクエリで取引先の名前と年間売上を取得してリストに格納
List<Account> accountsList = [SELECT Name, AnnualRevenue FROM Account];
// forループで各取引先を処理
for (Account acc : accountsList) {
// 取引先の名前と年間売上を連結
String acctRev = acc.Name + ' : ' + acc.AnnualRevenue;
// デバッグログに出力
System.debug(acctRev);
}
}
}
このAccountUtilityクラス内のviewAnnualRevenueメソッドはpublic, static, voidとして定義されています。SOQLクエリはSELECT Name, AnnualRevenue FROM Accountとなっており、この結果をaccountsListという名前のリストに格納します。
メソッド内のforループでは、このリストを一つずつ処理して、取引先の名前と年間売上を連結した文字列(acctRev)をデバッグログに出力しています。
コメント