Share This:

In BMC Remedy Approval Server, some of the process related forms that drive / impact the approval signature generation process exposes a field named "If Multiple Approvers". This field can be used to define how to manage signature generation in cases where multiple approvers are configured for an approval phase for an application request. This field is exposed in three different places viz. Process, Rule, or Role levels. And approval administrators can use this field at various levels to specify the behavior of approval process when there are multiple approvers configured. Below is a screen-shot from the Approval-Server document. Also the same can be found at the below link.

https://docs.bmc.com/docs/display/public/ars81/Creating+signatures+for+multiple+approvers

apr-svr-doc-ima.jpg

 

As this field is exposed at various levels, so one would need a clear understanding of which level takes priority and how the system behaves when this settings is used at various levels. And this post is motivated to provide some insight into this field setting at various levels.

 

Though this field is exposed at three levels (process, rule and role), however this setting is primarily used at two different levels, viz. Process and Role level.

 

1. At AP:Process Definition level: This drives how many signature lines to generate when a Request enters into an approval  phase (in other words approval process is invoked on a Request).

proc-defn-ima.jpg

   - If "All must sign" is set, then for each qualifying approval mapping record (in other words for each record returned by the GetNextApprover rule qualification), one signature line will be generated. i.e. number of signature lines = number of qualifying approval mappings or number of records returned to the GetNextApprover rule.

 

   - If "One must sign" is set, then for all the approval mappings (or all records returned to the GetNextApprover rule), only one signature line will be generated and each approver in the one signature will be delimited by a ";".

 

 

2. At AP:Role level: This drives how many signature lines will be generated for the members of the AP:Role record.

role-defn-ima.jpg

   - If "All must sign" is selected, then for each member in AP:Role record one signature line will be generated. i.e. number of signature lines = number of AP:Role delimited members in member-list field.

 

   - If "One must sign" is selected, then only one signature is generated for all members of the AP:Role (one record for all in the member-list field)

 

NOTE:

1. In ITSM, one AP:Role record is created and maintained by the Foundation piece to hold user-ids of people records who belong to a support group and have some functional role. For each functional role for a given support group, one AP:Role record is created by FND code. The role name is usually in the format "<Support_Group_ID> | <Predefined_Name_For_FunctionalRole>".

    e.g. Change manager role for Backoffice Support        : "SGP000000000009 | CAB-Manager"

         Change Approver role for Backoffice Support    : "SGP000000000009 | CAB-Member"

         Change coordinator role for Backoffice Support    : "SGP000000000009 | CAB-Assignee"

 

Now if there is a situation where, Process level is set to "One must sign" and Role level is set to "All must sign", in such case Process level setting takes precedence and only one signature will be generated for all approvers.

 

 

3. At "AP:Rule Definition" level: In my knowledge, the "If Multiple Approvers" field setting in the "GetNextApprover" rule, does not have any effect on this functionality as of today. i.e. This setting at rule level has no bearing on the functionality at this time as the setting at Rule level is not considered while processing.

rule-defn-ima.jpg

 

Note:

The "If Multiple Approvers" field also exists on the "AP:Signature" form. This field has no affect on how the approval signatures are generated. Rather it tells the setting used at Process level to generate the signature.

 

 

Some example cases:

1. You have two mappings as apr1 (individual) and sup-grp1 (support group - with apr2 and apr3 as approver members) and you need either the individual and one member from sup-grp1 to sign.

    - Set Process level is set to "one must sign" (Role level setting is not relevant here). Now only one signature line as "apr1; apr2; apr3" will be generated.

 

2. You have 2 mappings, say two support-groups and you need one member from each group to approve.

    - Set Process level as "All must sign" and Role level as "one must sign". Now, one signature line for each sup-grp will be generated which is at par with the requirement.

 

3. You have a mapping for a group where you need all members of the group to sign.

    - Set "Process" level as "All must sign" and "Role" level as "all must sign". Now for each member in the AP:Role record one signature line will be generated.

 

4. You have two group mapping for groups grp1 (apr1 and apr2 as members) and grp2 (apr3 and apr4 as members) and you need all members of grp1 to approve and only one member of grp2 to approve.

    - Set process level as "All must sign", Set Role level for grp1 as "All must sign" and Role level for grp2 as "One must sign". Now one signature for each member in grp1 will be generated and one signature for all members in grp2 will be generated.

 

In case you have more example scenarios, please feel free to add in comments or ask in comments on this page.

Ideally in most business cases the above available settings at different Levels meet the approval related requirements. For any other business requirement, where the existing features do not help meet the requirement, the business case may qualify for an Idea (RFE earlier).

 

Reference reading:

Approvals 'all' vs 'one' must approve

Issue with Change Approval Signature fashion

Re: How can I create a two step approval process for CM 8.1?

Re: open approval in a Particular Phase at once for diff. Level

Re: Explanation need in Run process

How to increase the input length of the Member List field on AP:Role form in BMC Remedy Approval Server.

 

 

I hope, people find this blog content useful and helpful. Please provide feedback, comments, queries which helps to improve and learn.

 

NOTE: The above information is purely based on my knowledge of the product. Any correction will be a learning for me as well.

Visit https://communities.bmc.com/people/sarsahu/content?filterID=contentstatus[published]~objecttype~objecttype[blogpost] for my other blogs. If you find these useful, share the link with others.