Skip to Content

BOPF Transaction handling: Change object and COMMIT


in many cases the COMMIT of a transaction is only done if changes are there.

Does the Transaction Manager (Standalone or save) take this into account? Or can/should this be done via the change object (get_transactional_changes)?

Are there any issues or things to consider (Performance, Locking, ...)?

Thanks a lot in advance.

Regards, Thomas.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Jul 03, 2017 at 05:27 AM

    I think BOPF transaction manager handles this together with the service managers. This means that all changes there are performed get recorded with the corresponding service managers(in case multiple BOs are involved). The 'Save' triggers the transaction manager which checks with the involved service managers(in that session) about the changes done.



    Add comment
    10|10000 characters needed characters exceeded

  • Jul 07, 2017 at 03:09 PM

    Hi Suhas,

    thanks for the reply, it would be fine, if the Framework takes care of it.

    I would now like to extend my question to the following situation.

    1. We want to integrate into a process (transaction) which does not belong to our application.
    2. This process deals with classical BOs and BOPF BOs (which also do not belong to our application - in a technical sense).
    3. Within this process, we want to modify an instance of our own BO and, from a transactional point of view, all changes to BOs should be saved or none of them.
    4. This works fine - at least in most cases:

    - We modify the BO instance an exit

    - The central process calls the master slave transaction manager and all BOs (including ours) are saved

    - Finally, the a COMMIT WORK persists the data.

    Now, it can happen that the central process does not call the BOPF Transaction Manager and we have to ensure that changes to our BO will be saved. On the other hand, I do not get the information from the process, whether the TM is called or not.

    Now, my extended question is:

    Can the slave transaction manager be called twice? Or should I rather use the change object to find out whether there are still open changes?

    Thanks a lot and best regards, Thomas.

    Add comment
    10|10000 characters needed characters exceeded