概要
ServiceNowではサーバからの情報をフォームに表示する場合はGlideAjaxを使う場合が多いです。
例えばログインされているユーザの社員番号を表示させるにはクライアントスクリプトからGlideAjaxを利用してScript Includeに定義したスクリプトを呼び出します。
GlideAjaxは非同期通信のためにクライアント側に結果が送り返されるまでに数秒時間が掛かる場合もあります。
Display Business Ruleはフォームが作成される前に呼び出されるため、クライアントスクリプトから呼び出される必要はありません。そのため、直ぐにフォームに反映されます。
仕組みと制限
Display Business Ruleを利用する場合はフォームが関連するデータベーステーブルに表示ビジネスルールを定義します。そのルール内でg_scratchpdに値を設定します。onLoadクライアントスクリプトでその値を参照することができます。
要するにインシデントフォームで使うことはできますが、テーブルと関連していないカタログクライアントスクリプトからは使えません。
実装
ビジネスルール
次のようなビジネスルールを作成します。
1.項目「時期」を「表示」に設定します。
2.スクリプトを記述するので「詳細」をチェックします。
3.フォームで必要な値をg_scratchpadに設定します。
クライアントスクリプト
1.スクリプトを実行するフォームを開きます。
2.フォームにクライアントスクリプトを定義します。
「他のアクション」アイコンをクリックして、「構成」>「クライアントスクリプト」を選択します。
3.ビジネスルールと同じテーブルを指定します。
スクリプトにビジネスルールで設定したスクリプトを利用することができます。
以上