Defect #6822 prevented this from working in 2017.1 & 2017.3. A patch was released for 2017.1 on Dec. 4th, 2017. Please note that this patch is specifically for 2017.1. The fix will be rolled into the code base going forward when 2018.1 is released.
Please click here to download the latest Service Update for 2017.1
While the SLA matrix is in use, you would change the response level of an incident by select a different combination of items (in this example, we're going to use Impact and Urgency) in order for the response level to change. This solution will walk you through creating a manual action for use within your Incident process. This will be used to change the response level, while keeping a clear audit history of the response level changes over the life of an incident. We'll also modify the Incident window properties, preventing anyone from making changes to the response level directly on the Incident window itself, requiring them to use the new action.
Building the 'Change Response Level' Action
This was accomplished using an LDSD 2016.4 out-of-the-box system.
1. Go into Object Designer > Add a new Business Object under Incident Management. Say ‘No’ to the prompt that asks you if you’d like to specify a behavior for the object. Call it ‘Changes to Response Level’
2. Double-click the ‘Changes to Response Level’ object, right-click the object at the top of the Attributes list, and add an attribute. Call it ‘Creation Date.’ Change the data type to ‘Datetime’ and give it the ‘CreateDateTime’ persistence type by moving it into the ‘Selected Options’ pane. Click OK.
3. Save in Object Designer. It will give you a prompt to create the IsName attribute. Choose ‘Yes’ for this prompt.
4. Still under the Incident Management module in Object Designer, drag the ‘Impact’ object onto the ‘Changes to Response Level’ object, and say ‘No’ to the prompt asking whether or not to create a collection. Do the same for the ‘Incident Urgency’ object.
5. Drag the ‘Incident’ object onto the ‘Changes to Response Level’ object, but say ‘Yes’ to the prompt to create a collection.
6. Navigate to the System module, and drag the User object onto your Changes to Response Level object. Use the persistence type of CreateUser.
7. I'd recommend renaming the new User relationship attribute (created under the Changes to Response Level object) to something like 'Created By.' The attributes under your Changes to Response Level object should now look like the screenshot below.
8. Before saving in Object Designer, double-click the ‘Incident’ object, and highlight the new ‘Changes to Response Level Collection’ attribute in the attributes list. Edit the Title and Name fields in the properties. Take the ‘Collection’ off the end of the Title field, and the ‘Col’ off the end of the Name field. Save.
9. With the ‘Changes to Response Level’ collection attribute highlighted, click ‘Manage Actions’ in the Actions pane to the left. Click 'Add,' Type 'Change Response Level' into the Title field, and click OK. Save in Object Designer. See example of the Manage Actions window below.
10. Go into Window Manager, navigate to the Incident Management module, and create a new window under the ‘Changes to Response Level’ object. Rename the window if you’d like.
11. Add one groupbox to the window. You can change the name of the groupbox to whatever you’d like, along with background color, etc...
12. Add the Impact, Urgency, and Created By relationship attributes, along with the Creation Date.
13. Set _Impact and _IncidentUrgency to WriteOnce via properties > Protection Level.
14. Set the Creation Date and Created By fields to ReadOnly via properties. When you are done, save the window. It should look something like the screenshot below.
15. After saving the window, right-click it and make it available in Web Access.
16. Still in Window Manager, expand the Incident object, and open the Analyst Update Incident window. Set the Impact and Urgency fields to ReadOnly.
17. Set the Response Level field to ReadOnly on the Analyst Update Incident window as well.
18. Drag the ‘Changes to Response Level’ collection attribute onto your Incident window. It will appear in the bottom section with the other collection attributes. Save the window.
19. After saving, you’ll see the list of objects again (still in Window Manager). Right-click the Incident object, and select ‘Business Object Copy Rules.’
20. In the Copy Rules Configuration popup, expand Incident Management, right-click on the Incident object, and select ‘New Rule.’
21. For the description, type ‘Copy Impact.’
22. Click ‘Select Events,’ and add ‘Update’ to the right-hand pane.
23. Click ‘Select Attribute’ to the right of the Target field. Double-click the ‘Impact’ object. You should see _Impact appear in the ‘Path’ field. Click OK.
24. Click ‘Select Attributes’ to the right of the Sources field. Expand the ‘Changes to Response Level’ collection, and double-click the _Impact object. You should see ‘_ChangestoResponseLevel/_Impact’ appear in the Source Attributes list. Click OK.
25. Uncheck the ‘Always execute rule’ tick box.
26. Tick the radio button for ‘Overwrite.’
27. Follow steps 18 through 24 again. Call the second rule ‘Copy Urgency.’ Your Target attribute will be ‘_IncidentUrgency.’ Your Source attribute will be ‘_ChangestoResponseLevel/IncidentUrgency.’ Below is an example of what your rules should look like.
28. Click OK when you are done using the Copy Rules Configuration popup. This will automatically save and activate them.
29. Go into Query and Report Designer. Click ‘New Query’ in the Actions list.
30. Call your new query ‘Changes to Response Level.’ Base it on the Incident Management module > Changes to Response Level object. Tick the ‘Everyone’ radio button at the bottom of the New Query popup. Click OK.
31. For your new query, add the Creation Date attribute first. Right-click it after adding, select properties, go to the Sort Order tab, tick the box to ‘Use this column to sort data,’ and set it to Descending order. Click OK.
32. Next, expand the Impact relationship, and double-click the Title attribute underneath to add it to the selected attributes. Do the same for Incident Urgency.Title and Created By.Title.
33. Go into properties for the Created By, Impact, and Urgency attributes, and set a different column heading for them if you'd like. For example, I chose to call my Impact.Title attribute ‘Impact Changed To.'
34. Save your query.
35. Go into Object Designer, expand the Incident Management module, and double-click the ‘Changes to Response Level’ object.
36. In the Properties pane on the far right, scroll down until you see the option for ‘Default Query.’ Click the dropdown to the right of it, and select your new query we just added in Query and Report Designer. Save.
37. Go into Process Designer. Expand your processes under Incident Management > Incident. Deactivate the desired process that you'd like to add this functionality too.
Keep in mind, in order to deactivate a process, it cannot be set as the default. You'll need to make sure you have a secondary active process, set it as default, and continue with deactivating the desired process.
For this example, I am using the 'Full Incident' process, which comes OOTB.
38. Once it is deactivated, double-click the process to open it.
39. In your toolbox (button along the bottom), drag one of the blue ‘Action Instance’ icons onto the process, and place it near the Awaiting Response status.
40. In the Select Action popup, select the ‘Change Response Level’ action, and click OK.
41. Drag a green, ‘Automatic Action Instance’ icon right below your Change Response Level action. In the Select Action popup, select ‘Add Reminder,’ and click OK.
42. You’ll see the reminder window appear. You’ll need to enter the information you’d like to send, and specify any recipients to send it to. When finished, click OK.
This reminder will obviously be specific to your company and business needs, which is why I'm not diving into too much detail around it. It will be your responsibility to make this reminder look cohesive with the other reminders in your process.
43. In the process, draw the lines accordingly. I used the 'In Progress' status for this, but it can be added anywhere you'd like. Below is an example of what it looks like in my Incident process.
44. Save, activate, and set your process back to default if need be.
45. Last step in console is to allow proper privileges for the new ‘Changes to Response Level’ business object. Go into administration > expand roles > right-click whichever roles you want to have access to execute this new action (Analyst for example) > select privileges > expand modules > Incident Management > Process related objects > double-click incident > double-click the red x in the 'Execute' column for 'Changes to Response Level' to turn it into a green checkmark. You are now completely done in Console. See screenshot below for a visual aid.
46. Log a new incident and test.