メインコンテンツへスキップ

ServiceNowでテーブルの一覧を素早く開く方法(.list / .config)


    ServiceNow の画面左にある検索欄(アプリケーションナビゲーター、フィルターナビゲーター)に incident.list と打ってみてください。メニューを一段ずつ開かなくても、インシデントの一覧がそのまま出ます。

    このドットに続けて書く語は .list 以外にもあり、それぞれ開く画面が違います。メニューをたどらずに目的の画面を開けます。

    この記事では、PDI(Personal Developer Instance / Zurich / OOTB)で実際に叩いて確かめた10個をまとめます。ネット上には「大文字だと別ウィンドウ」「このサフィックスは効かない」と情報が食い違うものもあるので、実機で確認できたことと、確認できなかったことを分けて書きます。代表的なテーブル名の一覧、お気に入りと履歴の使い分け、Workspace系UIとの違いも加えました。つまずきやすい点も別にまとめています。

    想定読者は、ServiceNow の管理画面は触れるようになったものの、目的のテーブルにたどり着くまでメニューを何度もクリックしている人です。

    この記事の内容は ServiceNow の PDI(Personal Developer Instance)Zurich リリースの OOTB(初期設定)で確認しています。実環境ではカスタマイズにより件数や挙動が変わります。

    この記事で分かること

    • テーブル名に付けられるサフィックスの種類と、それぞれが開く画面

    • .config が開く「テーブル定義レコード」に何が並ぶか

    • メニューに出ていないテーブルへ直接行く方法

    • 検索欄の履歴とお気に入りが、どのテーブルに保存されているか

    • 覚えておくと役立つ代表的なテーブルの物理名

    • お気に入り・履歴・Workspace系UIとの使い分け

    公式ドキュメントでの位置づけ

    画面左の検索欄を含む領域を、ServiceNow の公式ドキュメントは Application navigator(ServiceNow Docs) と呼びます。左メニューの見出しと項目を並べる枠組みであり、その最上部にある検索ボックスが、ここで扱う「テーブル名を打つ」入口です。特別な設定は要りません。

    「テーブル名+ドット+語」という書き方自体も、非公式の小ワザではありません。URLを使ってレコードやモジュールに移動する(ServiceNow Docs) には、.do を末尾に付けてレコードを開く形式がまとまっています。sys_id=-1 で新規作成扱いにする書き方の具体例は、URLナビゲーションの例(ServiceNow Docs) を参照してください。検索欄に打つ .list .form .config は、この URL の仕組みを検索ボックスから呼び出す短縮形です。

    なぜ検索欄からのほうが速いのか

    理由は単純です。左メニューの1項目(モジュール)は、誰かが sys_app_module にレコードを作らないと現れません。管理者が「このテーブルの一覧をメニューに出す」と決めた分だけが、階層をたどって表示されています。

    テーブル名を直接打つ方法は、このモジュールを経由しません。打った文字列がテーブルとして存在し、読む権限があれば、メニューに項目がなくても開けます。 PDI 実機でテーブルの総数を数えると 6,317 件でしたが、左メニューに項目として用意されているのはその一部です。残りの大半には、モジュールというショートカットが用意されていません。

    物理テーブル名を覚えることに投資する価値は、ここにあります。新しく追加されたカスタムテーブル、まだメニューが整備されていないアプリ、sys_ui_bookmark のようにそもそもメニュー項目を持たない内部テーブル。これらはすべて、名前さえ分かれば同じ手順で開けます。ServiceNow のテーブル名は sys_(システム系)、sc_(カタログ系)、cmdb_(構成管理系)のように接頭辞である程度分類されているため、命名の癖をつかむほど見当がつけやすくなります。

    1. テーブル名.list で一覧へ直行する

    検索欄に incident.list と入れて Enter を押すと、Incident の一覧が開きます。


    画像


    画像
    incident.list
    sys_user.list
    cmdb_ci.list

    ポイントは、メニューに出ていなくても物理テーブル名さえ分かれば開けることです。テーブルの物理名が分からないときは、次で触れる sys_db_object の一覧から探せます。

    2. .LIST(全部大文字)で新しいタブに開く

    同じ .list を全部大文字にすると、一覧が新しいタブで開きます。

    incident.LIST

    いま見ている画面を残したまま別のテーブルを確認したいときに使います。この大文字・小文字の使い分けは、ネット上の解説でも標準の挙動として紹介されています。

    なお、この挙動はブラウザのポップアップ設定に左右されます。ブロックされていると新しいタブが開かないので、効かないと感じたらブラウザ側を確認してください。

    3. .form と .do で新規レコードの入力画面を開く

    incident.form または incident.do と打つと、Incident の新規作成フォームが開きます。


    画像
    incident.form
    incident.do

    実機で incident.do?sys_id=-1 を開いたとき、画面のタイトルは「Create INC0010026」でした。フォームを開いた時点で番号が採番されているということです。保存していなくても番号が先に決まる仕組みは、採番テーブル(sys_number)を扱った記事で詳しく確認しています。

    こちらも .FORM と全部大文字にすると新しいタブで開きます。

    .DO を全部大文字にしたときの挙動については、ネット上の説明が「新しいウィンドウで開く」と「そもそも効かない」で割れています。今回の PDI では確認しきれなかったため、断定は避けます。使うなら .FORM のほうが情報が一致していて安全です。

    4. .config でテーブルの設定物をまとめて見る

    incident.config と打つと、そのテーブルの定義レコード(sys_db_object の1行)が開きます。


    画像


    画像
    incident.config

    見たいのはテーブル定義そのものより、その下の関連リストです。PDI の incident で実測すると、こうなっていました。

    • 列(Columns)… 95 件(incident 自身が定義するのは 26 件、残りは継承元 task から)

    • ビジネスルール … 39 件

    • フォーム … 8 件

    • UI アクション … 29 件

    そのテーブルに設定されている処理を調べるとき、Business Rule・Client Script・ACL を別々に開かずに、ここから順に開けます。列の定義がどのテーブルに紐づくかは、System Dictionary(ServiceNow Docs) の対象です。

    .CONFIG と大文字にすれば新しいタブです。

    5. .filter で行を読まずにフィルタだけ出す

    incident.filter と打つと、レコードを1件も読み込まないまま、条件を組む画面だけが開きます。


    画像

    実機で incident_list.do?sysparm_filter_only=true を叩くと、件数表示は 0 of 0、本文は「No records to display」でした。読み込みを走らせずに条件だけ先に組める、ということです。

    数十万行あるテーブル、たとえばシステムログ(syslog)のようなものを開くとき、まず一覧を出してから絞り込むと待たされます。先に条件を決めてから読ませれば、その待ち時間が消えます。

    このサフィックスは Orlando 以降で使える、という注記付きで紹介されています。古いリリースでは使えない可能性があります。

    6. 検索欄はモジュール名でも引ける

    サフィックスを付けず、単に語を入れても機能します。検索欄が返すのは次の4種類です。

    • お気に入り(Favorites)

    • アプリケーション名

    • モジュール名

    • その組み合わせ

    incident と打てば「Incident」を含むモジュールが並びます。テーブル名を覚えていなくても、画面の名前でたどり着けるということです。

    逆に言うと、素の語だけではテーブルそのものへは飛びません。テーブルを直接開きたいときは .list が要ります。

    7. 参照フィールドで ** を打って候補を出す

    これは検索欄ではなくフォームの小ワザですが、同じ「打つだけ」の系統なので合わせて挙げます。

    参照フィールド(虫めがねの付いた項目)に アスタリスク2つ を入れると、参照先テーブルの先頭15件がそのまま候補として出ます。何を入れれば候補が出るか分からないとき、とりあえず中身を覗く用途に使えます。

    参照フィールドの候補がどう絞られるかは、参照修飾子(Reference Qualifier)の記事で扱っています。

    8. 履歴は sys_ui_navigator_history に溜まっている

    検索欄の上にある時計のアイコンから、直近に開いたレコードや一覧が新しい順に出ます。


    画像

    この履歴は画面上の一時的なものではなく、テーブルに保存されています。PDI で sys_ui_navigator_history を数えたところ 2,038 件 ありました。

    sys_ui_navigator_history.list

    このテーブル自体を .list で開けば、履歴を条件で絞ったり、いつ何を見たかを一覧で追ったりできます。自分の操作を後から振り返るときに使えます。

    9. お気に入りは sys_ui_bookmark。消すと戻らない

    検索欄の★を押して登録するお気に入りも、テーブルに1行として保存されます。PDI の実測では 8 件 でした。


    画像
    sys_ui_bookmark.list

    注意点があります。このテーブルは既定で監査(Audit)の対象外です。監査が効いていないと、削除したレコードを履歴からたどって戻すことができません。お気に入りは消したら消えたままになります。テーブルの実体は table manages my favorites(ServiceNow Community) でも話題になっています。

    お気に入りの並び替えやグループ分けについては Grouping Favorites(ServiceNow Community) が参考になります。Next Experience でのお気に入り管理は Managing your favorites(ServiceNow Docs) にまとまっています。

    10. フィルタ済みの一覧を、そのままお気に入りにする

    条件を組んだ一覧を、条件込みで登録できます。

    一覧の上に出ているパンくず(絞り込み条件の帯)のいちばん右側を、左のお気に入り欄へドラッグ&ドロップします。登録ダイアログを開かずに、その条件付きの一覧がそのまま★に入ります。

    「未解決かつ優先度1のインシデント」のような、毎日見る条件を1クリックで開けるようになります。似た目的を持つ機能として、保存フィルタ(Personalize Filter)もあります。登録の手順は Save and use filters in a list view(ServiceNow Docs) のとおりです。この2つの使い分けは、後述の「よくある質問」で整理しました。

    覚えておきたい代表的なテーブル名

    物理テーブル名を知っていれば、この記事のどの書き方もすぐ使えます。日常の調査でよく開くテーブルを一覧にしました。


    画像

    task は incident・problem・change_request の共通の親にあたるテーブルです。.list で開くと、これら3種類の行が入り混じって出ます。個別の種類だけを見たいときは、incident.list のように具体的なテーブル名を打つほうが早道です。同じことは cmdb_ci にも当てはまります。実データの大半はサーバやネットワーク機器などのサブクラス側に入っているため、cmdb_ci.list を開くと、どのサブクラスにも共通する列だけが並びます。

    Favorites と History の使い分け

    お気に入り(sys_ui_bookmark)と履歴(sys_ui_navigator_history)は、どちらも検索欄の周辺にある機能ですが、性質が異なります。


    画像

    履歴は操作するたびに自動で積み上がるので、振り返り用です。「さっき見ていた画面、なんだったか」を思い出すときに時計アイコンを開きます。お気に入りは自分で★を押した分だけが残る、選び抜いたショートカット集です。毎朝最初に開く一覧、週次で確認する条件付きの画面など、意図して残したい画面だけを入れておくと、時計アイコンの履歴に埋もれず使えます。

    履歴は放っておいても増え続けますが、お気に入りは自分で整理しない限り増えません。この違いを踏まえると、「とりあえず開いた画面」は履歴に任せ、「毎回自分で探すのが面倒な画面」だけをお気に入りに昇格させる、という運用に落ち着きます。

    Workspace系UIとの違い

    結論は明快です。ここまでの .list .config .do は、incident_list.do のような従来型(Core UI / Classic Environment)の一覧・フォーム URL を前提にした書き方です。Agent Workspace や CSM のような Workspace 系の画面では、URL の構造そのものが違います。ServiceNow は、Next Experience UI・Workspace UI・Classic Environment・Core UI という複数の UI 体系を並行して提供しています。それぞれの違いは Understand the ServiceNow UI experiences(ServiceNow Docs) の説明のとおりです。

    Workspace の URL は /now/ から始まり、開いているレコードや一覧は list-id のような識別子で管理されます。検索欄に incident.list と打つ操作自体は Application Navigator の機能なので、Workspace アプリの中に組み込まれた検索バーとは別物です。運用しているインスタンスが Workspace を主画面にしている場合でも、incident_list.do のような従来型 URL に直接アクセスすれば、この記事の書き方がそのまま通ることが多いと考えられます。ただし、Workspace 側の検索バーに同じ書き方を打ったときの挙動は、今回の PDI では確認していません。

    つまずきやすい点

    テーブル名を打ち間違えたとき

    答えは単純です。存在しないテーブル名を打つと、目的の一覧は開けません。候補が一件も出ないか、開いた先がエラー画面になるかのどちらかです。物理テーブル名は基本的に英小文字とアンダースコアで書かれているため、大文字を混ぜたり、画面に表示されているラベル(日本語名や表示名)をそのまま打ったりすると一致しません。ラベルから物理名を調べたいときは、sys_db_object.list を開いて Label 列を検索します。

    権限が無いと出ない

    読み取り権限(ACL)を持たないテーブルは、.list で打っても目的の一覧になりません。テーブル単位のACLが無ければアクセスそのものを拒否されやすく、行単位のACLだけが制限されている場合は、一覧の画面は開いても対象データが0件で返ってくる、という違いが出ます。「開けたのに何も表示されない」ときは、行単位のACLを疑うのが近道です。

    スコープの影響

    スコープ付きアプリケーションのテーブルにも、物理名さえ分かれば同じ書き方が通用します。ただしテーブル定義には Application Access という設定があり、これによって他のスコープのスクリプトからそのテーブルを読み書きできるかどうかが制限されます。この設定が検索欄からの .list 表示そのものにどこまで影響するかは、今回のPDI(グローバルスコープが中心)では確認できていません。スコープをまたいだ環境で試す場合は、まず対象テーブルのApplication Access設定を確認してください。

    キーボードからも呼べる

    打鍵の話が続いたので、検索欄そのものを開くショートカットも挙げておきます。


    画像

    これらは Core UI keyboard shortcuts(ServiceNow Docs) に載っているものです。ただし環境によってはアクセシビリティ設定で特殊ショートカットを有効にする必要があります。

    よくある質問

    テーブルの物理名が分からないとき、どう調べればいいですか

    sys_db_object.list を開き、Label 列を画面に表示されている名前(例: 「インシデント」や「Incident」)で検索します。ヒットした行の Name 列が物理テーブル名です。すでに1つのレコードを開けているなら、フォーム上部の Table 情報や、.config で開いたテーブル定義からも物理名を確認できます。

    .list と .LIST の違いは、タブが変わるだけですか

    基本的にはそれだけです。同じタブで開くか、新しいタブで開くかの違いで、表示される一覧の中身は変わりません。ブラウザのポップアップブロックが有効だと .LIST が効かなくなる点だけ、覚えておいてください。

    スコープ付きアプリケーションのテーブルでも同じように開けますか

    物理名が分かっていれば、検索欄への打ち方自体はグローバルスコープのテーブルと変わりません。ただし前述のとおり、Application Access の設定によっては他スコープからの読み書きが制限されている場合があります。開けなかったときは、まずこの設定を確認してください。

    Next Experience Workspace でもこの書き方は使えますか

    Workspace アプリ自体の検索バーは、Application Navigator とは別の仕組みです。ただし incident_list.do のような従来型のURLに直接アクセスする分には、多くの構成でそのまま通ります。すべてのWorkspace構成で確認したわけではないため、断定はできません。

    保存フィルタとお気に入りへのドラッグ登録、どちらを使うべきですか

    繰り返し使う定番の条件は、どちらに登録しても再利用できます。保存フィルタは条件そのものをテーブル(sys_filter系)に名前付きで残す機能で、複数の一覧から呼び出せるのが特徴です。お気に入りへのドラッグ登録は、その一覧を開くURLごと★に入れる操作で、検索欄からワンクリックで開き直せる手軽さが利点です。厳密に条件を管理したいなら保存フィルタ、検索欄からすぐ開きたいならお気に入り、と考えると選びやすくなります。

    検索欄の書き方に対応する実際のURL

    検索欄への打ち方は、内部的には次のようなURLに展開されています。手元のインスタンスであれば、これらを直接ブラウザのアドレスバーに貼っても同じ画面が開きます。

    # incident.list に対応する一覧のURL
    https://<YourInstance>/incident_list.do
    
    # incident.filter に対応するURL
    https://<YourInstance>/incident_list.do?sysparm_filter_only=true
    
    # incident.config で開くテーブル定義レコードを、URLから直接開く
    https://<YourInstance>/sys_db_object.do?sys_id=<対象テーブルのsys_id>
    
    # テーブルの物理名をラベルから検索するURL
    https://<YourInstance>/sys_db_object_list.do?sysparm_query=labelLIKEincident

    <YourInstance> は自分のインスタンス名、<対象テーブルのsys_id> は sys_db_object 上でそのテーブルが持つ sys_id に置き換えてください。検索欄への打ち方さえ覚えておけば、こうしたURLを毎回手で組み立てる必要はほとんどありません。ブックマークやスクリプトからURLを直接呼びたいときの参考として載せています。

    用語

    • フィルターナビゲーター(アプリケーションナビゲーター) … 画面左の検索欄を含むメニュー領域。公式ドキュメントでは Application Navigator と呼ぶ

    • sys_db_object … 全テーブルの定義が1行ずつ入るテーブル。.config で開く先

    • sys_dictionary … テーブルの列(フィールド)定義が入るテーブル

    • sysparm_filter_only … 一覧のURLに付けると、レコードを読み込まずフィルタ画面だけ表示させるパラメータ

    • sys_ui_bookmark … 検索欄の★(お気に入り)が1行ずつ保存されるテーブル

    • sys_ui_navigator_history … 検索欄から開いた画面の履歴が保存されるテーブル

    • Application Access … テーブル定義にある、他スコープからの読み書きを制限する設定

    • Next Experience Workspace … /now/ から始まる新しいUI体系。従来型のlist/form URLとは別の仕組みで動く

    検証範囲外のこと

    今回の PDI で確認しきれなかったことを、正直に書いておきます。

    • .DO(全部大文字)の挙動。情報源が割れており、実機でも判別できませんでした

    • 検索欄に sys_id を直接貼って該当レコードへ飛ぶ方法。標準機能として存在するという一次情報は見つかりませんでした

    • 右クリックメニュー系の小ワザ全般。これらは Classic UI(UI16)の機能で、Next Experience やワークスペースでは別のUIになります

    • Application Access の設定が .list 表示そのものに与える影響。スコープをまたいだ検証は今回の範囲外です

    • Next Experience Workspace の検索バーに、同じ .list .config の書き方を打ったときの挙動

    • 存在しないテーブル名を打ったときに出るエラー画面の具体的な文言

    まとめ


    画像

    よく使うのは .list と .config です。.list でデータを見て、.config で設定を見ます。大文字にすると新しいタブで開く、という規則を覚えれば、画面の移動はほぼ検索欄だけで済みます。テーブル名が分からないときは sys_db_object.list を、権限まわりでつまずいたときはACLとApplication Accessを、それぞれ最初に疑ってください。

    URL に直接パラメータを足す小ワザ、調査とデバッグ用の画面については、それぞれ別の記事にまとめています。無料の検証環境(PDI)をまだお持ちでない場合は、ServiceNow Developer(開発者サイト) で登録してから、この記事の書き方を自分のインスタンスで試してみてください。公式ドキュメントの全体像は ServiceNow Product Documentation(トップ) から探せます。

     
     
    ServiceNowのPDI(Personal Developer Instance)を実機で観察して、Noteに記事を書いています 実装・運用・教育の現場視点で淡々と記録中です リクエストがあればその記事も書きます 個人の観察日記です

    あなたへのおすすめ