【Apex練習問題】第3問

問題

Salesforceには、取引先の情報を管理する標準オブジェクト「Account」があります。このオブジェクトには、取引先の所在地(BillingCity)フィールドがあります。Apexを使用して、所在地が「Tokyo」の取引先の名前をコンソールに出力するクラスを作成してください。

この問題を解決することで、Apexでのデータの取得方法、フィールドのフィルタリング、およびコンソールへの出力方法を練習することができます。

問題解決のフレームワーク

  • 目的の確認:
    • 問題文から、所在地が「Tokyo」の取引先の名前をコンソールに出力することが目的であることを理解する。
  • 必要なデータの特定:
    • 取引先の名前(「Account」オブジェクトの「Name」項目)
    • 取引先の所在地(「Account」オブジェクトの「BillingCity」項目)
  • データの取得方法の検討:
    • SalesforceのSOQLを使用してデータを取得する。
    • 「Account」オブジェクトからデータを取得する際に、所在地が「Tokyo」である条件をWHERE句で指定する。
  • コードの構築:
    • 必要なクラスとメソッドの定義を行う。
    • SOQLクエリを使用して、必要なデータを取得するコードを書く。
  • データの処理:
    • 取得した「Account」オブジェクトのリストをfor文でループ処理する。
    • 条件に合致するデータ(所在地が「Tokyo」の取引先の名前)をコンソールに出力する。
  • コードの最終形:
    • 全ての処理を組み合わせて、最終的なコードを完成させる。

解答例

public class AccountBillingCityLogger {
    public static void logAccountsBillingCityTokyo(){
        List<Account> accounts = [SELECT Name FROM Account WHERE BillingCity='Tokyo'];
        for(Account acc : accounts){
            System.debug('Account BillingCity in Tokyo: '+ acc.Name);
        }
    }
}

解説

このコードは、Salesforceの標準オブジェクト「Account」から、所在地(BillingCity)が「Tokyo」である取引先の名前を取得し、それをコンソールに出力するものです。

  1. クラスとメソッドの定義:
    • AccountBillingCityLoggerという名前のクラスが定義されています。このクラス内に、logAccountsBillingCityTokyoという静的メソッドが定義されています。
  2. データの取得:
    • この行は、Salesforceの標準オブジェクト「Account」から所在地が「Tokyo」の取引先の名前を取得するSOQLクエリを実行しています。取得したデータは、accountsという名前のリストに格納されます。
List<Account> accounts = [SELECT Name FROM Account WHERE BillingCity='Tokyo'];
  1. データの処理と出力:
    • このforループは、取得した所在地が「Tokyo」の取引先の名前を1つずつ処理するためのものです。System.debugメソッドを使用して、現在の取引先の名前をコンソールに出力しています。
for(Account acc : accounts){
    System.debug('Account BillingCity in Tokyo: '+ acc.Name);
}

解答例(コメント付き)

public class AccountBillingCityLogger {
    public static void logAccountsBillingCityTokyo(){
        // Salesforceの「Account」オブジェクトから、所在地が「Tokyo」の取引先を取得
        List<Account> accounts = [SELECT Name FROM Account WHERE BillingCity='Tokyo'];
        
        // 取得した取引先の名前をコンソールに出力
        for(Account acc : accounts){
            System.debug('Account BillingCity in Tokyo: '+ acc.Name);
        }
    }
}

次の問題へ

前の問題へ

1問目から復習する

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雇われのシステムエンジニアです。
普段は車載ECUのセキュリティー分野に従事しております。

■保有資格
Salesforce 認定 アドミニストレーター
Salesforce 認定 Platform アプリケーションビルダー
Salesforce 認定 Platform デベロッパー

コメント

コメントする

目次