Ogni tipo di record basato sullo stato contiene State Transition Matrix che elenca gli stati validi e le azioni che spostano il record tra stati. È possibile utilizzare State Transition Matrix per creare, modificare ed eliminare gli stati.
Per aggiungere uno stato allo schema, aggiungere prima lo stato a State Transition Matrix, quindi creare una transazione dello stato.
Designer aggiunge il nuovo stato come uno stato di origine e come uno stato di destinazione nelle intestazioni di riga e colonna di State Transition Matrix. Quindi, è necessario creare una transizione di stato che definisce come questo nuovo stato viene utilizzato nel modello di stato. Consultare Creazione di una transizione di stato. Successivamente è necessario collegare il nuovo stato almeno ad un altro stato con un'azione. La definizione di uno stato che non può essere raggiunto da tutte le azioni genera un errore di convalida.
Se lo schema contiene i pacchetti che utilizzano i tipi di stato, quando viene aggiunto uno stato è necessario associarlo al tipo di stato presente nello schema.
Alcuni pacchetti dello schema si aggiungono agli hook degli schemi (script) che vengono eseguiti quando una richiesta di modifica viene spostata ad uno stato specifico, ad esempio, il pacchetto UCM (UnifiedChangeManagement) e il pacchetto Resolution.
Per verificare che l'hook sia eseguito correttamente, è necessario associare ogni stato di tale tipo di record ad un tipo di stato del pacchetto. Ogni tipo di stato del pacchetto deve avere almeno uno stato dal tipo di record associato (di modo che gli hook del pacchetto dispongano di almeno uno stato in cui essere eseguiti). È possibile associare più stati ad un tipo di stato del pacchetto.
Se si aggiunge uno stato ad uno schema che utilizza i tipi di stato, è necessario associare tale stato al tipo di stato del pacchetto appropriato.
Se si sta utilizzando il pacchetto o lo schema UCM, è necessario assegnare anche le azioni predefinite per gli stati; consultare la sezione Impostazione delle azioni predefinite per UCM.
È possibile modificare il nome di uno stato in qualsiasi momento. Quando si esegue questa operazione, il nome dello stato viene aggiornato in tutte le azioni che fanno riferimento ad esso.
Se un hook fa riferimento al nome di uno stato esplicitamente, è necessario modificare il nome dello stato nel codice dell'hook.
Eliminare gli stati che non si desidera utilizzare. La definizione di uno stato che non può essere raggiunto da una o più azioni genera un errore di convalida.
Non eliminare uno stato se si desidera aggiornare un database che attualmente lo utilizza. Non è possibile aggiornare il database se dei record in esso contenuti utilizzano lo stato eliminato.
Prima di eliminare uno stato, è necessario modificare qualsiasi azione che fa riferimento a tale stato. Gli stati di origine o di destinazione di un'azione non vengono riassegnati. Inoltre, se si fa riferimento esplicitamente ad uno stato di uno script, è necessario modificare lo script per rimuovere tali riferimenti.