動的 Apex を使用した複数のエディションのサポート
動的 Apex、動的 SOQL、および動的 DML を使用すると、拡張パッケージを使用しないでサポートすることを計画しているすべてのエディション向けに 1 つの管理パッケージを作成できます。アプリケーションの動作は、顧客のエディションで使用できる機能に基づいて動的に変更できます。これは、複数のエディションをサポートする意図でアプリケーションを設計するときに便利です。
パッケージの Apex やワークフローなどが、GE または PE でサポートされていない機能への強く型付けされた参照を含まないようにします。これには、キャンペーンなどのサポートされていない標準オブジェクトにカスタム項目を追加することや、マルチ通貨またはテリトリー管理のような機能への Apex 参照の実行が含まれる場合があります。GE または PE でサポートされていないパッケージ内の機能を参照する場合、このパッケージの依存性がインストール失敗の原因になります。
代わりに、機能を参照する前に動的 Apex を使用してその機能が使用可能かを最初に確認することで、GE または PE に管理パッケージを正常にインストールできます。ここで考慮すべきことは、いずれのケースにも対応できるように動的 Apex をコーディングする必要があるということです。そうすることで、顧客が特定の機能またはオブジェクトを所持していない場合でも、アプリケーションは機能します。