Zurichで混乱しがちなReferenceフィールド挙動を整理する

ServiceNow

Referenceフィールドが混乱ポイントになりやすい理由

Referenceフィールドは、単なる入力欄ではなく「別テーブルのレコードを指すリンク」です。たとえばインシデントのCallerは、文字列を自由入力しているように見えて、実際はユーザテーブルの1レコードを参照しています。

ここが理解できていないと、次のような違和感が起きます。

  • 途中まで入力したのに候補が出ない
  • 同じ文字を入れても環境やユーザで候補が変わる
  • ルックアップで見えるリストと、入力中に出る候補が一致しない
  • 「検索しているつもり」なのに、実は条件が絞られている
  • 参照先に読めない権限があると、そもそも候補が出ない

Zurichに上げた後に「Referenceの動きが変わった気がする」と感じる場面は、この仕組みのどこかが表に出てきたケースが多いです。機能が増えたというより、見え方や既定のふるまいが整理され、結果として差分に気づきやすくなった、という捉え方が実務ではしっくり来ます。

CSA学習でも、Referenceは暗記というより「UIで起きていることをデータ構造で説明できる」状態を目指すほうが、応用問題で迷いにくくなります。


本番形式で慣れるのが合格への近道。UdemyのServiceNow模擬問題集を人気順で一覧比較できます👇

Zurich基準で押さえるオートコンプリートの仕組み

Referenceフィールドは、入力中に候補が出ます。これはオートコンプリートで、既定では「入力した文字をもとに参照先テーブルを検索して候補を返す」動きです。

候補が出る前提条件

まず大前提として、参照先テーブルに対して少なくとも読み取り権限がないと候補は出ません。見た目の問題ではなく、セキュリティの仕様です。
「自分だけ候補が出ない」は、まずACLやテーブル権限を疑うのが近道です。

検索がstarts withかcontainsかで体感が変わる

Referenceの入力検索は、体感に直結します。先頭一致で探すのか、部分一致で探すのかで「出る出ない」が変わります。これにはシステムプロパティやユーザ設定が絡むことがあり、環境ごとの差が出やすいポイントです。

実務では、次のように整理すると混乱が減ります。

  • 候補が少なすぎる → 先頭一致になっていないか、表示名の設計が適切か
  • 候補が多すぎて探せない → 逆に部分一致になっていないか、絞り込みが必要か
  • 人によって違う → ユーザ設定やロール差、参照先の読取権限差を確認

参照候補に追加列を出せる

「同姓同名が多い」「グループ名が似ている」などで選べない場合、候補表示に追加列を出す設計が効きます。参照候補の出し方は設定でき、たとえば部門などの補助情報を並べられます。
ここはUX改善にも直結し、運用問い合わせを減らせる鉄板の工夫です。


ルックアップと表示の挙動 ドロップダウン化の罠も含めて整理

Referenceフィールドは、虫眼鏡アイコンなどのルックアップで一覧から探せます。このとき、List v3が有効だとポップオーバー表示になり、無効だと別ウィンドウ表示になる、といったUI差が出ます。
Zurichに上げた後に「別窓じゃなくなった」「戻る操作が変わった」と感じるのは、ここが原因のことがあります。

ドロップダウン表示に見える条件がある

Referenceフィールドは、候補が少ないとドロップダウンのように見える場合があります。これはインスタンス全体の設定値で閾値があり、一定数を超えると通常のReference入力に切り替わります。
つまり「最初は選べたのに、データが増えたら入力型に戻った」は仕様として起こり得ます。

ここは事故の温床になりやすいので、設計では次を意識します。

  • データ件数が増える見込みがあるなら、最初から検索前提のUIとして設計する
  • どうしても選択式にしたいなら、候補数が安定して少ないテーブルに限定する
  • 運用で増えるマスタは、閾値超えを前提に画面説明を用意しておく

表示名の設計で使いやすさが決まる

Referenceは「何を表示値にするか」で選びやすさが変わります。ルックアップのリストレイアウトを調整して、識別に必要な列を出すのは基本の改善策です。
CSA学習でも、表示値と実体が別である点を理解していると、UIの挙動を冷静に説明できます。


フィルタリングの設計 Reference qualifierと既定フィルタの使い分け

Referenceで「候補が出る範囲」を制御する代表がReference qualifierです。モバイルでも、Reference qualifierで返すデータを絞る設計が前提として説明されています。

ここでのコツは、絞り込みの目的を分けることです。

既定フィルタで固定的に絞る

「この関連レコードは常にこの条件で選ばせたい」という固定条件なら、既定フィルタが合います。シンプルで設定も軽い一方、動的要素がないためユーザが条件を変えられない、という性質があります。
たとえば「関連レコードはactiveだけ」など、業務ルールが不変ならこれで十分です。

Reference qualifierで文脈に合わせて絞る

一方で「部門が同じユーザだけ出す」「拠点が一致するグループだけ出す」のように、レコードの文脈で変えたいならReference qualifierが自然です。
ただし、絞り込み条件が重いと体感速度が落ちたり、権限やクエリ制限の影響を受けたりします。運用で「急に候補が出ない」「遅い」が起きたとき、Reference qualifierが絡んでいるケースは多いです。

実務上は、次の順で設計すると安定します。

  • 固定で絞れる部分は既定フィルタで先に削る
  • 文脈依存だけをReference qualifierで扱う
  • 表示列の工夫で、絞りすぎなくても選べる状態を作る
  • 参照先の読取権限と組み合わせたときの挙動を確認する

入力ミスと運用事故を防ぐ Dynamic creationと権限の考え方

ZurichのReference挙動で見落としがちなのが「存在しない値を入れたらどうなるか」です。

Dynamic creationは便利だが、設計判断が必要

Referenceフィールドは通常、参照先に存在するレコードしか受け付けません。ですがDynamic creationを有効にすると、存在しない値を入力したときに参照先テーブルへ新規レコードを作成できるようになります。

便利に見えますが、運用事故も増えやすいです。たとえばユーザ名の誤字でユーザが作られてしまう、グループが乱立する、といった類いです。
おすすめの考え方は次です。

  • 人が自由入力してよいマスタかどうかを先に決める
  • 誤字が致命傷になるマスタでは使わない
  • 使うなら、入力者の権限と監査の設計をセットにする

参照先が見えないと候補も出ない

繰り返しになりますが、参照先の読取権限がないと候補が出ないのは仕様です。
そのため「UIの不具合」に見える問題の多くが、実は権限とデータ設計の問題です。

  • このロールで参照先テーブルを読めるか
  • 参照先のレコードが条件で落ちていないか
  • 参照候補の表示列が不足していないか

この三点に分解すると、原因を説明しやすくなります。

CSA学習としての着地

CSA対策としては、Referenceフィールドを「候補が出る入力欄」として暗記するのではなく、

  • 参照とは何か
  • 候補は何を検索しているか
  • 権限がどう影響するか
  • フィルタはどこで効くか

を言葉で説明できる状態を目指すのが効率的です。問題の文章が長くても、内部的に起きていることを一段抽象化して捉えられます。

学習を体系化するなら、UdemyのServiceNow入門から管理・開発の基礎まで一気に流れを掴める講座を一本持っておくと、Referenceのような横断テーマを「点」ではなく「線」で理解しやすくなります。演習つきの教材を一例として検討すると、設定と挙動の結びつきが早く腹落ちします。


本番形式で慣れるのが合格への近道。UdemyのServiceNow模擬問題集を人気順で一覧比較できます👇

まとめ

ZurichでReferenceフィールドの挙動が「違う」と感じる場面は、突き詰めると次のどれかに分解できます。

  • オートコンプリートが参照先テーブルを検索して候補を返している
  • 参照先を読めない権限だと候補が出ない
  • ルックアップはUI設定によって表示方式が変わる
  • 候補数が少ないとドロップダウン風に見えるが、閾値で切り替わる
  • 絞り込みは既定フィルタとReference qualifierで性質が違う
  • Dynamic creationは便利だが、入力ミスによる運用事故と表裏一体

実務でも試験でも、Referenceは「設定の名前を覚える」より「なぜそう見えるか」を説明できるほうが強いです。
候補が出ない、探せない、選べないといった現象も、参照・検索・権限・フィルタ・表示のどれが原因かを切り分けられるようになると、一気に怖くなくなります。

タイトルとURLをコピーしました