変更プロセスに新規変更タイプを追加できます。変更タイプの追加にはいくつかのプロセスがあります。これらのプロセスには、スクリプトインクルードとワークフローの管理が含まれます。
このタスクについて
デフォルトで使用できる 3 つのタイプの変更に加えて、組織の要件に基づいて新規変更タイプを追加できます。たとえば、すぐに処理する必要がある変更に対して変更タイプ [迅速化済み] を作成することができます。
手順
-
[タイプ] フィールドに新しい選択肢を追加するには、次の手順を実行します。
-
既存の変更要求を開きます。
-
[タイプ] フィールドを右クリックして、[選択肢リストを表示] を選択します。
-
[新規] をクリックして、次のフィールドに入力します。
| フィールド名 |
説明 |
| テーブル |
[変更要求] テーブルを選択します。 |
| ラベル |
新規変更タイプの値を入力します。たとえば、「迅速化済み」とします。 |
| 値 |
新規変更タイプの値を入力します。たとえば、「迅速化済み」とします。 |
| シーケンス |
変更タイプのシーケンスを入力します。たとえば、「4」などとします。 |
-
フォームを送信します。
-
新規変更タイプを変更要求インターセプターに追加するには、次の手順を実行します。
-
に移動します。
-
[変更要求] インターセプターを開きます。
-
[回答] 関連リストで [新規] をクリックします。
-
必要に応じてフォームに入力します。
| フィールド |
説明 |
| 質問 |
変更要求 |
| 名前 |
新規変更タイプの名前を入力します。たとえば、「迅速化済みの変更にダイレクト」とします。 |
| ユーザー プロンプト |
[変更] の下で [新規作成] をクリックしたときにエンドユーザーに表示される説明を入力します。 |
| ターゲット URL |
適切なターゲット URL を設定します。たとえば、change_request.do?sys_id=-1&sysparm_query=type=expedited などです。 |
| 順番 |
変更タイプの適切な順序レベルを設定します。たとえば、「400」とします。 |
-
フォームを送信します。
-
新しい変更タイプのスクリプトインクルードを作成するには、次の手順を実行します。
-
に移動します。
-
新規変更タイプのワークフローのベースにする変更タイプ スクリプトインクルードを検索します。
たとえば、緊急変更タイプをそのベースにするには、ChangeRequestStateModelSNC_emergency を検索して、スクリプトインクルードを開きます。
-
ChangeRequestStateModelSNC_emergency スクリプト インクルードのスクリプトを、[スクリプト] フィールドからコピーします。
-
に移動し、[新規] をクリックします。
-
新しいスクリプトインクルードに、新しいタイプの値と一致する名前を付けます。
たとえば、ChangeRequestStateModelCust_expedited などとします。
-
コピーしたスクリプトを、新しいスクリプトインクルードの [スクリプト] フィールドに貼り付けます。
-
貼り付けられたスクリプトインクルードの参照があれば、それを ChangeRequestStateModelSNC_emergency からChangeRequestStateModelCust_expedited に更新します。
-
[送信] をクリックします。
注: 既存のスクリプトインクルードには、moving および canMove 関数すべての実装が含まれています。moving 関数は、新しいステータスに必要なフィールドに事前入力するために使用されます。canMove 関数は、追加の要件をチェックし、タスクが次のステータスに移行できるかどうかを検証するために使用されます。
-
次の手順を実行してスクリプトインクルードを作成し、状況移行を定義し、新規変更タイプの状況間の移行を制御します。
-
に移動します。
-
新規変更タイプの移行制御のベースにする変更タイプ スクリプトインクルードを検索します。
たとえば、緊急変更タイプをそのベースにするには、ChangeRequestStateModel_emergency を検索して、スクリプトインクルードを開きます。
-
新しいタイプの値と一致するように、スクリプトインクルードの名前を更新します。
たとえば、ChangeRequestStateModel_expedited などとします。
-
手順 3 で作成した新しい変更タイプに対するベーススクリプトインクルードへの参照を更新します。
2 行目の拡張オブジェクトをベース スクリプトインクルード名に変更します。たとえば、ChangeRequestStateModelCust_expedited として、参照が次の文字列と類似になるようにします。
ChangeRequestStateModel_expedited.prototype = Object.extendsObject(ChangeRequestStateModelCust_expedited, タイプの参照が、作成されたスクリプトインクルードと類似していることを確認します。たとえば、次のようになります。type:"ChangeRequestStateModel_expedited"}); タイプはスクリプトの下部にあります。
-
[挿入と維持] をクリックし、新しい名前 ChangeRequestStateModel_expedited でスクリプトインクルード ChangeRequestStateModel_emergency のコピーを作成します。
-
新規変更タイプに定義されたモデルの 1 つを使用して状況間の移行を制御するスクリプトインクルードを変更するには、以下の手順を実行します。
-
に移動します。
-
定義されたモデルのいずれかを使用して、状況間の移行を制御する ChangeRequestStateHandler スクリプトインクルードを検索して開きます。
-
新規変更要求タイプの値を参照するためのプロパティを作成します。
たとえば、「EXPEDITED:"expedited"」とします。
-
基本メソッド _resetModel を上書きして、新しいモデルを含めることができます。
たとえば、変更要求タイプが expedited である場合には、新しい状況モデル ChangeRequestStateModel_expedited が含まれます。画面に示すように、文字列 EXPEDITED:"expedited" を initialize: function(changeRequestGr) { の後に含める必要があります。

-
スクリプトインクルードを保存します。
-
次の手順を実行して、新規変更要求タイプのワークフローを作成します。
-
に移動します。
-
既存の変更要求ワークフローを開きます。
たとえば、「変更要求 - 緊急」などです。
-
[アクション] メニューから [コピー] を選択し、ワークフローをコピーして、新しいワークフローに名前を付けます。
たとえば、「変更要求 - 迅速化済み」とします。
-
[アクション] メニューから [プロパティ] を選択し、新しいワークフローが実行される条件を更新します。
たとえば、条件で [タイプ] [次の値に等しい (=)] [迅速化済み] とします。
-
メイン ワークフローによって呼び出される、対応する変更タスク ワークフローを開きます。
たとえば、「変更要求 - 緊急」などです。
-
[アクション] メニューから [コピー] を選択し、ワークフローをコピーして、新しいワークフローに名前を付けます。
たとえば、「変更要求 - 迅速化済み」とします。
-
[アクション] メニューから [公開] を選択し、新しい変更タスク ワークフローを公開して使用できるようにします。
-
作成した最初のワークフローに戻り、ワークフロー アクティビティを更新して新しい変更タスク ワークフローを参照します。
たとえば、「変更要求 - 迅速化済み」とします。
-
[アクション] メニューから [公開] を選択し、新しい変更タスク ワークフローを公開して使用できるようにします。