ApexクラスのAPIバージョンアップで解決するAccountPlanフィールドエラーの原因と対策


SalesforceのAccountPlanエラーに関する解説

Salesforceで「Field does not exist: StartDate on AccountPlan」というエラーが発生するケースでは、主にApexクラスのAPIバージョンが影響しています。

問題の背景

  • 現象:
    Apexクラス(APIバージョン62.0)でAccountPlanオブジェクトのStartDateEndDateフィールドを参照しようとすると、これらのフィールドが存在しないというエラーが発生します。

  • 現状:
    Developer WorkbenchのRESTエクスプローラーでAPIバージョン62.0でクエリを実行するとエラーが出ますが、APIバージョン63.0でクエリを実行すると正常にデータが返されます。

  • 考察:
    SalesforceのSpring'25リリースに伴い、AccountPlanに関連する新しいフィールド(StartDateEndDateなど)が追加されたと考えられます。これらのフィールドはAPIバージョン63.0以降で利用可能となっており、以前のバージョン(62.0)では存在しないため、エラーが発生していたと推測されます。

解決策

  • APIバージョンの更新:
    問題を解決するには、ApexクラスのAPIバージョンを63.0以上に更新してください。これにより、AccountPlanの新しいフィールドにアクセスできるようになります。

  • 手順:

    1. ApexクラスのAPIバージョンを確認・更新:
      開発環境やメタデータで、該当するApexクラスのAPIバージョンを63.0以上に設定します。
    2. テスト実行:
      クラスの更新後、再度クエリを実行して、エラーが解消されているか確認します。

なぜ発生したのか?

  • Salesforceは、APIバージョンごとに使用可能なメタデータを管理しています。
  • Spring'25リリースでは、AccountPlanに新しいフィールドが追加されましたが、APIバージョン62.0ではまだその情報が含まれていません。
  • そのため、以前は問題なくコンパイルおよびデプロイされていたクラスも、Spring'25の変更によりAPIバージョン63.0へのアップグレードが必要になりました。

まとめ

SalesforceのSpring'25リリースにより、AccountPlanオブジェクトに新しいフィールドが追加され、これらのフィールドにアクセスするためにはApexクラスのAPIバージョンを63.0以上に更新する必要があります。これにより、エラー「Field does not exist: StartDate on AccountPlan」が解消され、正常にレコードの操作が可能になります。

上記の手順を実行し、Apexクラスのバージョンを更新することで、Salesforceの新機能に適応し、より安定したシステム運用が実現できます。

コメント