none
Compensation logic RRS feed

  • Question

  • I have couple of operations happening in the atomic shape. I insert certain rows on DB and send file to SAP. and after this there is some look up operation using a SAP webservice. If this webservice call returns error, I know I can use the compensation block to delete the rows in DB, but what happens of the file which is already sent to SAP?

    Is there any way to undo the operations on SAP which was initiated because of the file sent from Biztalk?

    Tuesday, June 6, 2017 11:54 AM

Answers

  • Well, yes, but SAP would have to offer some way to undo the previous operation.

    Like the database, where you had to perform your own delete operation there is no automagic 'undo' in SAP.  You'll have talk to the SAP team to find out what they can support.

    • Marked as answer by a.k.4.7 Tuesday, June 6, 2017 12:59 PM
    Tuesday, June 6, 2017 12:26 PM
    Moderator

All replies

  • Well, yes, but SAP would have to offer some way to undo the previous operation.

    Like the database, where you had to perform your own delete operation there is no automagic 'undo' in SAP.  You'll have talk to the SAP team to find out what they can support.

    • Marked as answer by a.k.4.7 Tuesday, June 6, 2017 12:59 PM
    Tuesday, June 6, 2017 12:26 PM
    Moderator
  • :) automagic! I wish things were as simple. Thanks for the reply
    Tuesday, June 6, 2017 12:59 PM
  • :) automagic! I wish things were as simple. Thanks for the reply

    I just with people would stop making things so unnecessarily complicated to begin with! :)
    Tuesday, June 6, 2017 1:27 PM
    Moderator
  • SAP support's calling a BAPI from subsystems using a synchronous connection
    BAPIs are run in a transaction where you can use commit or rollback depending on your needs
    https://msdn.microsoft.com/en-us/library/cc185462%28v=bts.10%29.aspx?f=255&MSPPError=-2147217396

    Only way to obtain the logic you want

    rgds/Peter

    Tuesday, June 6, 2017 2:11 PM