3.3.4.7 Importing a Transaction with Additional Transaction Attributes

If the higher-layer business logic specifies that a transaction be imported by using a StxInfo (section 2.2.5.10) structure and that additional transaction attributes be set, the application MUST perform the following steps:

  • If the transaction manager of the application does not support the CONNTYPE_TXUSER_IMPORT2 (section 2.2.8.2.2.5) connection type, as specified in section 2.2.1.1.1.

    • Return a failure result to the higher-layer business logic.

  • Otherwise:

    • Initiate a new CONNTYPE_TXUSER_IMPORT2 connection using the Transaction Manager Name field of the application.

    • Get the transaction identifier from the provided STxInfo structure, as specified in section 3.3.4.6.1.

    • Create a new transaction object that uses the transaction identifier obtained from the provided STxInfo structure.

    • Add the connection to the transaction connection list.

    • Set the Connection-Specific Data field of the connection to reference the new transaction object.

    • Send a TXUSER_IMPORT2_MTAG_IMPORT_WITH_SET (section 2.2.8.2.2.5.3) message, using the connection:

      • The guidTx field MUST be set to the transaction identifier obtained from the provided STxInfo structure.

      • The isoLevel field MUST be set to the provided isolation-level value.The isoFlags field MUST be set to the provided isolation flags value.The szDesc field MUST be set to the provided description string.

    • Set the connection state to Awaiting Import Response (section 3.3.1.7.2).