An application program defines the start and end of a global transaction, accesses resources within transaction boundaries, and usually decides whether to commit or roll back each transaction.
The current channel is set by the calling program or transaction by issuing a LINK, XCTL, START and pseudo-conversational RETURN with the channel parameter.
When an application program calls a transaction manager to start a global transaction, the transaction manager can use the xa_ interface to inform resource managers of the transaction branch.