TDQ items only get committed when you do a SYNCPOINT, or when the task ends. From what you are describing, the commit is taking place when program 1 ends, and thus program 2 gets triggered, as only now is the item on the tdq. If you wish the item to be committed earlier than this, then put in a SYNCPOINT, but bear in mind that this will also commit anything else which is still held (including ending any BROWSE of a vsam file, if this is what you use). In other words, put the SYNCPOINT at the end of the logical-unit-of-work, otherwise you may end up with inconsistent data should you subsequently abend.