【ServiceNow】超初心者向け 「GlideRecord」の使い方

ServiceNow
T A

こんにちは。ServiceNow担当のT Aです。

ServiceNowの学習を進めていくと、スクリプトを触り始めた段階で1つの壁にぶつかると思います。

「GlideRecordってなんだ…?」

そんな壁を破壊すべく、本日は「GlideRecord(addQuery)の処理のイメージ」について説明したいと思います。

今回の記事はServiceNowを触り始めたばかりの初心者の開発者向けの内容となります。
今後の学習のきっかけとしていただければと思います。

GlideRecordを使用して「簡単な説明」を入れてみる

今回は、「インシデントテーブル」にあるレコードの「簡単な説明」項目に「このインシデントは〇〇会社についてのものです」という文字列を入れたいと思います。

今回の処理をスクリプトで書くとこんな感じです。

//”incident”テーブルをGlideRecordで指定
var grRec = new GlideRecord(“incident”);

//指定した番号に基づいて検索値を設定
grRec.addQuery(“number”, “INC0008111”);

//設定した条件で検索を実施
grRec.query();

//検索した結果、レコードが存在するかを確認
if (grRec.next()) {
//該当するレコードに処理を加える
grRec.short_description = “このインシデントは○○会社についてのものです”;
//変更した内容を保存する
grRec.update();
}

1行ずつ解説をしていきます。

“incident”テーブルをGlideRecordで指定し、検索をかける

var grRec =new GlideRecord(“incident”);

こちらのスクリプトの意味としては「インシデントテーブルのリストを開いてください」と考えてください。

「grRec」は開いている画面そのものを覚えておくためのものであるとイメージするとわかりやすいと思います。

grRec.addQuery(“number”,”INC0008111″);
こちらは「”number”が”INC0008111″であるもので絞り込みをしたい」という意味になります。

つまり、画像のように「番号(number)」項目を”INC0008111″で一致するものを検索条件にセットするように指示しています。

grRec.query();
これは「実行」ボタンを押すのと同じ意味です。

この操作を実行すると、欲しいデータが検索結果として出てきているのがわかります。

検索した結果をもとに、処理を実行する

f(grRec.next()){
こちらは「GlideRecordを使って検索をした結果、引っかかるレコードがあればフォームを開いて以降の処理に進みますよ」という意味です。

ここでは「.next()」を使用していますが「.hasnext()」などよく使う書き方がありますので、気になる方は違いについて調べてみてください。(後日、関連記事をUPしたいと思います。)

grRec.short_description=”このインシデントは○○会社についてのものです”;

これは検索に引っ掛かったレコードの「簡単な説明」(short_description)に「このインシデントは〇〇会社についてのものです」という文字列を入れるように指示します。

grRec.update();
当然、フォームを編集した際には保存ボタンを押します。「更新」ボタンをフォーム上で押す処理と同じです。

終わりに

今回は開発者向けにGlideRecordを説明するためにあえてUI操作とスクリプトを比較しましたが、いかがでしたでしょうか?

実際のUI操作を交えて確認することで、イメージしやすかったのではないかと思います。

今回は文字列を入れる処理を紹介しましたが、例えば.getValue(“number”)でデータを取得するような動きも多いですので、addQuery以外の使用方法についても興味を持っていただければ幸いです。

ServiceNowを活用した業務改善をするなら、システムサポートのServiceNow導入サービスをよろしくお願いします。

ServiceNowについてさらに詳しく知りたい方は、ServiceNowに熟知したSTSメンバーがより良いシステム構築をご提案しますので、ぜひご相談ください。

お問い合わせはこちら

記事を書いた人

T A

名古屋支社デジタルイノベーション事業部所属。犬派です。

関連記事

TOP