この記事では、ServiceNowでReference型のフィールドの検索で部分一致を実現する方法について解説します。

Reference型はデフォルトで先頭一致しかできない

Referenceのテーブルは、他のテーブルのデータを呼び出して入力できるとても便利なデータ型です。

例えば、国(core_country)テーブルがあったとして、Reference型ではなく自由入力にしてしまうと、アメリカを「USA」「America」など、エンドユーザーの勝手に入力されてしまいます。

そのデータが100件、200件と増えていくと、「アメリカが何件申請されたのか計測したい」などの要望が出た時にデータの表記を揃えるのに莫大な時間かかります。

ServiceNowのReference型を使って国テーブルを参照することで、そのテーブルに入っている192カ国のレコードのデータしか入力できなくなり、上記の表記ゆれの問題をあらかじめ防ぐことができます。

しかし、デフォルトの設定では、先頭一致しか候補に表示されず、ユーザビリティが良くないケースもあります。

部分一致を実現する流れ

  1. STARTSWITH検索を無効化
  • フィルターナビゲーターに、sys_properties.list を選択
  • glide.ui.ref_ac.startswithを検索
  • Valueをfalseに変更

2. 対象テーブルのCONTAINS検索を有効化

  • User Administration → User Preferencesを選択
  • 左上のnewをクリックして、以下のように設定(今回はcore_companyテーブルの例)

以上です。