Is someone able to explain the differences of a In-Transaction vs Standard Data Directive? I think I mistakenly/improperly discovered what a In-Transaction BPM’s purpose was when I thought i was doing things in the temp tables in the screen. When in fact my records were still being written to the database and my bpm was firing because of that.
So why would i use one over the other if they both fire when being written to the DB?
I believe in-transaction allows the update to stop, so it’s between the database and the BO, whereas the standard is after the update occurs.
There’s a diagram somewhere that explains it better, let me see if I can find it
In-Trans: You still have the opportunity to change data BEFORE it gets written to the DB. You can also abort the transaction if desired at this point Standard: The data has already been written to the DB. You cannot stop or reverse the change. it is done. but you can act on the fact that something has changed, and do some other action such as: update another UD Table, Send an EMAIL, etc.
Additionally, if a record is written multiple times to the database during the BO method call, in-transaction directive will be triggered multiple times, every time the data is sent to the DB, whereas standard directive is triggered once, after the BO method call completes, and contains all the added/updated/deleted records for the table, in their latest state.