blocking the transaction to release manually the Purchase Req uisition

Dart, Jocelyn jocelyn.dart at sap.com
Mon Apr 8 05:06:37 EDT 2002


Hi Felipe,
The safest option would be to use custom-built user-decision steps or FORM
object-based steps or FORM steps
(available 610) to display the relevant details and capture the user
decision, then process
it in the background using a  BAPI (there are some BAPIs for requisition
release in business
object type BUS2105 and BUS2009).  Note that the more fields you have to
show the more development
will be needed.  Depends what info they use to make the release/reject
decision.
 
Another option that requires less development is to use EXPORT/IMPORT memory
to set a flag telling
you whether you were coming from workflow or not, and send an abort message
if they called it from the wrong place.
 
For instance at the start of your method, before calling your transaction
you could add a statement:
 
EXPORT workflow_flag to MEMORY ID 'WFSTART'.
 
Then in PBO of the initial screen of transaction ME54, add a statement
IMPORT workflow_flag from MEMORY ID 'WFSTART'.
If no flag is found or it's empty then send an abort message to cancel the
transaction.
 
You'll need to use a user-exit or a BADI or make a mod e.g. using the modif
assistant to do this
- it depends what's available in ME54 in your release - which means this is
potentially a more
risky option but still do-able.
 
This would satisfy your requirements, but I agree with Tomasz that the
approach
of restricting transaction entry is pretty dubious at best.
 
Regards,
        Jocelyn Dart
Consultant (EBP, BBP, Ecommerce, Internet Transaction Server, Workflow)
SAP Australia
Email jocelyn.dart at sap.com <mailto:jocelyn.dart at sap.com>
Tel: +61 412 390 267
Fax: +61 2 9935 4880
 
 
 
 
 
-----Original Message-----
From: Felipe Uribe - SAP [mailto:jfelipe_uribed at hotmail.com]
Sent: Monday, 8 April 2002 2:54 PM
To: SAP-WUG at MITVMA.MIT.EDU
Subject: Re: blocking the transaction to release manually the Purchase
Req uisition
 
 
Hi Mr Tomasz,
 
Thanks a lot for your answer.
 
It's pretty funny because this situation in this project is unusual; as some
of the people knows (some projects), the user has facilities to make
transactions easier than regularly they do (using Workflow) using the
regular menu, but some of them just don't want to take the risk to use new
things or they just doesn't want to use those facilities, but the rule in
the company is to use Workflow and that's it, the user is not allowed to
make manual release of this document.
 
Anyway, the solution that you send is completely valid and if I have no more
chances to solve my problem, I'll let it done in this way, but the fact is
unfortunately, this is the client request, so if you know the way to block
it, I appreciate it a lot.
 
Thank very much.
 
Best regards
 
Felipe Uribe
 
----- Original Message -----
From: "Zmudzin,Tomasz,VEVEY,GL-DS/DM" <Tomasz.Zmudzin at nestle.com>
To: <SAP-WUG at MITVMA.MIT.EDU>
Sent: Thursday, April 04, 2002 11:18 PM
Subject: Re: blocking the transaction to release manually the Purchase Req
uisition
 
 
> Felipe,
>
> apart from the technical issues -- if the user is allowed to release the
> document within workflow, why shouldn't he/she be allowed to release it
> manually?
>
> Please remember that WF is basically a coordination tool supporting the
> process / facilitating it. Should a user prefer to go  via standalone
> transaction, let him do it and make your workflow react to this
accordingly.
> This should NOT change your control over the process or have an impact on
> your process reporting.
>
> To react to purchase requisition approvals / rejections, insert into your
> workflow wait steps for the BUS2009.Released / BUS2009.Rejected events. To
> react to purchase order releases wait for BUS2012.Released. If you do it
in
> a fork like this:
>
>           Previous task
>                 !
>                 !
>     fork: 1 of 2 needed to complete
>     !                            !
>     !                            !
>  wait for event               "release" task
>     !                            !
>     !                            !
>     end of fork (will be reached when one of the tasks is finished)
>                 !
>                 !
>            (remaining tasks)
>
> you'll have the workflow request the release the standard way (right
branch)
> and CANCEL that request if data is released outside workflow, proceeding
to
> the "remaining tasks".
>
> Hope this helps,
> Tomasz
>
>
> P.S. For your objects it will be a bit tougher; you need to check the
> release codes that have been used. In the "Wait for event" you can capture
> them in a container element. You can loop at that step until the "right"
> release code is captured.
>
>
> -----Original Message-----
>> From: Felipe Uribe - SAP [mailto:jfelipe_uribed at hotmail.com]
> Sent: Friday, April 05, 2002 12:40 AM
> To: SAP-WUG at MITVMA.MIT.EDU
> Subject: blocking the transaction to release manually the Purchase
> Requisition
>
>
>
> Hi Everybody,
>
>
>
> I have developed a WF to release the Purchase Requisition, nothing special
> but I have a doubts about the permissions to access the transaction to
> release the document manually ME54, I mean, The User which is gonna
approve
> the document will have to make it using Workflow and Workflow uses the
> transaction ME54, same transaction to release it manually.
>
>
>
> Te question is how could I block this transaction to avoid the user to use
> it manually but I can't block it because Workflow is gonna call this
> transaction in the method.
>
>
>
> There is any possibility using the authorizations or something in the
> profile??
>
>  ....Idem with Purchase Order
>
> Thanks a lot.
>
 


More information about the SAP-WUG mailing list