#1.Dot-Walkingとは?
ServiceNow でリスト、フォーム、関連リスト を設計する際、ベースになるテーブル以外の項目をまとめて表示させたいときって、ありますよね。例えば、ベースになるテーブルには社員番号しかないけれど、表示は社員テーブルの方の氏名やメールアドレスも表示させたい場合など。こんな時にとても便利なのが「Dot-Walking」という機能です。(「最初に言ってよ~」ってレベルの痒いところに手が届く超便利機能です)
※本記事のServiceNow環境はLondonです。
2.Dot-Walkingの 使い方(リストレイアウト編)
今回はサンプルとして「インシデント」リストの「問い合わせユーザー」の隣にそのユーザーのメールアドレス(sys_userテーブル)を表示させます。サラッと見ると、リストに列を追加しているだけに見えますが、インシデントテールブルと異なるテーブルの値を表示させているところがポイントです。
①「インシデント」リストの列名の[≡]ボタンをクリック>「構成」>「リストレイアウト」を開きます。
②開いた「リストレイアウト」の「利用可能」から「問い合わせユーザー」を探します。
この時「問い合わせユーザー」が色付き項目になっていて右側に[+] がついていることがポイントです。
これはインシデントテーブル内で「問い合わせユーザー」が外部参照列(参照フィールド)になっていることを意味しています。
そして、「問い合わせユーザー」をクリックすると「利用可能」ボックスと「選択済み」の間に展開ボタンが表示されることを確認します。
③展開ボタンをクリックすると、「問い合わせユーザー」の参照先であるユーザーテーブルががばっと展開されます。
④ここからリストに表示したい「メール」列を探して選択すると、「選択済み」ボックスに「問い合わせユーザー.メール」が追加されます。挿入位置は「問い合わせユーザー」の下に調整しましょう。
⑥右上の「保存」ボタンをクリックすれば設定完了です。インシデントリストの「問い合わせユーザー」の隣に「メール」列が表示されていることが確認できます。
3.Dot-walkingの 使い方(フォームレイアウト編)
詳細は省略しますが、フォームレイアウトでも同じようにDot-walkingは使用可能です。
4.使用上の注意
①つなげすぎにはご注意を
Dot-walkinig は理論的には参照先の参照先のそのまた参照先の…と外部参照キーをたどってどこまでも行けそうですが、内部処理的にはテーブル間を内部結合しているハズですのでその分負荷が高くなります。外部参照キーをたどるのはせいぜい2~3までにするのが無難です。(後述の公式ドキュメントでも「チェーンの長さの推奨上限は 3 レベルです。」とあります)
②継承テーブルによっては参照できない列もある
実際に案件で困って、最終的に断念した話です。cmdb_ci_xxx のようなテーブルは大元のcmdb_ciテーブルを継承していますが、インシデントの「構成アイテム」はcmdb_ci に対する外部参照になっているため、例えば「cmdb_ci_server」固有の項目はDot―walkingでは引っ張ることができませんでした。残念!
5.参考
・公式:Dot-Walking(英語)
https://docs.servicenow.com/bundle/geneva-servicenow-platform/page/use/navigation/concept/c_DotWalking.html
・公式:ドット連結を使用した拡張テーブル フィールドのレポート(日本語)
https://docs.servicenow.com/bundle/london-performance-analytics-and-reporting/page/use/reporting/concept/extended-table-fields-dot-walking.html