状況フローのカスタマイズ

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:3分
  • ステータスフローは、サービス管理アプリケーションでレコードがステータス間を移行する順序を制御します。

    アドミニストレーターは、次のタスクを実行できます。
    • 状況を追加または削除します。
    • 特定のステータス移行でイベントをトリガーします。
    • 要求またはそのタスクのデータが変更されたときに自動的に別のステータスに移行するか、ユーザーがボタンをクリックしたときに手動でステータスを変更します。
    • [ステータス] フィールドの選択リストを、指定された開始ステータスからの有効な移行である終了ステータスに制限します。
    • ターゲットテーブル内のレコードのステータスが変更されたときに、そのテーブル上の選択したフィールドのヴィジビリティと動作を制御します。
    • カスタム状況フローを作成します。構成画面で [ State flows are enabled ] オプションをオフにします。カスタム状況フローを作成するには、スクリプティングのナレッジが必要です。
    注:
    wm_adminロールを持つユーザーは、作業指示書フローと作業タスクフローのみを作成、読み取り、更新、削除できます。facilities_adminロールを持つユーザーは、施設要求フローと要求タスクフローのみを作成、読み取り、更新、および削除できます。wm_admin ロールを持つユーザーは施設レコードを操作できず、facilities_admin ロールを持つユーザーは作業指示書レコードを操作できません。

    SM 要求とタスク状況フローの仕組み

    状況フローは、要求とそれに関連するタスクが状況間をどのように移動するかを制御する標準プロセスを置き換えます。ServiceNowシステムは、指定された移行とフィールドコントロールを実行するビジネスルール、クライアントスクリプト、および UI アクションを作成します。これらのプログラミング要素は、それらを使用する状況フロー レコードが存在する間は使用され続けます。SM アプリケーションテーブルの状況フローが削除されると、システムはそのテーブルで作成された不要なプログラミング要素を削除しようとします。[ステータス] フィールドの選択を、開始ステータスに基づいて、移行の有効なステータスに制限できます。

    状況フローでは、次のコントロールが提供されます。
    • 手動移行:条件またはスクリプトを指定したときにシステムによって自動的に作成される UI アクションにより、移行が開始されます。
    • 自動移行:条件とスクリプトを指定したときにシステムによって自動的に作成されるビジネスルールは、要求またはタスクが変更されたときに移行を開始します。

    状況フローで利用可能な機能

    • カスタムトランジション: 要求およびタスクレコードのステータスを変更できる順序をカスタマイズします。
    • フィールドコントロール: タスクが状況を変更したとき、または指定された終了状態に達したときの特定のフィールドの動作と可視化を制御します。
    • ステータス選択リスト:タスクレコードの [ステータス] フィールドで提供される値を、その移行に対して有効なステータスに制限します。これは、状況移行のフィールドコントロールを管理するためにシステムが作成するクライアントスクリプトと同じです。
    • イベント:状況移行が発生したとき、またはレコードが特定の終了状態に達したときにイベントをトリガーします。

    開始ステータスと終了ステータス

    タスクレコードがあるステータスから別のステータスに特定の移行を行うときに発生する必要がある処理のカスタム状況フローを作成できます。これらのレコードには開始状態と終了状態が必要であり、状態間の移行中に処理が行われます。タスクレコードが特定の終了状態に達したときに何らかの処理を実行するには、終了状態を定義するだけで済みます。タスクがキャンセルされた後に何らかのクリーンアップを実行する必要がある場合など、状況フローに開始状態のみを持たせることができる場合があります。レコード内の処理が複数の状況移行に適用される場合、状況フローに開始状態または終了状態がない可能性があります。

    解決策は、ビジネスルールまたはクライアントスクリプトを状況フローレコードに保存し、それを必要とする状態変更の処理をトリガーする条件を作成することです。フィールドサービス管理におけるこの例は、作業指示タスク [wm_task] テーブルの変更をロールアップするビジネスルールです。このビジネスルールは、タスクで発生したステータス変更を親作業指示にロールアップします。