3.2.7.5 Begin Phase Zero

The Begin Phase Zero event MUST be signaled with the following arguments:

If the Begin Phase Zero event is signaled, the Core Transaction Manager Facet MUST perform the following actions:

  • Set the transaction state to Phase Zero (section 3.2.1.3.3).

  • Move each Enlistment object in the Next Phase Zero Wave Enlistment list of the transaction to the Phase Zero Enlistment list of the transaction.

  • Set the Phase Zero Registered flag of the transaction object to FALSE.

  • If the Phase Zero Enlistment list of the transaction is not empty:

    • For each Enlistment object in the Phase Zero Enlistment list of the transaction:

  • Otherwise:

    • Set the transaction state to Phase Zero Complete (section 3.2.1.3.4).

    • Signal the Phase Zero Complete event (see sections 3.4.7.14 and 3.8.7.6) on the superior enlistment's transaction manager facet of the transaction with the following arguments:

      • The Superior Enlistment object of the transaction

      • The success outcome