Process Automation, Logic, and Integration Flashcards
あるCosmic Geminaの開発者は最近、会社で使用しているTMS(輸送管理システム)にコールアウトするApexクラスを作成しました。コールアウトは、特定の貨物に関する情報を取得し、応答に基づいてカスタムオブジェクトのレコードを更新する必要があります。RESTまたはSOAPコールアウトを実行する前に、TMSのエンドポイントを構成するには、次のうちどれを利用できますか?
答えを2つ選んでください。
A. 外部データソース
B. 指定ログイン情報
C. リモートサイト設定
D. 外部サービス
B. 指定ログイン情報
C. リモートサイト設定
外部システムへのコールアウトを成功させるには、まず、そのシステム用に指定ログイン情報 (レガシー) またはリモートサイト設定のいずれかを構成する必要がある。指定ログイン情報は、コールアウトエンドポイントの URL と認証パラメータの両方を指定する。指定ログイン情報が設定されている場合、リモートサイト設定は不要である。認証が OAuth を使用する場合、外部クレデンシャルを介して動作する新しい指定ログイン情報スキーマを定義できる。外部サービスは外部システムへの接続(Apexコーディングなしで外部システムのAPIを実行)に使用されるが、REST または SOAP コールアウトを実行する必要はない。外部データソースは、Salesforce Connect を設定するために作成されます。
Cosmic FoodsのIT部門は、複雑な要件を多く含むSalesforceの開発プロジェクトを任されました。しかし、開発チームは小規模で、プロジェクト完了まで3ヶ月しか与えられていないため、ITマネージャーは、ネイティブプラットフォームの機能とFlow Builderなどの自動化ツールを使用したローコード開発アプローチを利用したいと考えています。このアプローチを採用することで実現できるメリットは、次のうちどれでしょうか?
答えを2つ選びなさい。
A. 開発ライフサイクル全体の時間を短縮できる。
B. 既存の組織の人材を、より簡単な開発タスクに活用できる。
C. データへのアクセスを管理するために、コードを通じてセキュリティ設定を行うことができる。
D. 外部パートナーとのコラボレーションによって要件を満たすことができる。
A. 開発ライフサイクル全体の時間を短縮できる。
B. 既存の組織の人材を、より簡単な開発タスクに活用できる。
ローコード開発アプローチを用いると、開発ライフサイクル全体の時間が短縮される。より簡単な開発タスクは、非技術系ユーザーで構成される既存の組織人材に割り当てることができる。複雑で革新的なタスクはIT部門が処理できる。ビジネス・ユーザーとのコラボレーションにより、要件を直感的に満たすことができ、ワークフローがより効果的に強化される。プロファイル設定、権限セット、組織全体のデフォルト、共有ルールなどのネイティブ機能により、コードを使用せずにセキュリティ設定を簡単に構成できる。
オブジェクトには、UpdateCount というフィールドの値を常に 1 だけ増加させる ‘before update’ トリガが定義されています。オブジェクトには、フィールドの更新を引き起こすワークフロールールもあり、’Re-evaluate Workflow Rules After Field Change’ が有効になっています。UpdateCount の元の値が 53 で、レコードの更新によってワークフロー・ルールが発火した場合、レコードが保存された後の UpdateCount の値はどうなりますか?
答えを1つ選んでください。
A. 56
B. 55
C. 54
D. 53
B. 55
この場合、「before update」トリガは、ワークフローフィールド更新の前に実行されます。
ワークフローフィールドの更新によってレコードが更新された後、トリガはもう1回実行されます。(これは仕様)
トリガは、2回実行されるので、UpdateCount フィールドの新しい値は、55になります。
Apexトリガの追加実行は、全てのタイプのDML操作に適用されることに注意することが重要です。例えば、レコードを挿入すると、’before insert’トリガとレコードを更新するワークフロー ルールが起動される場合、’before insert’トリガは、ワークフロー ルールがレコードを更新する実行順に、もう1回起動されます。
レコードを削除する前に、Salesforce 内のレコードをクエリするバリデーションを実行する必要があります。レコードがバリデーションに合格した場合のみ、削除を許可する必要があります。この要件に最も適した自動化機能はどれでしょうか。
答えを1つ選んでください。
A. 割り当てルール
B. Apexトリガー
C. フロービルダー
D. バリデーションルール
C. フロービルダー
レコードが削除されたときに起動するレコードトリガーフローを設定できます。Get Records’、’Decision’、’Assignments’ などの要素を使用して、必要なカスタム検証ロジックを構築できます。レコードが検証に失敗した場合、カスタムエラー要素を呼び出してユーザーインターフェイスにエラーメッセージを表示し、削除操作を中止することができます。
割り当てルールは、指定された条件に基づいてリードまたはケースをユーザに自動的に割り当てるために使用されます。バリデーションルールはレコードの削除には使用できません。Apex トリガーも要件を満たすことができますが、レコード トリガー フローを使用できるため、必要ありません。
未処理のApex例外が発生すると、Apex例外メールリストで指定された開発者とユーザーに未処理の例外メールが送信されます。未処理のApex例外を追跡し、例外に関連する情報を表示するための別の推奨オプションは何ですか?
答えを1つ選んでください。
A. 標準のExceptionObjectのリストビューを作成して、未処理の例外を簡単に追跡して表示します。
B. プラットフォーム・イベント・トリガー・フローを使用して、Apexの予期しない例外イベント・タイプをサブスクライブします。
C. UnhandledException例外タイプを実装して、処理できない例外を捕捉する。
D. イベント・ログ・ファイル(ELF)ブラウザを使用して、org内のApex予期しない例外イベントを表示します。
D. イベント・ログ・ファイル(ELF)ブラウザを使用して、org内のApex予期しない例外イベントを表示します。
これは、セキュリティ、コンプライアンス、およびパフォーマンス分析に役立てるために、組織内のユーザのアクティビティやイベントを追跡してログに記録するための製品です。Event Monitoringは、イベントログファイル(ELF)ブラウザを使用してセットアップで表示できるイベントログファイルに、処理されなかった例外(Apex Unexpected Exceptionイベントタイプ)の詳細をキャプチャします。
UnhandledException例外タイプまたはExceptionObject標準オブジェクトが存在しない。未処理のApex例外をサブスクライブするようにプラットフォーム・イベント・トリガー・フローを構成できません。
コズミックシエラのITディレクターは、Salesforceのすべてのカスタムアプリケーションの開発にローコード開発アプローチを利用したいと考えている。主な目的は、開発に必要な全体的なコストと人的リソースの利用を削減することです。この目的を達成するために、Salesforce プラットフォームはどのように役立つでしょうか。
答えを 3 つ選んでください。
A. Lightning プラットフォームの拡張機能であるさまざまなローコード開発機能を簡単に設定できる。
B. AppExchange を使用して、複雑なコードを必要とする開発プロジェクトの支援を探すことができる。
C. Flow Builderなどの自動化ツールを使用すると、コードを使用せずに複雑な要件を満たすことができる。
D. 変更セットは、ある環境から別の環境へメタデータを迅速に展開するために使用できます。
E. 人的資源管理ツールを利用することで、技術者でないユーザーに簡単な開発タスクを割り当てることができる。
A. Lightning プラットフォームの拡張機能であるさまざまなローコード開発機能を簡単に設定できる。
C. Flow Builderなどの自動化ツールを使用すると、コードを使用せずに複雑な要件を満たすことができる。
D. 変更セットは、ある環境から別の環境へメタデータを迅速に展開するために使用できます。
Salesforceは、ローコード開発に使える様々な機能や自動化ツールを提供している。これらのツールは、IT部門だけでなく、企業の既存の人材によって構成することができる。フロービルダーなどのツールは、複雑な要件に対応するために使用できる。変更セットは、ある環境から別の環境へメタデータを移行するために使用できる。しかし、非技術系ユーザーにタスクを割り当てるために使用できる人的資源管理ツールはない。AppExchange は支援を探すために使用できるが、Salesforce の主な目的は全体的なコストと開発に使用される人的資源を削減することであるため、ローコード開発に活用できる方法の 1 つではない。
ある製造業のSalesforceユーザは、数百のレコードを処理し、外部システムから取り込んだデータでレコードを更新するキューイング可能なジョブを生成します。処理中のリソース競合や競合状態を避けるため、ジョブの重複は避ける必要があります。myRecord」が処理するレコードを表す場合、処理キュー内の各ジョブが一意であることを保証するために使用される署名を生成するための有効なコードは、次のうちどれですか?
答えを2つ選びなさい。
A.
UniqueSignature.Builder()
.addInteger(System.hashCode(myRecord))
.build();
B.
QueueableDuplicateSignature.Builder().addInteger(System.hashCode(myRecord)).build();
C.
QueueableDuplicateSignature.Builder().addString(myRecord.Id).build();
D.
UniqueSignature.Builder().addId(myRecord.Id).build();
B.
QueueableDuplicateSignature.Builder().addInteger(System.hashCode(myRecord)).build();
C.
QueueableDuplicateSignature.Builder().addString(myRecord.Id).build();
各キューイング可能なApexジョブが処理キュー内で一意であることを保証するために、QueueableDuplicateSignatureクラスを使用して署名を生成し、AsyncOptionsのDuplicateSignatureプロパティに格納することができます。QueueableDuplicateSignature クラスは、シグネチャを作成するための addId(), addInteger(), addString() メソッドを提供します。これらのメソッドは、シグネチャを作成するために ‘組み合わせる’ こともできます。例えば
AsyncOptions options = new AsyncOptions(); options.DuplicateSignature = QueueableDuplicateSignature.Builder() .addId(UserInfo.getUserId()) .addString(record.Id) .build(); System.enqueueJob(new ExampleQueueableJob(), options);
UniqueSignature’クラスが存在しません。
外部サービスに関して正しいことは?
答えを2つ選んでください。
A. 外部サービスを登録する場合は、常にリモートサイト設定を使用する必要があります。
B. 外部サービスとのフローは、Apexユニットテストを構築して実行することでテストできます。
C. 登録時にスキーマに使用できる最大文字数は100,000文字です。
D. スキーマの個々の操作を外部サービスに登録できる。
B. 外部サービスとのフローは、Apexユニットテストを構築して実行することでテストできます。
D. スキーマの個々の操作を外部サービスに登録できる。
外部サービスを登録する際、個々のオペレーションを選択することができる。また、外部サービスを使用したフローは、HTTPコールアウトモックを使用してApexユニットテストを行うことができます。
登録時にスキーマを指定するには、「相対URL」、「絶対URL」、「完全JSON」(コピーペースト)、「ローカルからアップロード」(JSONファイル)の4つのオプションがあります。リモートサイト設定は、スキーマ指定のオプションとして「絶対 URL」を選択した場合のみ使用する必要がある。ただし、外部サービスを登録する場合は、Named Credential が常に必要である。
外部サービス登録で使用するスキーマは、最大 4,000,000 文字(4.0 MB)である。
ある開発者が、いくつかのクラス・メソッドを SOAP Web サービスとして公開したいと考えています。メソッドを SOAP Web サービスとして公開する場合、次のどの操作を行う必要がありますか?
答えを3つ選んでください。
A. クラスは webservice キーワードで定義する必要があります。
B. 公開されるメソッドと変数を含むクラスは、public 宣言されなければなりません。
C. 公開メソッドと変数は、webservice キーワードを使用する必要があります。
D. 静的メソッドにのみ、webservice キーワードを付けることができます。
E. コンシューマがウェブサービスを呼び出す方法を知っているように、WSDL ファイルを生成する必要があります。
C. 公開メソッドと変数は、webservice キーワードを使用する必要があります。
D. 静的メソッドにのみ、webservice キーワードを付けることができます。
E. コンシューマがウェブサービスを呼び出す方法を知っているように、WSDL ファイルを生成する必要があります。
SOAP Webサービスを作成する場合、Apexクラスをグローバルとして定義する必要があります。次に、webserviceキーワードとstaticキーワードを使用して、公開する必要があるSOAPメソッドを宣言する必要があります。コンシューマ・システム(SOAPクライアント)が適切なフォーマットを使用してWebサービスにコールアウトできるように、WSDLファイルを生成する必要があります。
WebService キーワードは、クラスの Apex メソッドと変数に定義できますが、クラス自体には定義できません。
Cosmic Sierraは、Salesforceを使用して大量の商談レコードを保存しており、そのうちの50,000件近くが’Closed Won’または’Closed Lost’商談です。同社の開発者は、SOQLクエリを使用してすべてのクローズした商談を取得するApexトリガを定義しました。このトリガには、クエリによって返された商談を処理する’for’ループも含まれています。しかし、トリガが実行されると、ヒープサイズエラーが発生します。この例外を回避するには、何を推奨しますか?
答えを1つ選んでください。
A. すべてのクローズされた商談を返すメソッドを含むヘルパークラスを使用します。
B. 動的 SOQL クエリを使用して、すべてのクローズされた商談を取得します。
C. forループ内で SOQL クエリを使用します。
D. forループの定義でSOQLクエリを使用します。
D. for’ループの定義でSOQLクエリを使用します。
SOQLクエリから取得できるレコードの最大数は50,000です。しかし、クエリから返されるデータのサイズによっては、ヒープサイズの制限を超える場合があります。大きなデータセットにクエリを実行する場合は、SOQLのforループを使用して、queryとqueryMoreの内部呼び出しを使用して、結果のレコードの複数のバッチを処理する必要があります。SOQLクエリをforループ定義で定義すると、クエリ結果は200レコードのバッチにチャンクされ、forループのロジックはそれらの個々のバッチを処理するように設計できます。
SOQLクエリは、Apexトリガ内のforループの中にあってはなりません。それは、Apexトランザクション内で発行できるSOQLクエリの数に関連するガバナー制限を超えることになるからです。動的SOQLは、Apexコードで実行時に作成されるSOQL文字列です。このシナリオで LimitException を回避するために使用することはできません。ヘルパー・クラスを使用することも、そのメソッドの呼び出しが同じApexトランザクションの一部となるため、役に立ちません。
HTTPのGETリクエストをRESTベースのWebサービスにコールアウトするApexクラスが開発者によって作成されました。外部サイトがアクセスに認証を必要としない場合、コールアウト要求の設定に関して、次のうちどれがNULLになりませんか?
答えを2つ選びなさい。
A. エンドポイント
B. ボディ
C. ヘッダー
D. メソッド
A. エンドポイント
D. メソッド
HTTPリクエストを作成して送信する場合、エンドポイントとメソッドをNULLにすることはできません。メソッドは setMethod(method) で指定でき、エンドポイントは setEndpoint(url) で指定できます。
コズミックサービスソリューションズのサポートエージェントは、Salesforce上で定期的にケースを作成・更新しています。サポートマネージャのために、サポートエージェントに割り当てられたすべてのケースの概要を提供するLightning Webコンポーネントが作成されました。サポートマネージャは、このコンポーネントを表示している間、サポートエージェントによってケースが作成または更新されると、すぐに通知を受けたいと考えています。この要件のために、Salesforce でプラットフォームイベントが定義されています。次のソリューションのうち、要件を満たすために使用すべき正しいパブリッシュ/サブスクライブロジックはどれですか?
答えを1つ選んでください。
A. 新しい Lightning Web コンポーネントを使用してイベントメッセージを自動的に発行し、既存の Lightning Web コンポーネントを使用してメッセージを購読します。
B. Lightning Web コンポーネントを使用してイベントメッセージを自動的に発行し、Apex トリガーを使用してメッセージをサブスクライブします。
C. Apexトリガーを使用してイベントメッセージを自動的に発行し、Lightning Webコンポーネントを使用してメッセージをサブスクライブする。
D. フローを使用してイベントメッセージを自動的に発行し、Lightning Web コンポーネントを使用してメッセージをサブスクライブする。
D. フローを使用してイベントメッセージを自動的に発行し、Lightning Web コンポーネントを使用してメッセージをサブスクライブする。
アフターセーブレコードトリガーフローを使用して、新しいケースが作成されたとき、または既存のケースが更新されたときに、プラットフォームイベントメッセージを自動的に発行することができます。サポートマネージャによって使用されるLightningウェブコンポーネントは、プラットフォームイベントチャネルをサブスクライブし、イベントメッセージを受信することができます。empApiメソッドを含むlightning/empApiモジュールをコンポーネントのJavaScriptコントローラ経由でインポートすることで、Lightningウェブコンポーネントがプラットフォームイベントをサブスクライブできるようになります。プラットフォームイベントメッセージを受信すると、コールバック関数を使用して、コンポーネントを表示しているサポートマネージャにトーストメッセージを表示することができます。
メッセージのソースは、サポートエージェントによる新しいケースレコードの作成と既存のケースレコードの変更であるため、Lightningウェブコンポーネントをイベントメッセージの発行に使用するべきではありません。Lightning ウェブコンポーネントには、サポートマネージャのみがアクセスできます。Apex トリガーのようなプログラムによるソリューションは必要ありません。
外部IDとSOAP APIを使用して、1回の呼び出しで親レコードと子レコードの両方を作成する適切な方法は何ですか?
答えを1つ選んでください。
A. 子 sObject、親参照 sObject、親オブジェクトを作成し、親と親参照に外部 ID を指定し、upsert() メソッドを呼び出します。
B. 子 sObject、親オブジェクトを作成し、親の外部 ID を指定して、upsert() メソッドを呼び出します。
C. 子 sObject、親オブジェクトを作成し、親の外部 ID を指定して create() メソッドを呼び出します。
D. 子 sObject、親参照 sObject、親オブジェクトを作成し、親と親参照に外部 ID を指定し、 create() メソッドを呼び出します。
D. 子 sObject、親参照 sObject、親オブジェクトを作成し、親と親参照に外部 ID を指定し、 create() メソッドを呼び出します。
SOAP API を使用して、1 回の呼び出しで親レコードと子レコードの両方を作成するには、外部 ID フィールド、 create() メソッド、および親参照レコードを使用できます。upsert() メソッドを使用して、1 回の呼び出しで親レコードと子レコードの両方を作成することはできません。
開発者は、特定のオブジェクト上のすべての標準フィールドとカスタムフィールドに関するメタデータ情報を取得する必要があります。この要件に使用できるApexデータ型は次のうちどれですか。
答えを2つ選びなさい。
A. Map<String, Schema.SObjectField>
B. Schema.DescribeTabResult
C. Schema.DescribeSObjectResult
D. Map<String, Schema.SObjectResult>
A. Map<String, Schema.SObjectField>
C. Schema.DescribeSObjectResult
Schema.DescribeSObjectResult を使用して、オブジェクトの describe 結果を取得することができます。オブジェクトの全フィールドのマップは getMap メソッドを用いて生成し、Map<String, Schema.SObjectField> 型の変数に代入することができます。Schema.DescribeFieldResult を FOR ループ内で使用することで、各フィールドの describe 結果を得ることができます。
Map<String, Schema.SObjectResult> は有効な Schema クラスではありません。Schema.DescribeTabResult は、標準アプリまたはカスタムアプリのタブのメタデータ情報として使用されます。
ある開発者は SOAP ウェブ・サービスを実装しており、そのサービスのクラス・ファイルには webservice キーワードが含まれていなければならないことを知っています。このキーワードはどこで使用できますか?
答えを 3 つ選んでください。
A. クラス宣言の中
B. トップレベルの外部クラス変数
C. トップレベルの内側クラスの静的メソッド
D. トップレベルの外側クラスの静的メソッド
E. 内部クラスのメンバ変数
B. トップレベルの外部クラス変数
D. トップレベルの外側クラスの静的メソッド
E. 内部クラスのメンバ変数
WebService 修飾子を使用すると、トップレベル、外部クラスのメソッドと変数、内部 クラスのメンバ変数を定義できます。クラス自体やインターフェイス、インターフェイスのメソッドや変数には使用できません。
コズミックアクアは、Salesforceを含む複数の基幹システムを利用している企業です。Salesforceのユーザが他システムの外部データにアクセスできるようにしたい。ある開発者が外部IDの利用を提案してきました。このユースケースで外部IDを使用して実装できるのは、次のうちどれでしょうか?
答えを1つ選んでください。
A. Salesforce Connect
B. ビッグオブジェクト
C. Canvasアプリを使用したマッシュアップ
D. コネクテッドアプリ
C. Canvasアプリを使用したマッシュアップ
外部 ID は、キャンバスアプリを使用してマッシュアップ(および外部システムのレコードへのリンクを定義するディープリンク)を実装するために使用できます。キャンバスアプリは、外部データを Salesforce で可視化するために使用できます。ビッグオブジェクトは、Salesforce に大量のデータを格納するために使用され、外部 ID を使用して実装されることはありません。Salesforce Connect は、Salesforce で外部レコードを可視化するために使用されますが、External ID フィールドを使用して実装されていません。接続アプリを使用すると、指定したユーザに代わって外部システムが Salesforce API を利用できるようになります。
VisualforceでContinuationクラスを実装する際の注意点は何ですか?
答えを3つ選んでください。
A. 非同期コールアウトを使用するには、Continuation クラスのインスタンスを作成し、そのコールバックメソッドを指定します。
B. 継続の実行中は、継続固有の制限は適用されません。
C. コールアウトリクエストを連鎖させることが可能であり、前のリクエストが完了した後にのみ次のリクエストが処理される。
D. 継続を実装するメソッドでは、常に @AuraEnabled アノテーションが必要です。
E. addHttpRequest() メソッドを使用することで、1 つの継続インスタンスに最大 3 つのコール アウト要求を持つことができます。
A. 非同期コールアウトを使用するには、Continuation クラスのインスタンスを作成し、そのコールバックメソッドを指定します。
C. コールアウトリクエストを連鎖させることが可能であり、前のリクエストが完了した後にのみ次のリクエストが処理される。
E. addHttpRequest() メソッドを使用することで、1 つの継続インスタンスに最大 3 つのコール アウト要求を持つことができます。
AuraEnabled アノテーションは、継続を実装する Apex メソッドを Lightning コンポーネントから呼び出す必要がある場合にのみ必要です。そのため、Visualforce の実装では必要ありません。継続固有の制限は、継続が実行されているときに適用され、実行フローが完了するとリセットされます。
継続インスタンスの addHttpRequest() メソッドを使用すると、最大 3 つのコールアウトを同時に実行できます。コールアウトからのすべての応答を受信した後にのみ、処理が再開される。また、コールアウトを連鎖させることも可能で、前のリクエストが完了したか、条件を満たした場合にのみ、次のリクエストが処理されます。Continuationクラスを使用する場合、コールバックメソッドを実装する必要があります。
ある Salesforce 開発者が、SOQL クエリを使用して 1 つの Account レコードを取得し、その結果を ‘myAccount’ という変数に代入しています。ヌル参照を避けるため、SOQL クエリが結果を返さなかった場合にデフォルトのアカウントを割り当てたいと考えています。defaultAccount’がデフォルトのアカウントを表す変数である場合、次のオプションのどれを使用すれば要件を満たすことができますか?
A.
Account myAccount = [SELECT Name FROM Account LIMIT 1] ?? defaultAccount;
B.
Account myAccount = [SELECT Name FROM Account LIMIT 1] !? defaultAccount;
C.
Account myAccount = [SELECT Name FROM Account LIMIT 1].isEmpty() ? [SELECT Name FROM Account LIMIT 1] : defaultAccount;
D.
Account myAccount = [SELECT Name FROM Account LIMIT 1] ?? defaultAccount : [SELECT Name FROM Account LIMIT 1];
A.
Account myAccount = [SELECT Name FROM Account LIMIT 1] ?? defaultAccount;
次の文では、ヌル合体演算子(? <右引数>という構文で動作します。この演算子を使用すると、左側の引数がNULLを返すたびに右側の引数が返されます。つまり、この例のSOQLクエリが結果を返さなかった場合、'defaultAccount'は'myAccount'に代入されます。</右引数>
Account myAccount = [SELECT Name FROM Account LIMIT 1] ?? defaultAccount;
以下の文は三項演算子を使用している。ただし、この例では、SOQLクエリの結果が空でない場合、’defaultAccount’が’myAccount’に割り当てられます。
Account myAccount = [SELECT Name FROM Account LIMIT 1].isEmpty() ? [SELECT Name FROM Account LIMIT 1] : defaultAccount;
残りのオプションは、無効な演算子または構文を使用したApexコードを表しています。
コスミックエレクトロニクスは、SalesforceとERPシステムを含む複数の企業システムを使用している。ERP システムには、アカウント、販売注文、請求書、報酬、業績評価など、顧客と従業員のデータが含まれています。データテーブルの一部は、ルックアップリレーションシップによって関連付けられています。特定の Salesforce ユーザーは、別途ログインすることなく、ERP システムに保存されているデータを表示および編集する必要があります。同社の CTO は、このユースケースのために Salesforce Connect をセットアップしたいと考えていますが、データテーブルの数が多いため、接続タイムアウトを懸念しています。さらに、Salesforce には、ERP システムとの同期中に名前の衝突を引き起こす可能性のあるオブジェクトがいくつか含まれています。この要件を満たすために Salesforce Connect を構成する際に考慮すべきことは、次のうちどれでしょうか。
答えを 3 つ選んでください。
A. 外部オブジェクト名が既存の名前と競合する場合は、インライン編集を使用して名前を編集できます。
B. 同期操作が接続タイムアウトを引き起こす可能性がある場合、バックグラウンドジョブとして非同期に実行できます。
C. 外部参照リレーションシップは、参照リレーションシップを介して関連付けられた2つの外部オブジェクトに対して自動的に作成されます。
D. 外部データ・ソースの同期操作は、バッチで実行し、一時停止し、後で再開することができます。
E. 外部データ・ソースの同期は、外部オブジェクトが100を超えると失敗します。
A. 外部オブジェクト名が既存の名前と競合する場合は、インライン編集を使用して名前を編集できます。
B. 同期操作が接続タイムアウトを引き起こす可能性がある場合、バックグラウンドジョブとして非同期に実行できます。
C. 外部参照リレーションシップは、参照リレーションシップを介して関連付けられた2つの外部オブジェクトに対して自動的に作成されます。
Salesforce Connect のセットアップ中に外部データソースを同期すると、外部オブジェクト名と組織内の既存の名前との間で名前の衝突が発生する場合、名前をインラインで編集して時間とクリック数を節約できます。外部データテーブルが多いなど、同期操作が接続タイムアウトを引き起こす可能性がある場合は、バックグラウンドで非同期に実行できます。同じ外部システム・スキーマにマッピングされた親オブジェクトと子オブジェクトの間に、外部参照関係が自動的に作成されます。
外部データソースの同期は、Org の外部オブジェクト数が 200 を超えると失敗します。Salesforce では、同期操作をバッチで実行することはできません。また、同期操作を一時停止または再開することもできません。
Policy__c’ という名前のカスタム・オブジェクトのすべてのフィールドに関するメタデータ情報 (フィールド・ラベルやピックリストの値など) を表示する Visualforce ページを作成する必要があります。この情報だけに基づいて、この要件を満たすには、次のどの方法を使用する必要がありますか?
答えを3つ選びなさい。
A. getSObjectField()
B. getMap()
C. getLabel()
D. getPicklistNames()
E. getPicklistValues()
B. getMap()
C. getLabel()
E. getPicklistValues()
getmap() メソッドを使用すると、すべてのフィールド名 (キー) とフィールドトークン (値) のマップを生成できます。getLabel() メソッドを使用すると、フィールドの記述結果に対してフィールド・ラベルを返します。getPicklistValues() メソッドは、PicklistEntry オブジェクトのリストを返します。getSObjectField() メソッドはフィールドのトークンを返しますが、カスタムオブジェクトのすべてのフィールドに関するメタデータ情報を取得する必要があります。
コズミックオーロラでは、営業関連業務にSalesforceとレガシーCRMシステムを利用している。Salesforce は商談などのレコードを管理する主要なシステムですが、一部の拠点ではレガシーシステムを使用してレコードにアクセスしています。Salesforce で商談が作成または更新されるたびに、その商談に関する情報が、SOAP ベースのエンドポイントを使用するレガシーシステムに自動的に送信される必要があります。この要件を宣言的に満たすために使用できるオプションは、次のうちどれですか?
答えを2つ選びなさい。
A. Apex Trigger
B. Process Builder
C. Flow Builder
D. Outbound Message
C. Flow Builder
D. Outbound Message
レコードトリガフローとアウトバウンドメッセージアクションは、宣言的に別の企業システムに情報を送信するように構成できます。商談が作成または更新されると、送信メッセージに必要な商談フィールドが含まれ、レガシーCRMシステムに送信されます。
プロセスビルダを使用して、Apexコードを使用せずに別のシステムに情報を送信するプロセスを作成することはできません。Apexトリガーを利用することはできますが、宣言的に要件を満たすことはできません。
ワークフロールールは、アウトバウンドメッセージを送信できることに注意することが重要です。しかし、新しいワークフロールールの作成は、’23年冬リリースからできなくなりました。既存のワークフロールールは引き続き使用可能であり、編集、無効化、再有効化が可能である。
Cosmic Financial Solutionsの人事部門は、入社プロセスの管理にSalesforceを使用し、給与管理にはERPシステムを使用している。同社は最近、MuleSoft Anypoint Platformを使用してAPIの構築を開始した。APIの1つは、ERPシステムで指定された従業員に必要な給与属性を持つ新しいプロファイルを自動的に作成する。人事担当者は、人事スペシャリストの作業効率を向上させるために、ERPシステムで従業員プロファイルを作成する際にSalesforceを使用できるようにしたいと考えています。開発者は、フロービルダーを使用してフローを構築し、この要件にMulesoftの外部サービスを使用することにしました。ソリューションを構築する上で、次に推奨されるステップはどれですか?
答えを1つ選んでください。
A. MuleSoft ServicesページからMuleSoft Anypoint Platformにログインします。
B. MuleSoft Anypoint Platform で接続アプリをセットアップします。
C. Salesforce で認証プロバイダと名前付きクレデンシャルを作成します。
D. Salesforceで接続アプリとリモート・サイト設定を作成します。
A. MuleSoft ServicesページからMuleSoft Anypoint Platformにログインします。
External Services for Mulesoftを使用して、MuleSoft Anypoint Platform APIをインポートし、フローを使用して呼び出すことができる関連アクションを自動的に生成できます。すなわち、SalesforceがMuleSoft APIを呼び出せるようにするMuleSoft Anypoint Platformの接続アプリの作成、MuleSoft Anypoint Platform接続アプリのIDとシークレットを使用してSalesforceに認証プロバイダを作成、認証プロバイダのコールバックURLを使用して接続アプリを更新、Salesforceから接続アプリにアクセスするための名前付きクレデンシャル(レガシー)の作成です。ただし、これらの手順はすべて、セットアップのMuleSoft ServicesページからMuleSoft Anypoint Platformにログインすることですでに自動化できます。次に、MuleSoft APIと指定されたクレデンシャルを使用する外部サービスがSalesforceに作成され、MuleSoft API操作に対応するアクションが生成されます。これらのアクションは、Flow Builderを使用して構築したフローで使用できます。
Salesforceで接続アプリやリモートサイト設定を作成する必要はありません。接続アプリは、外部システムがSalesforceで操作を実行する必要がある場合にSalesforceで作成されます。
Thanks_Email_Sent__c’チェックボックスフィールドで示される、感謝状を受け取ったContactの総数を計算し、Contactのアカウントに関連するカスタムオブジェクトレコードに表示する必要があります。開発者は、この要件にSOQLクエリを使用することにしました。各アカウントに関連するContactの数を計算するために、SOQLクエリで使用する必要があるのは次のうちどれですか?
答えを3つ選びなさい。
A. COUNT(Id)
B. AggregateResult
C. WHERE clause
D. SUM(Thanks_Email_Sent__c)
E. COUNT(Thanks_Email_Sent__c)
A. COUNT(Id)
B. AggregateResult
C. WHERE clause
集約関数を含むクエリは、その結果を AggregateResult オブジェクトの配列で返します。SOQL クエリは、COUNT() メソッドを使用すると整数を返すことができます。WHERE 節を使用して、返されるレコード数をカウントする条件を指定できます。チェックボックス・フィールドは、COUNT(fieldName) および SUM(fieldName) ではサポートされません。
ある開発者が、将来の定期的な間隔で実行できるように ‘Schedulable’ インターフェイスを実装するバッチ Apex クラスを作成しました。バッチ Apex クラスをスケジュールするために使用できるのは、次のうちどれですか?
A. System.execute
B. System.scheduleBatch
C. System.enqueueJob
D. System.schedule
D. System.schedule
System.scheduleは、’Schedulable’インターフェイスを実装するApexクラスをスケジュールするために使用できます。System.scheduleBatchは、バッチApexクラスが’Schedulable’インターフェイスを実装していない場合に、将来的に一度だけ実行する代替方法です。System.enqueueJobは、キューイング可能なApexジョブをキューに追加するために使用します。