on 02-02-2015 11:03 AM
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):
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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:
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
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:
1580233 - Approval process schema and BAdI implementations
1354805 - Approval if approver is equal to requester
Kind regards
Paul
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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:
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
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.