Administrator 練習問題 Q69
管理者は、後で使用するレコードタイプのIDをフローに保存する必要があります。管理者はどの種類の変数を使用する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:B. テキスト変数
解説
前提知識
フローの変数の種類
- フロー(Flow)では、処理の途中で値を保持しておくために「変数」を使います。代表的な型には、テキスト、数値、ブール(真偽値)、日付、レコードなどがあります。
- ブール変数は「真(true)」「偽(false)」の2値だけを保持する変数で、条件判定などに使います。
- レコード変数は、あるオブジェクトの1件分のレコード全体(複数の項目の値をまとめたもの)を保持するための変数です。
- フローには「ID変数」という専用の型は存在しません。SalesforceのレコードIDは、文字と数字からなる文字列であるため、テキスト変数として保持します。
レコードタイプIDの扱い
- レコードタイプID(キープレフィックスは
012)は、15桁または18桁の英数字です。フローでは専用のID型ではなく、テキストとして扱います。 - そのため、レコードタイプIDだけを後で使うために保存しておきたい場合は、レコード変数(レコード全体を保持する、より重い器)ではなく、テキスト変数(文字列だけを保持する、軽い器)を使うのが適切です。
設問の状況を分解する
- 管理者は、レコードタイプのID(=文字列)だけをフロー内に保存し、後で使いたいと考えています。
- レコード全体(すべての項目)を保存したいわけではなく、IDという文字列1つだけを保持したいという要件です。
- フローには「ID型」の変数は存在しないため、文字列を保持する型であるテキスト変数を使うのが正しい選択です。
選択肢の検討
A. ブール変数
✕ 不正解。ブール変数は真偽値(true/false)だけを保持する型で、レコードタイプIDのような文字列を保存する用途には使えません。
B. テキスト変数
⭕ 正解。SalesforceのレコードID(レコードタイプIDを含む)は文字列であるため、テキスト変数に保存します。フローには専用の「ID型」が存在しないため、IDだけを保持したい場合はテキスト変数を使うのが標準的な方法です。
C. ID変数
✕ 不正解。フローには「ID変数」という型は存在しません。紛らわしいですが、実在しない選択肢です。
D. レコード変数
✕ 不正解。レコード変数は、あるオブジェクトの1件分のレコード全体(複数の項目をまとめたもの)を保持するための変数です。ID(文字列)1つだけを保持したい場合に使うには不必要に大きな器であり、目的に合いません。
管理者としての対処手順
- フローのビルダーで、新しい変数を作成し、データ型に「テキスト」を選択します。
- レコードタイプIDを取得する処理(例:レコードの取得、またはレコードタイプ名からIDを検索する処理)の出力を、このテキスト変数に代入します。
- 後続の要素(レコードの作成・更新など)で、このテキスト変数を該当するレコードタイプID欄に指定して利用します。
- フローをテストし、意図したレコードタイプIDが正しく保存・利用されているかを確認します。
あわせて覚えておきたいポイント
- 「フローにID型は存在しない」という点は覚えておく価値があります。IDは常にテキスト(文字列)として扱われます。
- 「レコードそのものが必要か」「その中の1つの値(文字列や数値)だけが必要か」を意識して、レコード変数とテキスト変数などの基本型を使い分ける習慣をつけましょう。
出典(Salesforce公式)
- 変数に保存できるものは? — レコード全体ではなくSalesforce IDのみを保存する場合は、テキスト変数を使用することを裏付けています。
- Salesforce Entity Key Prefix Decoder — RecordTypeのキープレフィックスが
012であることを裏付けています。