Best practices for state field choice values

When you configure choice values for the state field, keep a few things in mind.

  • Use a negative value to add a new active state field.
  • Search for and study the business rules that use a state number filter on the Script and Conditions fields. You can use the Debug tool to trace the order of the business rule execution.
  • New values representing inactive states should have a value above 8.

State modification examples

Follow these examples for modifying the states of incidents and change requests.

Before you begin

Role required: admin

Procedure

  1. Navigate to System Definition > Choice Lists.
  2. At the top of the list, construct a list filter like the following:
    • Table: incident
    • Element: incident_state
  3. Run the filter.

    Notice that the Closed state has a value of 7 and the Resolved state has a value of 6. Any state greater than or equal to 7 is assumed to be inactive. Therefore, you should use a positive integer greater than 7 if you want to add a new inactive-type of state. Use a negative value like -1 or -2 if you wish to add a new active-type of state field, such as Awaiting Vendor.

  4. Navigate again to System Definition > Choice Lists.
  5. At the top of the list, construct a list filter like the following:
    • Table: change_request
    • Element: phase_state
  6. Run the filter.

    Notice that the Complete state has a value of 8. Any state greater than or equal to 8 is assumed to be inactive. Therefore, you should use a positive integer greater than 8 if you want to add a new inactive-type of state, such as Cancelled. Use a negative value like -1 or -2 if you wish to add a new active-type of state field, such as Pending.

Troubleshoot change states and business rules

Business rules in the system make assumptions about state values. You can troubleshoot business rules to see the order in which they run and see how it affects changes you make to State field values.

Before you begin

Role required: admin

Procedure

  1. Navigate to System Definition > Business Rules.
  2. Construct a filter like this one to view the scripts and conditions that pertain to the Resolved incident_state of 6 or the Closed incident_state value of 7:

    The Script field contains 7 OR the Condition field contains 7 OR the Script field contains 6 OR the Condition field contains 6 AND the Table field is incident AND the Active field is true.

What to do next

See Debug Business Rule for information on how to trace the order of business rule execution. You can click Debug All, resolve an incident, and then check the trace at the bottom of form to watch the business rules execute. These two line examples show that the mark_closed business rule code is entered ==> and then exited <==.

==> 'mark_closed' on incident
<== 'mark_closed' on incident