• RonMiller
  • NEWBIE
  • 0 Points
  • Member since 2016
  • CyrusOne, LLC

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 0
    Replies
All,
Noob, untrained, in wolf territory. I have a question on triggers and transactions. I am looking at existing code so here's an example of what I need to understand:
1. trigger on case does a DML insert or update to a case comment inside the trigger code
2. there is also a trigger on the case comment and that does some DML 

Now I understand that the terms transaction and context are interchangeable. So my question is: Are #1 and #2 in the same transaction (thru the commit of #2)??? Or is the transaction boundary of #1 at some point in #2 before the commit of #2 occurs?

I am having a problem with callouts where triggers and handlers and a mix of furure and sync calls are made. I follow it all but I really need to understand where the boundary is. The code below from the SF docs suggests to be that the transaction (in my case) would include thru the commit of #2. But what bugs me on this is that I have read that trigger calls are batched by the system up to 200 calls.

"For example, consider the following chain of operations: a custom Apex Web service method causes a trigger to fire, which in turn calls a method in a class. In this case, all changes are committed to the database only after all operations in the transaction finish executing and don’t cause any errors. If an error occurs in any of the intermediate steps, all database changes are rolled back and the transaction isn’t committed."