cancel
Showing results for 
Search instead for 
Did you mean: 

Changing "Check Shopping Cart" screen and Completion workflow

Former Member
0 Kudos

Hi,

Below i describe a) the current process, b) the required changes, and c) my questions.

Though it is also about workflows i still thought this was the best place to post the thread.

Current process:

In the process "free text order" i choose Go Shopping >> Shop >> Describe Requirement. I fill in details and complete the next steps.

Now the Completion workflow (WS14000044) has started.

So if I now look on my homepage in SRM i have an approval item which reads:

Approval

You can approve or reject shopping carts and read your e-mails relating to the procurement transaction

You have

- 1 Workflow Entries in Inbox

- 0 Unread Documents in Inbox

So i open the list and find one item: Complete shopping cart of mr X.. Now i click on the item and it takes me to "Check Shopping Cart"

At the bottom of the screen is one button: "Change"

Requirements:

1) add two buttons to this screen. One button is "Reject", to reject the shoppping cart directly. The second button "Mail Requester" to send the shopping cart back to the requester and also sends a mail via outlook to inform the requester that this has happened and requesting more information.

2) these buttons should then influence the behaviour of the Completion Workflow. In this workflow (WS14000044) the task Completion (TS14007947) currently has one activated outcome. From my two buttons i would need two more outcomes that allow me to model the other actions that i need i.e. the rejection outcome and the back-to-requester/send-mail outcome.

Questions:

1) is it allowed/possible to add the buttons to the existing screens. Or do i need to create a custom screen and call that instead of the standard screen?

2) is it allowed/possible to modify the completion workflow as described? Or do i need to copy and then modify?

3) How could i make the buttons to interact with the workflow? The only thing i can think of is to create a Z-bus object of the object Form and to modify so that it show my expected outcomes.

4) any helpful links to sdn posts of blogs or otherwise on how to go about to create the necessary changes.

Thx for your input

Kind regards

Robert

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Guys,

Long time went by. And i never let you know i much appreciated your valuable and detailed contribution.

All in all we ended up with a completely different scenario.

Thx anyway.

Former Member
0 Kudos

Hi Robert,

As mentioned by Serguei,you can use the Std approval WF with purchaser ALWAYS being the first approver.You can modify the approval logic using the BADI "BBP_WFL_APPROVA_BADI".Once he approves/rejects,the approval can go further.In this way you will not need to have any custom buttons for approval/rejection(which will also become quite complex) and also have a custom BUS object for the workflow.

Further,you can set the security level for the Purchaser(parameter BBP_WFL_SECURITY in PFCG) so that he can also change the SC .

BR,

Deepti.

Former Member
0 Kudos

Hi Serguei, Deepti,

Thx for reacting.

We are now investigating some of you suggestions.

More info from my side:

1) We have SRM 5.0

2) The current situation is this: we have 2 standard SRM workflows i.e 10000060 (approval without approvers) for ShCart where Total Amount =< Spending Limit of Purchaser, and 10000276 (approval Wf) for ShCart where Total Amount > Spending Limit.

We want to extend this scenario to incorporate "Free Text Order" where we order not from the catalog, but with free text

The idea is that free text orders will first go through the completion workflow (14000044) and then still go through 10000060 or 10000276. We already managed to set this up by playing with the start conditions.

But now the client wants to have more options on the completion workflow, so that was the reason for my post.

I have an additional question:

Will it work if i copy one standard workflow (10000276) to a Z-workflow and then deactivate my completion workflow again and let my Z-workflow be triggered by the BUS2121.SAVED event?

This way, maybe, i can follow Deepti's suggestion, and use the Standard approval WF (10000276) twice in the scenario i described above. The first time as the Z-workflow (with the starting condition set of the completion workflow, the second time as standard approval with the starting condition set of the approval workflow?

Hope you can answer this.

Kind regards

Robert

former_member544585
Contributor
0 Kudos

Hi Robert,

Again, before technical solutioning, we need to step back and understand the business process and functions of each role (e.g., Buyer, Financial Approver) in the completion and approval workflow.

Here's my understanding of the as-is (correct me if I am wrong). You are using One-Step Spending Limit WF (10000276) for financial approval. This is done by a Financial Approver (I am guessing, the line manager). The Buyer is not part of the process. Now, you want to introduce free-text requisitioning, and, consequently, you want to introduce the Buyer role into the workflow process - to complete the free-text lines (e.g. with vendor, price).

Based on above scenario, I believe your initial solution was not incorrect - introduce Completion WF (14000044) for the completion task, while keeping 10000276 for financial approval.

Now the business wants the Buyer to play a more active role in the process. They want to be able to Reject (the whole cart?) and Inquire (send the cart back to requester with questions). In my mind, it may still be possible to explore keeping the original design with Completion WF without modifying it, and still achieve the business needs. You can explore different ways of doing that: delete SC items instead of Rejecting, add Approval Comments to inquire, etc.

Alternatively, you can replace all your workflows with one - WS14000133 "Spending limit, n-step,

dynamic approvers (BAdI)". Here, you can determine your approvers flexibly via a BAdI implementation. For example:

1. If Total Amount =< Spending Limit of Purchaser, then no approval agents - auto-approve SC.

2. If Total Amount > Spending Limit of Purchaser AND there're no free-text lines, then determine Financial Approver.

3. If Total Amount > Spending Limit of Purchaser AND there're incomplete free-text lines, then determine Buyer; once free-text lines completed - then Financial Approver.

WS14000133 also has back-and-forth functionality which you can use for the inquiries. WS14000133 provides the most flexibilty, but it also involves more effort to implement. Read up on WS14000133 at help.sap.com.

Bottom line - I would focus on evaluating these two standard options: 14000044 with 10000276, or 14000133. You may need to do some pros/cons, cost/benefit analysis. But I see no need to modify or copy SAP templates in your case.

Cheers,

Serguei

<removed_by_moderator>

Edited by Moderator on May 29, 2009 7:22 PM

Former Member
0 Kudos

Hi Robert,

We had somewhat similar requirement and we achieved it by using custom field in the shopping cart.

Please try below procedure and see if it could satisfy your requirement:

1. Create a custom field called accept (check box, or option button) in the shopping cart screen. Make this field editable only by the buyer

2. Using BADI default the box CHECKED when the Free text shopping cart is crated. Please note this box should be checked only for Free text and not for other shopping carts.

3.In the completion workflow start conditions, define the condition to trigger workflow only when custom field is active (ie box is checked) and line item is "Free text". (Note :To call custom field you need to use ZBUS... object ). So by default this field will be checked and for all Free text shopping carts completion workflow will be triggered.

4.When the buyer gets the notification and opens the line item details, the custom field need to be editable. If buyer wants to reject then do not edit the box (leave the box checked), add the comments/reasons for rejection and save the shopping cart.

5. Then SC will go back to the requestor for accepting changes.

6. Requestor makes the necessary changes and save the SC. Here requestor should not able to edit the custom field.

7. Then the SC will go back to the buyer because the custom field is checked and it triggers the completion workflow as defined in the start conditions.

8. Buyer then approves the SC and UNCHECK the box. This means it is approved by the buer.

9.Then in the start condition of the main workflow add the condition "when Custom check box is UNCHECKED and your existing conditions". With this the main workflow will be triggered only when the free text shopping cart is completed by the buyer. For other shopping carts, the check box will always be UNCHECKED and workflow will be triggered without an issue.

Thanks,

Jagadish

former_member544585
Contributor
0 Kudos

Hi Robert,

Before modifying your Completion WF, it is important to understand the complete scenario. Perhaps, a better solution can be arrived at.

According to your requirement, the Purchaser needs the ability to reject a Shopping Cart. In this case, you can potentially add the Purchaser as the first approval agent in your main Approval WF - before other approvers. This way you can get rid of the Completion WF, and meet your requirements in a more standard way.

If you need more help, please describe your end-to-end Shopping Cart completion and approval scenario: the full business process and what system WFs are used. Also mention your SRM version.

Cheers,

Serguei