Skip to Content
avatar image
Former Member

BDC call transaction

Hi All,

I am using BDC call transaction for FBRA , FB08 and FBR2 to do the reversal.

If any transacation fails i need to rollback all the transactions(EG:IF FBR2 fails i need to rollback the FBRA changes).

Is there any way to that.i tried different ways but it was not possible to me.

Other wise give me any alternate solution.

Thanks & Regards,

Rakesh

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

3 Answers

  • Sep 21, 2010 at 06:31 PM

    Call transaction does a commit immediately so i think so its not possible, you can check for BAPI's

    Im not sure whether the parameter RACOMMIT can be used for this. This will not commit by default . You have to pass a explicit commit . Pass X to that field in structure CTUPARAMS, then check sy-subrc after the call transaction statement , if its 0 then commit work else roll back work.

    call transaction 'MM01' using bdcdata options from l_ctuparams.
    if sy-subrc = 0.
    call transaction 'MM02' using bdcdata options from l_ctuparams.
    if sy-subrc = 0.
    commit work.
    else.
    rollback work.
    endif.
    else.
    rollback work.
    endif.
    

    Add comment
    10|10000 characters needed characters exceeded

  • Sep 21, 2010 at 07:55 PM

    Hi,

    You can try the CALL Transaction extension '..Messages into itab.' ITAB should be of type BDCMSGCOLL. Look for message type 'E' in the itab. If there is an error you can skip the remaining ones. But it would not be possible to rollback the already processed ones.

    Regards

    Prasenjit

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 21, 2010 at 09:02 PM

    Hi,

    Are there BAPIs you can use to run the postings normally created from these transactions? If so, provided the transactions are not dependant (data-wise) on each other), you should be able to run the BAPIs back-to-back with a final BAPI_COMMIT_TRANSACTION/ROLLBACK at the end of processing, based on the result of any BAPI run so far?

    (Just a thought).

    Regards, Andy

    Add comment
    10|10000 characters needed characters exceeded