---
sourceDocument: Xanadu IT Service Management
sourceDocumentLink: https://www.servicenow.com/docs/r/de-DE/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu IT Service Management

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Fügen Sie dem Status-Modell einen Status hinzu

# Fügen Sie dem Status-Modell einen Status hinzu {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 Minuten Lesedauer

Sie können das vorhandene Status-Modell für verschiedene Change-Typen basierend auf den Anforderungen Ihrer Organisation um einen neuen Status ergänzen.

## Vorbereitungen

Erforderliche Rolle: script_include_admin, ui_policy_admin, ui_action_admin oder admin

## Warum und wann dieser Vorgang ausgeführt wird

Das [Status-Modell](https://www.servicenow.com/docs/KNe_p_6atTY53X9K~CmeWg "Wenn Sie die Administratorrolle innehaben, können Sie das Plugin „Change-Management - Statusmodell“ (com.snc.change_management.state_model) aktivieren. Dieses Plugin enthält Demodaten und aktiviert zugehörige Plugins, wenn sie nicht bereits aktiv sind.") Plugin ist standardmäßig aktiviert. Weitere Informationen zu Basissystem-Status für Change-Anforderungen finden Sie unter [Status-Modell und Übergänge](https://www.servicenow.com/docs/bLn1s3ie69yU0yhfeuXb9g "Change-Management bietet ein Status-Modell zum Verschieben und Verfolgen von Change-Anforderungen über mehrere Status hinweg.").

## Prozedur

1. Navigieren Sie zu AlleChangeNeu erstellen und führen Sie die folgenden Schritte aus, um der Auswahlliste eine Auswahl hinzuzufügen.
   1. Klicken Sie mit der rechten Maustaste auf das Feld Status und klicken Sie auf Dictionary konfigurieren.
   2. In der zugehörigen Liste Auswahlmöglichkeiten filtern Sie nach \[Tabelle\] \[ist\] \[change_request\].
   3. Klicken Sie auf Neu und fügen Sie den Status und die folgenden Informationen hinzu.  
      * Tabelle: Change Request \[change_request\]
      * Bezeichnung: Neuer Status-Name
      * Wert: Numerischer Wert, der nicht bereits einer bestehenden Status-Auswahl zugewiesen ist
      * Sequenz: Nummer, die dem Platz entspricht, an dem dieser in der Status-Auflistung erscheinen soll. Wenn Sie ihm die gleiche Sequenznummer wie einer anderen Auswahl zuweisen, wird er unterhalb der anderen Auswahl angezeigt.
      {#t_AddANewState__ul_fwz_ncm_5y}
   4. Klicken Sie auf Absenden.
   {#t_AddANewState__substeps_sbc_1cm_5y}
2. Navigieren Sie zu SystemdefinitionSkripteinbindungen.  
   Die Skripteinbindungs-Datensätze mit SNC im Namen sind schreibgeschützt. Stellen Sie beim Ausführen der folgenden Schritte sicher, dass Sie die richtige Skripteinbindung für die Anpassung auswählen. Ändern Sie beispielsweise ChangeRequestStateHandler, und nicht ChangeRequestStateHandlerSNC.  
   Hinweis:  
   Erweiterte Skripteinbindungen (ohne SNC) beinhalten alle Funktionen ihrer SNC-Gegenstücke. Wenn Sie eine Basis-Skripteinbindung (mit angehängtem SNC) ändern, wird sie nicht länger bei System-Upgrades aktualisiert.
3. Öffnen Sie das ChangeRequestStateHandler-Skript, um die folgenden Änderungen durchzuführen.  
   * Aktualisieren Sie den Abschnitt StateHandler-Konstanten am Anfang dieser Skripteinbindung, um Werte für den neu hinzugefügten Status zu ergänzen. Beispiel:

         ChangeRequestStateHandler.MY_NEW_STATE = "mynewstate";

   * Aktualisieren Sie die Übersicht STATUS_NAMEN am Ende der Initialisierungsfunktion, um den numerischen Wert für den neu hinzugefügten Status hinzuzufügen. Beispiel:

         this.STATE_NAMES["-6"] = ChangeRequestStateHandler.MY_NEW_STATE;

     Hinweis:  
     Die Übersicht STATUS_NAMEN bietet eine Zuordnung zwischen den numerischen Werten, die sich in dem Feld Status bei einem Change Request befinden und einen leicht zu merkenden Namen haben. Diese Zuordnung ermöglicht die Verwendung dieses einprägsamen Namens in den Skripteinbindungen des Status-Modells.
   {#t_AddANewState__ul_t4k_yhq_nv}
4. Bearbeiten Sie die entsprechende Skripteinbindung, um die neuen Status für die relevanten Change Request-Typen in das Modell aufzunehmen.  
   Jede Art von Change-Anforderung hat eine entsprechende Skripteinbindung namens ChangeRequestStateModel_\<type\>, bei der \<type\> den Wert des Change-Anforderungstyps angibt. Beispielsweise definiert ChangeRequestStateModel_normal das Statusmodell für Change-Anforderungen des Typs „Normal".  
   Jede Skripteinbindung eines Status-Modells definiert Objekte, welche die folgenden Informationen spezifizieren.
   * Welche Status verfügbar sind.
   * Der/die nächste/n Status für jeden verfügbaren Status.
   * Funktionen für jeden Statusübergang, um zu entscheiden, ob dieser Übergang verfügbar ist `(canMove)` zusammen mit einer Funktion, die als Teil der Änderung in diesen Status ausgeführt werden soll `(moving)`.
   {#t_AddANewState__ul_lk4_vkq_nv}

   Das folgende Beispiel stammt aus der ChangeRequestStateModel_normal-Skripteinbindung.
5. Erstellen Sie eine UI Action, um eine Schaltfläche zur Weiterleitung des Change Request in einen neuen Status bereitzustellen.
   1. Nutzen Sie Einfügen und beibehalten, um eine Kopie einer der Standard-UI-Aktionen wie z. B. Implementieren zu erstellen.
   2. Füllen Sie die nachfolgenden Felder im Formular aus.  
      {#t_AddANewState__table_rgn_wmq_nv__entry__2}

      | Feldname | Aktualisieren |
      |-|-|
      | Name | Aktualisieren Sie den Namen des neuen Status. |
      | Aktionsname | Ersetzen Sie den Status am Ende des Namens durch den neuen Status. |
      | Tipp | Aktualisieren Sie den Text, um auf den neuen Status zu verweisen. |
      | Beim Klicken | Benennen Sie die Funktion neu, damit sie dem neuen Status entspricht. |
      | Bedingung | Ergänzen Sie den `isNext` Funktionsaufruf um den neuen Status. |
      | Skript | * Aktualisieren Sie den Funktionsnamen so, dass er mit dem Feld Beim Klicken übereinstimmt. * Aktualisieren Sie die Zeile, die mit `ga.addParam("sysparm_state_name",...` beginnt, um den Namen des neuen Status als den zweiten Parameter der Funktion `addParam` anzugeben. * Aktualisieren Sie die Zeile, die mit `gsftSubmit` beginnt und passen Sie den dritten Parameter dieser Funktion an, um dem Wert zu entsprechen, der in das Feld Aktionsname eingetragen wurde. {#t_AddANewState__ul_l4y_hnq_nv} |
      [ ]

      {#t_AddANewState__table_rgn_wmq_nv}

      Das folgende Beispiel verwendet die UI Action Implementieren zum Anzeigen der zu aktualisierenden Werte.  
      Die ChangeRequestStateHandler-Skripteinbindung enthält zwei Funktionen, mit denen bestimmt wird, ob eine UI-Aktion auf der Grundlage des aktuellen Change-Anforderungsstatus angezeigt wird.
      * `isNext(stateName)`: Diese Funktion prüft nur, ob der stateName, der als Parameter übergeben wurde, als nächster aktueller Status der Change-Anforderung verfügbar ist.
      * `canMoveTo(stateName)`: Diese Funktion führt dieselbe Prüfung durch wie die Funktion isNext. Sie prüft jedoch auch das Ergebnis des Aufrufs der entsprechenden Funktion canMoveTo für den Übergang vom aktuellen Status zu stateName (als Parameter übergeben). Diese Funktion wird verwendet, wenn es bei den canMove-Funktionen zusätzliche Prüfungen gibt, zum Beispiel, ob ein Feld einen bestimmten Wert enthält.
      {#t_AddANewState__ul_bcm_r4q_nv}
   {#t_AddANewState__substeps_afc_lmq_nv}
6. Führen Sie die folgenden Schritte aus, um die Prozessschritte zur Konfiguration zu aktualisieren, um den neuen Change-Status zu übernehmen.  
   Der Prozessablauf wird ganz oben auf dem Change Request-Formular angezeigt und in verschiedenen Prozessablauf-Datensätzen konfiguriert.  
   1. Navigieren Sie zum System-UIProzessablauf-Modul und filtern Sie nach \[Table\] \[is\] \[change_request\].
   2. Öffnen Sie einen Datensatz, und nutzen Sie Einfügen und bleiben, um eine Kopie zu erstellen.
   3. Füllen Sie die nachfolgenden Felder im Formular aus.  
      {#t_AddANewState__table_t33_tpq_nv__entry__2}

      | Feldname | Aktualisieren |
      |-|-|
      | Name | Aktualisieren Sie den Namen des neuen Status. |
      | Bezeichnung | Aktualisieren Sie den Namen des neuen Status. Dieser Wert ist im Prozessablauf am Anfang des Change Request-Formulars enthalten. |
      | Reihenfolge | Aktualisieren Sie diese Nummer, damit der neue Status in der richtigen Reihenfolge mit den vorhandenen Prozessablauf-Datensätzen für andere Status angezeigt wird. |
      | Bedingung | Aktualisieren Sie den Filter so, dass er dem neuen Status entspricht. |
      [ ]

      {#t_AddANewState__table_t33_tpq_nv}
   4. Klicken Sie auf Aktualisieren.
   {#t_AddANewState__substeps_bcd_jgw_ht}
{#t_AddANewState__steps_wgg_xbn_5y}

## Nächste Maßnahme

Um sicherzustellen, dass der neue Status wie erwartet funktioniert, überprüfen Sie die Standardworkflows. Fügen Sie dem Workflow den neuen Status bei Bedarf hinzu.

## Überprüfen Sie die Standardworkflows {#ariaid-title2}

Änderungen am Statusmodell können sich auf die Standard-Workflows für Change-Anforderungen auswirken.

### Vorbereitungen

Erforderliche Rolle: admin

### Warum und wann dieser Vorgang ausgeführt wird

Jeder Change Request-Typ hat einen Standardworkflow. Um sicherzustellen, dass Änderungen am Status-Modell die Workflows nicht beeinträchtigt haben, müssen Sie jeden der Standardworkflows überprüfen.

### Prozedur

Überprüfen Sie den Workflow für jede `ChangeRequestStateModel_<type>`-Skripteinbindung, die geändert wurde.  
{#t_ReviewDefaultWorkflows__table_kbw_rbr_nv__entry__3}

| Change-Typ | Name der Skripteinbindung | Workflow |
|-|-|-|
| Normal | ChangeRequestStateModel_normal | Change Request - Normal |
| Standard | ChangeRequestStateModel_standard | Change Request - Standard |
| Notfall | ChangeRequestStateModel_emergency | Change Request - Notfall |
[Tabelle : 1. Standardworkflows für Change Requests]

{#t_ReviewDefaultWorkflows__table_kbw_rbr_nv}

Änderungen am Standardworkflow für jeden Change-Typ hängen davon ab, wo der neue Status in den Statussequenzen hinzugefügt wird.

