Configuring custom approval chains
This topic explains how to create custom approvals by using approval chains. You must use an approval chain when you set the Approval Type option to Custom on the Service Request tab in the SRD.
The following information is provided:
About approval chains
An approval chain associates a service request with an approval process (or processes). You can create a custom approval chain to link different kinds of approval processes together so that they occur one after the other in sequence. For example, you can configure an approval chain so that a service request must be approved first by the user's manager and then by a group, such as IT. You can create multiple custom approval chains and configure BMC Service Request Management so that one service request uses a particular approval chain but another service request uses a different chain.
What kinds of approval processes can be linked in a chain?
You can link together the following types of processes in an approval chain:
- Service Request - Management Chain — Uses a user's management chain to determine approvers. You specify the maximum number of levels (1 to 10).
- Service Request - Ad Hoc — Uses the value you set in a field on the SRM:Request form to determine the approver. See To configure the approver in an Ad Hoc approval process.
- Service Request - Level — Uses approver mappings to determine approvers. See Creating approver mappings.
If the custom chain includes a Management Chain process and one or more Level processes, make sure that the Management Chain process is first. If the Management Chain process comes after a Level process, the Management Chain process will fail to execute.
What happens after each approval process runs?
A result will be returned from each approval process, such as Approved, Rejected, Cancelled, or Error. You can set the workflow actions that occur when a particular result is returned from an approval process:
- Set Fields action — Sets values to fields on the request (using a Set Fields action).
- Next Process action — Adds another approval process. You can have up to five total processes in a chain.
You can run multiple actions for a particular approval result. For example, you might set certain field values in the service request and run another approval process in the approval chain.
How is an approval chain selected for a particular request?
You must specify a qualification in the Selection Criteria field to determine which approval chain is triggered when a user submits a service request. The qualification might include the name of an SRD or information from the service request. For example, if you enter Facilities in the Category 1 field, the approval chain applies to all of the service requests in the Facilities navigation category. You can narrow the criteria further by entering a more selective qualification.
You can also use a user's response to questions to drive the selection of an approval chain. For example, you create a service request definition (SRD) that asks the user to select one of two options in response to a question. If the user selects option A, approval chain A is selected, triggering a specified approval process. If the user selects option B, approval chain B is selected, triggering a different approval process. See To configure approvals based on user responses to questions.
The Order field controls the order in which the approval criteria are evaluated for a service request, with 0 being the first. Use order value 0 for the most restrictive selection criteria, and higher order values for less restrictive selection criteria, as follows:
'Status' = "Waiting Approval" AND 'SRD_Level' = "Gold" AND 'Price' >= "1000.00
'Status' = "Waiting Approval" AND 'SRD_Level' = "Gold"
'Status' = "Waiting Approval"
Define at least one approval chain with very general selection criteria to capture service requests that do not meet the selection criteria of any other approval chain. Assign this approval chain a high Order value so that it is only selected after the selection criteria of all other approval chains have been evaluated.
Service requests that do not have an associated approval chain record will remain in the Waiting Approval state indefinitely. This is an error condition.
To configure a custom approval chain
- From the Application Administration Console, click the Custom Configuration tab.
- Choose Service Request Management > Approval > Approval Chains, and then click Open.
Several approval chains are listed in the Approval Chains form. To ensure that default approval processes work correctly, do not modify any of the system approval chains.
- In the Approval Chains form, click Create.
- In the Name field on the Approval Chain Definition form, enter a name for the approval chain.
- (Optional) Enter a description.
- From the Form Name list, select SRM:Request.
- In the Company field, select Global, or select a specific company that will use this approval chain.
This name maps to the name specified in the Company field on the Delivery tab of the SRD.
- Select a Status.
Leave the status Offline until you are ready to deploy it; otherwise, you might see unexpected results. Then, set the status to Enabled so that the approval chain can be executed.
- In the Selection Criteria field, enter a qualification for the service requests that you want the approval chain to apply to:
- Click the browse button (...) next to the Select Criteria field.
- In the Service Request Approval Selection Criteria dialog box, enter information in the appropriate fields.
- Click Select.
- In the Order field, enter an order for the approval chain.
- Add a process to the approval chain:
From the Process Name list under the Add Process panel (at the right), select a process, such as Service Request - Management Chain.
- If you select Service Request - Management Chain, enter the maximum number of levels for approval.
If you select Service Request - Ad Hoc, specify an approver as explained in To configure the approver in an Ad Hoc approval process.
- Click Apply.
The approval process is added to the chain with four possible approval statuses:
- (Optional) To add another process to the approval chain, complete the following steps:
- Select an approval status in the approval chain tree (for example, Approved).
- In the Add Process section, select a process from the Process Name list.
- Click Apply.
The process is nested under the approval status that you selected.
- (Optional) To add a Set Fields action to the approval chain, complete the following steps:
- Select an approval result in the approval chain tree (for example, Approved).
- Click the Add Set Fields Action panel header (on the right side), and click Apply.
- Select the new Set Field in the approval chain tree, and click Add.
- In the Set Field Value dialog box, select a field from the form (for example, select the Status field or Status Reason field to enter information about the service request).
- In the Value field, enter the value you want to set in the field.
- Click Save.
- Click Save to save the approval chain.
- If you created any Level approval processes, create approver mappings. See Creating approver mappings.
- To use the approval chain in an SRD, set the Approval Type to Custom on the Service Request tab of the Service Request Definition form. (See Setting approvals for the service request.)
To configure the approver in an Ad Hoc approval process
If the Ad Hoc process is not the first process in the chain:
- In the approval process immediately before the Ad Hoc process, select an approval result, such as Approved.
- Add a Set Fields action that sets the z1D_Approver field on the SRM:Request form to the login ID of the desired approver.
- Save the approval chain.
(Advanced) If the Ad Hoc process is the first process in the chain:
- Create data in the SYS:Form Field Selection form to expose the z1D_Approver field for service request field mapping.
When you complete this step, the z1D_Approver field will appear in the list of service request fields in the SR Field Mapping tab of the Question Management form.
- Map an approver's login ID to the z1D_Approver field. See Mapping service request fields.
To configure approvals based on user responses to questions
- Create a standard SRD that uses a custom approval type.
- Add a question to the SRD and map the question to a field on the SR Field Mapping tab.
The question type should be a menu, check box, or radio button, which requires a specific answer. For example, map the Department menu question to the SR Type Field 1 field.
- Include the field in your qualification in the Selection Criteria field of an approval chain. For example, if the selection criteria for the custom approval was "SR Type Field 1" = 'Sales' and the user selects Sales for the mapped question, this approval chain is used.
- (Optional) Include the same field in the Selection Criteria of a different approval chain, using a different qualification. For example, if the selection criteria for the custom approval was "SR Type Field 1" = 'IT' and the user selects IT for the mapped question, this approval chain is used.