Wondering on how to have an approval mechanism to order a Laptop in your Organization? OR Want to have a group of people to approve application access request? OR If you want your employees to go through a series of approvals to request something?..
We can accomplish these requirements using "Service Request Approvals". In this blog we will see different types of Service Request Approval Types.
What is required to configure SR Approvals?
- You must have the SRM Administrator permission to configure BMC Service Request Management approvals.
- For Group and Custom Approval we need the users to have the “Request Approver” Functional Role along with Service Request User Permission.
We have following types of Service Request Approvals:
- Person: This will be a specific person from People Form who will be approving the SR.
- Custom: Approver will be selected using the Selection Criteria in Custom Approval Chain.
- Group: SR will be approved only by the Group Member selected in the group with Request Approver Permission.
- Manager: Enables you to specify how high you want to go in the management approval chain.
- None: No approval will be associated with the SR.
Now lets see how these approval works...
This will be a specific approver whose name is declared and this will be the ONLY person who will get the service request to approval request. Anyone can be a Service Request Approver in this case and NO special permission is required for an Approver.
Points to Remember:
We can see one more option above “Assignment Option”. If we select this option, then the Request Approver will be the “Manager” of the user mentioned under “Approver”. If we don’t check “Assignment Option” then the request approver will be the person selected. If “Use Request Manager” is selected, but in People record “Manager” is not defined for the Submitter… then the Approval will be triggered to the Person defined in the SRD.
In this approval type, the approver request goes to the Manager of the User submitting the request. In this type we get an option to set the level for how high we want the approval request to run. For e.g. First place, the request should go to the manager of the user submitting the request… at Second place, the request should go to the manager of the level above and so on.. We can declare max to level 5 of approvals for one request.
Points to Remember
If one of the Manager in the Level “Rejects” the Request, the Service Request will be Rejected and Closed. Say you have configured Level-4 in the SRD and for a requester only Level-3 Management is Present then the Level-4 will be skipped provided Level-1, 2 and 3 has approved the request.
If the Submitters Manager is NOT defined in the People Record, then the Service Request will be Rejected and Closed. Means Level-1 Manager is Mandatory for the Manager Approval to work. If the Level-2 Manager is not defined (Manager’s Manager) in the People Record then the Service Request will be Completely Approved and will move to Initiated Stage once the Request is approved by Level-1. Means “If the Manager Level is broken after Level-1 then the Approval Level stops at that broken level”
In this Approval Type, Approval Request is send to the Member of the specific Support Group who “Request Approver” Functional Role and Functional Role’s Availability as “Yes”. Its important that in the selected support group at least one member should have the “Request Approver” Functional Role with Availability to “Yes”, else the request wont proceed further.
Points to Remember:
We have one more concept called Approval Role Definition. The form name is “AP:Role”. In this Form, we can define if “ALL” the members of the group should approve the request or “ANY ONE” can approve the request and then Service Request will be processed. On this form, under “Role Name” we need to provide the “Support Group ID” and make a search to see for what all functional role the rule is set. For e.g. "SGP000000000011 | Request Approver" is the rule set for “Request Approval” functional role and we can see, the Rule is set to “All Must Sign”. Cause of this, all the members who have request approver permission need to approve the request.
If we change the rule to “One Must Sign”, then any one member of the group can approve the request and then the SR will be processed. Here we don’t need all members to approve the SR. Whenever the Group Approval is Selected, a Group Approval Mapping Record is created in the APR:Approver Lookup form.
In this approval type, we need to create Approval Chain and Mapping using which based on criteria approval requests are been sent. The main advantage of using Custom Approval is, we can add many users or group as approvals to a single SRD. For e.g. I want “Rich, Mike and Sandra” to approve a request. This can be done using custom approval type, where even if these members are not of same group still we can send individual approval request to them.
High Level Steps to create a Custom Approvals:
1) Set the Approval Type to “Custom” is the SRD.
2) Check “Approval Process Configuration” Form to confirm the Approval Process are enabled.
3) Create Approval Chain.
4) Create Approval Mapping.
To check Approval Process Configuration Form, you need to go to:
Application Admin Console > Custom Configuration > Foundation > Advanced Options > Approval Process Configuration.
On this form, under Form Name select “SRM:Request” and make a search. We could see 3 Out of the Box process defined: SR-Ad Hoc, SR-Level and SR-Management Chain.
1) Service Request- Ad Hoc: This process provides routing authority to each approver without requiring the administrator to create approver mappings for every individual or role. The initial approver is the manager of the user who is requesting the service. It is up to the manager to specify the next approvers before he or she approves the service request.
2) Service Request- Level: Uses approver mappings to determine approvers
3) Service Request- Management Chain: Uses a user's management chain to determine approvers. Here we can declare the Level for the chain to send request for approval. In these all approval process we can set the “Status” flow i.e. if Request is Waiting for Approval what should be the status of the SR, if request is approved what should be the status of SR and so on..
Points to Remember:
We can create our own CUSTOM process as well. But need to make sure to enable only the custom one and disable the OOB one so that the process can run correctly. Its advised NOT TO make changes to OOB Process or Rules. If these process are set OFFLINE then Custom Approvals wont run.
Example: 1) Lets see how we can incorporate Level Approval
Process Type: Service Request - Level:
Once we check the Process, we need to create Approval Chain. We need to go to Application Admin Console > Custom Configuration > SRM > Approval > Approval Chain.
Steps to Create Approval Chain:
- To create new, click on CREATE.
- Provide, Chain Name, Description, Add Form: SRM:Request, Add Company(any specific or Global), Status as Enabled.
- Under Selection Criteria we can declare some condition so that this Chain will get associated to those SRD’s which has approval type “Custom”. For e.g. we can select “Category1= XYZ” cause of this all SRDs under this navigational category which has custom approval, will be using this Approval Chain to select the Approvers.
- If the Chain is ONLY for one SRD, then we can directly add the SRD Name and click on Select.
- Once selection Criteria is set, now we need to select the Process Type.
- Under Process Name we can select Ad Hoc, Level or Management based on our requirement.
- We can select Level if we want the approver to be only users and not their managers.
- We can select the Management one when we want the approvers to be the manager of the user submitting the request.
- In this example we will select “SR- Level”. Once selected click on Apply and now we can add set fields for the required status of the SR.
- Expand the level on left and first select “Approved”. This means, when the SR is Approved what should happens next.. E.g. what should be the “STATUS”.
- To set values, select “Approved” and on the right bottom select “Add Set Field Actions” and Click on Apply. This will enable the Add button and set field option will get added under Approved.
- Here we can add many things like “Status”, “Status History”, Summary etc.
- Select the Field as “Status” and under value we can set “Planning”… This means when the SR is approved, the Status field should get change to Planning. Like status we can add many things which value we would like to set when the SR is approved.
- Now click on Apply and the set field is added.
- The same we need to do for “Rejected”, “Cancelled” and “Error”. Once all set fields are added click on SAVE and now the Approval Chain is Created.
Once, Approval Chain is created now we can create Approval Mapping. You need to go to: Application Admin Console > Custom Configuration > SRM > Approval > Approval Mapping.
Steps to Create Approval Mapping:
- In Mapping we have option on Individual, Group and Inherent Group/Role(used with Ad Hoc)
- In this example we will select “Individual”.
- Under Approval Indicator select “Service Request”.
- Select the Name of the Approval.
- Under Phase Name select “Service Request – Level”.
- On the right bottom, select the SRD Name which we need.
- We have a field named “Level”. We can use this field to set the order for the approvals. E.g. we can create 3 records of 3 Individuals and give them Level as “0, 1, 2”. Cause of this, the approval request will be send in order or “0, 1, 2”.
Like Individual, we can set the Level for Groups as well. We can set the level for 1st the request should go to a Individual, then 2nd to a Group and then 3rd again to the Individual. We just need to make sure we add the same SRD name so that on that SR these mapping will fire. We can even set Level to the Approval Chain. Like after one Approval Chain other should fire. This can be done by adding SRD Name in selection criteria and set the Level as “0, 1, 2..) in the Approval Chain. And then they will run in the same order.
Once Approval Chain and Mapping are created, we can add the Approval type as “Custom” to the SRD and submit the SR. As we have marked 2 Individuals to get approval one after another, after submitting the SR we should see the same behavior.
Example: 2) Lets see how we can incorporate Chain Approval
Process Type: Service Request Management Chain:
Service Request- Management Chain can be used when we want “Manager Level” Approval. For e.g. when user submits a request, his manager should get the approval request first, then based on Approval Mapping further defined user’s should get the Approval Request. Here we can set the Level for Manager Approval like Level1, Level2,..etc
In this e.g. we will using Management Approval at Level 2. “vnadar” will submit the SR. "vnadar” manager is “srm_admin” and “srm_admin” manager is “vnadar”. After this the request will go to the “Users” defined in Approval Mapping. In Approval Mapping we created 2 Individual Approvals as “srm_user” and “srm_admin”.
So, the request which we will submit now should have approvers in order as:
Now we will see how to create Approval Chain for Service Request Management Chain Process Type:
- To create Service Request- Management Chain, we need to call the “Service Request- Level” process.
- Open Approval Chain form and select CREATE.
- Provide Chain Name, Company and Form details. Select the criteria based on the SRD.
- Under Process Name, select “SR- Management Chain”.
- Under Maximum Level we can define the maximum number of Manager Approvers we need.
- In this e.g. we will select Level 2 and click on Apply.
- Now, we need to call “Service Request- Level” process as through it only the Management Process will process correctly.
- So we need to select “Approved” and under Process Name select “Service Request- Level” and click on Apply.
- This will create a new process under SR- Management Chain Process.
- Now, we need to select “Approved” and click on “Add Set Field Action” and click on Apply to add the Set Field .
- From here, same as “Service Request- Level” we need to select process and set field for them.
- In Management Chain we need to do the same for each status of the Management Chain.
After submitting a Service Request using Custom Approval, this is how approval request is send.
I hope you will find these examples useful to configure the Service Request Approvals in your Organization.
Case-1) Approver approves the Request but its still shows as "Waiting for Approval".
- Open "SRM:RequestApDetail" form and search for the Request number
- Move the Status to from "Waiting Approval" to "Planning"
Case-2) Service Request goes into "Rejected" Status after submittion.
- This confirms that the Custom Approval did not get attached.
- You may want to review the server side filter logging and confirm if it has attached the Custom Approval.
- You can search for zAPR:<CHAIN_NAME> in the filter logs.
Case-3) Approvers are not showing in the Approver Tab of Service Request.
- Check "Application Pending" form for any unprocessed records.
- Verify Approval Plugin is running and consider restarting approval plugin.
- KA400743 - SRM 8.1: If the operating system that the AR server is running on is not English and the decimal separator is a comma, service request approvals do not show in Approval Central.
- KA360640 - SRM:Request records get stuck with status = Waiting for Approval
- KA405081 - SRM 8.1: With a pt_BR locale, the Approval History cannot be seen on the Service Request Details
- KA409291 - SRM: Request being rejected when SRD has custom approval and BRL Currency
- SRM: Provide mechanism to automate add/deletions of users from entitlement groups
- Question Field Mapping - Easier to edit
- Simplify the transfer of SRD from an environment to another
I hope you find this blog useful. I welcome your comments, feedback, and suggestions that you may have regarding this blog post. I also encourage you to use Ideas on BMC Communities to submit and vote on features that you would like to see in BMC Remedy Service Request Management.
You can find additional blogs like this at BMC Remedy Support Blogs