Loading

API 参照名を使用して選択リストを安全に実装する

公開日: Mar 31, 2026
説明
この記事は、2017 年 1 月 18 日に公開された Salesforce Developers Blog の記事 ”Keeping Picklist Integrations Safe by Using API Names” を翻訳したものです。

2019 年 1 月 29 日に本記事を加筆修正しました。したがって、上記の原文とは異なる箇所があります。
解決策
現在に至るまで、システム管理者は常に選択リスト値を変更した際、その値を参照しているデータインポートおよびエクスポート、Apex、SOQL などのインテグレーションを更新する必要がありました。Spring ‘17 リリースにおいて、弊社はお客様の選択リストのインテグレーションを守るために、この挙動を変更します。現時点から、それぞれの選択リスト値は表示ラベルと API 参照名で表されます (名前と値のペアのデータ表現に似ています)。
 
  • 選択リスト値の表示ラベル - ユーザインターフェースを介してレコードに表示されます
  • 選択リスト値の API 参照名 - メタデータレベルで内部的に使用されます
User-added image


この新機能により、システム管理者はこれらの値を参照するコードに影響を与えずに、レコードの選択リスト値をユーザが参照して選択するときに表示される内容を変更することができます。上記の例では、Salesforce の異なるリリースについての情報を保存する選択リストです。ビジネス上の目的で現在のリリース、従前のリリースおよび 2 世代前のリリースの値を保存したいとします。Spring ‘17 より前は、システム管理者は選択リスト値を毎回更新するか、(「現在のバージョン」のような) まったくユーザフレンドリーではない値を保存する必要がありました。 しかし、ご覧のとおり、現在は共有ルール・数式・フローおよび Apex コードへ影響を与えることなく、システム管理者が選択リスト値の表示ラベルをリネームすることができます。選択リスト値の API 参照名は同じままだからです。


実装の例

以下のサンプルコードを見てみましょう。この Apex  のサンプルコードでは、API 参照名表示ラベルがどのように分離して扱われているかを理解することができます。このサンプルでは、組織で作成された選択リスト項目 PicklistField__c を順に処理します。それぞれの選択リスト値の表示ラベルと API 参照名の両方をログとして表示するための行を追加しました。

User-added image
  • getLabel() - 選択リスト値の表示ラベルを返します。
  • getValue() - 選択リスト値の API 参照名を返します。以前に行っていた方法と同じです。


ユーザインターフェースの変更

システム管理者が選択リスト値をリネームする場合は、表示ラベルまたは API 参照名のどちらをリネームするかを選択することができます。以下のスクリーンショットに表示されているように、両方の項目を編集することができるようにユーザインターフェースをアップデートしました。

User-added image


選択リスト値の API 参照名が変更されないようにする

選択リスト値の表示ラベルおよび API 参照名をリネームする機能に加え、システム管理者は特別な権限を設定することにより、すべての選択リスト値の API 参照名が変更されないようにブロックすることができます。この機能は、組織に複数のシステム管理者が存在し、他のシステム管理者が選択リスト値を基にするインテグレーションを誤って壊すことがないようにしたいときに便利です。

この権限を設定するためには、システム管理者が [管理] | [データの管理] | [選択リスト設定] (Salesforce Classic ユーザインターフェース) 、[設定] | [データ] | [選択リスト設定] (Lightning Experience ユーザインターフェース) へアクセスします。


disableapiedit.jpg
これで、Spring ‘17 リリースとこの新しい記事を使用することにより、いままでよりもインテグレーションがより安全になります。


補足の注意事項
  • デフォルトでは、選択リスト値の API 参照名を変更する機能は無効になっていません。
  • システム管理者が新しい値を作成した場合、表示ラベルおよび API 参照名には同じ値が設定されます。

リソース
ナレッジ記事番号

000382804

 
読み込み中
Salesforce Help | Article