cancel
Showing results for 
Search instead for 
Did you mean: 

SRM7 Process-Controlled Workflow - Grouping of Approval Items

Former Member
0 Kudos

Hi,

Background

We are using SAP SRM7 EhP1 and are upgrading from the older style application-controlled workflow to process-controlled workflow.

All the implementation steps have been followed (mainly following "Understand and Configure SRM Process Controlled Workflow" by Sam Chacko Ninan of SAP Labs India):

  • Switching to process-controlled
  • Technical Settings
  • BRF Settings
  • Process-controlled settings (single level n-item parallel approval workflow process)
  • Migrating/Converting all outstanding workflows
  • Developing user exits (BAdI /SAPSRM/BD_WF_RESP_RESOLVER and two bespoke classes - one for CC one for WBS to determine the responsible approver) to model our approval process - allocating the correct approver
    (development support provided by our support partner)
    Account Assignment can be a mixture of Cost Centres and WBS Elements.
    Our approvers may be the budget holder for many cost centres/WBS
  • Implementing shopping cart approval notification (configuration, amendment to Smartform)

Whilst I have found the set-up easier to maintain compared to the old style, we have come across one issue that might severely affect implementation and how well it will be received.

For example, a one item shopping cart has split cost assignment - cost centres CC1 CC2 and CC3.

All cost centres are the responsibility of approver App1.

App1 is correctly assigned to all three cost centres.

However, in our portal's 'Messages' tab three separate approval requests have to be processed.

Under application-controlled workflow our bespoke user exit manipulated the approval objects such that all items for one approver were grouped as one approval object.

Question:

Is there any way under process-controlled workflow we can achieve the same - one approval for all an approver's responsible cost assignments?

Many Thanks
Paul

Accepted Solutions (0)

Answers (2)

Answers (2)

vinita_kasliwal
Active Contributor
0 Kudos

Hey Paul

Wow .. !!  Very interesting query . I would like to however understand a thing here when we group these approval together does it mean that user has to either accept all or reject all items ?

So for example a user may want to only approve items on cost center 1 and not on CC2 and CC 3 ? Does it work in the scenario where you would want to take an independent decision for each ?

Also from what I read on the Link for process controlled it says as below so ideally it could be how the standard works .

". For a cost center, the cost center manager is the responsible agent. Each responsible agent receives a work item."

Process-Controlled Workflow Settings - Basic Settings for SAP SRM - SAP Library

To be able to club these requests in one we could probably write a code in /SAPSRM/BD_WF_RESP_RESOLVER that if the approver is same then no need for determining any oother approval agent ?

Regards

Vinita

Former Member
0 Kudos

Hi Vinita,

In our company we use Item-based approval.  A particular user may be the budget holder for one or more Cost Centres and/or one or more WBS Elements.

Rather than the user receiving an approval e-mail/UWL entry for each of their cost centres/WBS they get just one.  That's why in the ABAP code I say the approval 'object' is the username rather than the cost centre/WBS code.

Process Level Configuration has a field Decision Type, which I think is well explained here, and will answer your question:

http://help.sap.com/saphelp_srm701/helpdata/en/a1/3cb4dffa314073b44b7ef3ba1a33c1/content.htm?framese...

In the WebDynpro Approval screen each user can only (wholly/partly) accept/reject items for which they are wholly/partly responsible - other items are greyed out.  Similarly in the Fiori Shopping Cart Approval app.

Sometimes it takes a couple of read-throughs to make sense of the Process-Controlled Workflow.  However, It's easier to maintain and I've found it much more reliable.

I found these documents/SAP Notes helpful too:

“Understand and Configure SRM Process Controlled Workflow” by Sam Chacko Ninan, SAP Labs India.

SRM Process-Controlled Workflows

http://help.sap.com/saphelp_srm70/helpdata/en/b5/ac2d308f154a7bb1bc60c98b6fa1d9/content.htm?current_...

SAP Notes

1277921 - Allow/Disallow to edit fields for approver/reviewer

  For n-item approval, SAP-std Approver and Requisitioner CANNOT change SC.

  Small changes like delivery dates, bespoke fields can be altered.

1465831 - List of decision types available for SRM documents

  Process Levels can be ‘Approval’, ‘Approval with Completion’, ‘Automatic

  (system user)’.

  ‘with Completion’ allows approver and requisitioner to change the document,

  however, this assumes more than one level of approval - which isn’t in our

  blueprint. n-item approval is NOT compatible with completion.

  Possibly better explained using this document:

http://help.sap.com/saphelp_srm70/helpdata/en/a1/3cb4dffa314073b44b7ef3ba1a33c1/content.htm?frameset...

1580233 - Approval process schema and BAdI implementations

1354805 - Approval if approver is equal to requester

Kind regards
Paul

former_member216093
Contributor
0 Kudos

Hi Paul,

You have written it very passionately; appreciate the details you have given.

To answer your query, yes this can be achieved by altering the process level configuration.

There is decision type within process level configuration and in your scenario I believe that you should use decision type 1 or 3 which is header level approval for a decision set.

Please go through the decision types

http://help.sap.com/saphelp_srm70/helpdata/en/48/7df181bf5006b2e10000000a42189b/content.htm

Regards,

Ravi Pachauri

Former Member
0 Kudos

Hi Ravi,

I perhaps should have added a little more detail about how our approvers accept/reject.

Option 3, allows an approver to accept all their items or reject all their items.  We definitely need option 4 - accept/reject individual items.

The following SAP SRM help available took a couple of read-throughs, but clarified my thinking:

http://help.sap.com/saphelp_srm70/helpdata/en/a1/3cb4dffa314073b44b7ef3ba1a33c1/content.htm?frameset...

After a little more thought I've changed my focus to think in terms of the Approver, rather than cost centre/WBS level of detail.  If I create a new Responsibility Area class 'Approver', I hope to be able to associate the items to the approver (username) - using the BAdI already implemented (which maps the Item's GUID to the Responsibility Area GUID).  Grouping by Approver is the end goal.

I'll let you know how I get on and share the solution in case someone else finds themselves in a similar situation.

Regards

Paul

Former Member
0 Kudos

Hi Paul,

We are also facing the same issue like you were facing which grouping of the Approval Items.

We are in SRM 7.03 and using Process Controlled Workflow. Our approval is based on owner of the Account Assignment Category (Cost center, Asset, Internal order or Project/WBS element).

Our grouping works fine when there are 2 items from same account assignment category.

Scenario1 - Example - Line item 1 and 2 are from Cost center ABC and its owner is Approver1. Then Approver1 receives only workitem in grouping in his UWL.

Scenario 2 - Example - On the contrary if there are 2 line items from different cost center whose owner is Approver2, then the grouping fails and approver2 receives 2 workitems.

What should be done to group the items in scenario 2 ? Were you able to find any solution on this issue ?

Thank you.

Best regards.

Abhijit

Former Member
0 Kudos

Hi Abhijit,

In the end, I thought of it in a slightly different way.  Rather than thinking the Cost Centre or WBS Element was the thing to be approved, I thought about who the approver really was/how we really wanted to group approvals.

The Approver (username) is how we really wanted to group approvals.  That will ensure just one approval appears in their UWL - whether it be cost centre/WBS/mixed.

To save network traffic/RFC calls and efficient response we did the following:

- created two tables: one cost centre, one WBS containing the codes and responsible user

- created an RFC FM on the finance system to collect the cost centre/WBS/approver details

- created a batch report on SRM to refresh the approvers overnight.

In our BADI Implementations:
/SAPSRM/IF_EX_WF_RESP_RESOLVER~GET_AREA_TO_ITEM_MAP

    We read the two bespoke tables and took the username from the cost centre/WBS table.


Bespoke Classes:

ZCL_WF_AREA_APPROVER  having superclass /SAPSRM/CL_WF_AREA


    This Needed code in /SAPSRM/IF_WF_AREA~GET_RESPONSIBLE_APPROVERS,


We started out with two further classes - one for Cost Centre, one for WBS.  In the end we didn't need them.


Hope this helps.


Best wishes
Paul