Skip to Content
avatar image
Former Member

Rollback work is not working after calling function in user exit

Hello Team,

I am doing changes in sales order user exit. Here interesting point is that I call one FM to get some data.

If i don't call FM, then roll back works and delivery is not created.But when I call FM then Rollback does not happen.

I have tried using Rollback work and bapi_transcation_rollback.

Please suggest some hints.



Add comment
10|10000 characters needed characters exceeded

  • You should not be doing a rollback work inside a user exit. Use Save_Document_Prepare Instead and then (I think) issue an 'E' message.

  • Hello,

    User-Exit "userexit_save_document" is part of what program : SAPMV45A ?

    Is it called during transaction VA02 ?

    Can you show us a ScreenShot of your code (that is in the user exit) ?


  • Shiva,

    What is the input and what is the output from the FM through which you calling a webservice ? What else is checked within that FM to determine whether it is a Success or Failure.Based on that, may be you can get more appropriate suggestions relevant to your requirement.


  • Get RSS Feed

2 Answers

  • Jan 13, 2017 at 12:54 PM

    I seem to remember @Horst_Keller mentioning the fact that there is an implied commit work when a work area is rolled out. I've tried finding this again but no luck. Perhaps Horst can dig it up for you.

    Add comment
    10|10000 characters needed characters exceeded

    • Off the top of my head I would suggest peeking (ie reading but not updating) at the next number in the relevant number range, calling your third party service and if that is not ok abandon the delivery. All of this can be done in save_document_prepare.


  • avatar image
    Former Member
    Jan 27, 2017 at 05:56 AM


    Thanks for your response. We can not do coding in save_document_Prepare as delivery number is not determined yet which we need to send it to third party.

    @All, Please suggest if problem of this solution is feasible .

    Add comment
    10|10000 characters needed characters exceeded