3.3.4.8 Initiating Transaction Commit

If the higher-layer business logic initiates the commit of an existing transaction, the application MUST perform the following steps:

  • Find a CONNTYPE_TXUSER_PROMOTE, CONNTYPE_TXUSER_BEGINNER, or CONNTYPE_TXUSER_BEGIN2 connection in the transaction connection list.

  • If a CONNTYPE_TXUSER_PROMOTE is found:

    • The application MUST attempt to complete the transaction by using CONNTYPE_TXUSER_PROMOTE.

  • Otherwise, if a CONNTYPE_TXUSER_BEGINNER is found:

    • The application MUST attempt to complete the transaction by using CONNTYPE_TXUSER_BEGINNER.

  • Otherwise, if a CONNTYPE_TXUSER_BEGIN2 is found:

    • The application MUST attempt to complete the transaction by using CONNTYPE_TXUSER_BEGIN2.

  • Otherwise:

    • The application MUST return a failure result to the higher-layer business logic.