Administrator 練習問題 Q98
管理者は、自動番号のデータ型をテキストフィールドに変更するように求められました。フィールドを変更する前に、管理者は何に注意する必要がありますか?
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:A. 既存のフィールド値は変更されません。
解説
前提知識
自動採番(Auto Number)項目とは
レコードを作成するたびに、Salesforceが自動で連番を割り振る項目です。表示書式に ORD-\{0000\} のような形を指定すると、ORD-0001、ORD-0002 と順に入っていきます。
特徴は2つです。
- Salesforceが表示形式と開始番号に従って値を自動生成する
- ユーザーは手で入力・編集できない
テキスト項目との関係
Salesforce公式は、自動採番からテキストへの変換について、既存データは変更されないという特別な変換ルールを明記しています。変換後は自動生成が止まり、通常のテキスト項目としてユーザーが入力・編集できるようになります。
| 項目 | 値の入り方 | ユーザーの編集 |
|---|---|---|
| 自動採番 | Salesforceが自動付与 | 不可 |
| テキスト | 人が入力 | 可能 |
データ型変更の原則
データ型変更は組み合わせごとに公式の制限が異なります。自動採番から他のデータ型へ変更すると通常はデータ損失が起こりますが、テキストへの変更だけは既存データが維持される例外です。
設問の状況を分解する
- 対象: 既存の自動採番項目
- やること: データ型をテキストに変更
- 問われていること: 変更前に注意すべきこと 判断の軸は「すでに入っている番号はどうなるのか」です。結論から言えば、既存の値はそのまま残ります。これはSalesforce公式が明示している自動採番からテキストへの変換ルールです。 では何が変わるのか。変わるのはこれからの振る舞いです。
- 新規レコードを作っても、もう番号は自動で入らない
- ユーザーが手で書き換えられるようになる(重複も空白も起きうる) つまりこの変更のリスクは、過去データの消失ではなく、今後の番号の一意性が保てなくなることです。
選択肢の検討
A. 既存のフィールド値は変更されません。 → ⭕ 正解
Salesforce公式は、自動採番をテキストに変換した場合、その項目のデータは変更されないと明記しています。ORD-0001 は ORD-0001 のまま保持されます。
管理者が注意すべきなのは、この後は番号が自動採番されなくなり、ユーザーが自由に編集できるようになるという点です。
B. 既存の項目の値が変換されます。 → △(惜しいが不正解)
「データ型を変えるのだから、値も変換処理されるはず」と考えると選んでしまいます。確かに内部的には項目の型定義が書き換わります。 しかし、問題が問うているのは「管理者が注意すべきこと」、つまりユーザーから見える値の振る舞いです。表示される文字列は一切変わらないので、「変更されません」と表現するAのほうが適切です。
C. 既存の項目の値は削除されます。 → ✕
削除はされません。値が失われるのは、テキストから選択リストへの変更や、桁数を大幅に減らすような、入れ物が狭まる変更の場合です。
D. テキストへの既存の自動採番項目は禁止されています。 → ✕
自動採番からテキストへの変更は許可されています。逆方向のテキストから自動採番への変更も可能で、公式は既存データを失わずに安全に変換できると説明しています。ただし、将来の重複を防ぐため、自動採番へ戻す際の開始番号は既存値を考慮して設定します。
管理者としての対処手順
- 変更前に、その項目の現在値をレポートまたはデータローダーでエクスポートしておく。
- その項目を参照している数式、入力規則、フロー、連携先を洗い出す。
- [設定]→[オブジェクトマネージャ]→対象オブジェクト→[項目とリレーション]で項目を開き、[データ型を変更]をクリックする。
- [テキスト]を選び、桁数を既存値の最大長以上に設定する。
- ユーザーが手で書き換えても困る場合は、ページレイアウトで[参照のみ]にするか、項目レベルセキュリティで編集を制限する。
- 一意性を保ちたい場合は、項目の[一意値]属性をオンにすることを検討する。
あわせて覚えておきたいポイント
- 自動採番は数値項目ではないので、計算や集計には使えません。並び順も文字列順になります。
- 逆向き(テキスト→自動採番)でも既存データは保持されます。変換後に生成される番号が既存値と重複しないよう、開始番号を確認します。
- この問題は ID 39 と同じ論点です。重要論点なので、回答も同じです。
出典(Salesforce公式)
- Considerations for Converting the Field Type of a Custom Field — 自動採番からテキストへ変換すると既存データは変更されないこと、テキストから自動採番への変換もデータを失わずに実行できること
- Changing an Auto-Number field to Text — 自動採番からテキストへ変更した場合の既存レコードの値の振る舞い
- カスタム項目のデータ型の変更 — データ型変更の手順と、値が失われうるケースの考慮事項
- Custom Field Types — 「自動採番はレコードごとに自動で増加する一意の番号を割り当てる。この項目は編集できない」