OpenTP1 Version 7 Description

[Contents][Glossary][Index][Back][Next]

3.1.5 Transactions and UAPs

In the user service definition, a program developer should specify the UAPs to be included in a global transaction. Note that the user service definition must be specified such that MHPs are included in global transactions. A UAP defined to be included in a global transaction is called a UAP that has the transaction attribute.

Organization of this subsection
(1) Transactions and SUPs and SPPs
(2) Transactions and MHPs

(1) Transactions and SUPs and SPPs

For SUPs and SPPs, a function (e.g., dc_trn_begin()) declares the start of a transaction. Another function (e.g., dc_trn_chained_commit() or dc_trn_chained_rollback()) sets a synchronization point. Whenever a function that sets a synchronization point is issued, OpenTP1 performs a transaction determination for the global transaction of the SUP or SPP. Only an SUP or SPP that has the root transaction branch can issue a function to perform a transaction determination.

Only an SUP or SPP with the transaction attribute can issue a function that starts a transaction or sets a synchronization point. You can reduce the overhead required for transaction processing by using the user server definition to specify that the UAPs that access resources are included in a global transaction and that no other UAPs are included in the global transaction. To access resources, an SUP or SPP must be defined in the user service definition as being included in a global transaction.

Figure 3-6 shows a global transaction for an SUP or SPP.

Figure 3-6 Global transaction for a SUP or SPP

[Figure]

(2) Transactions and MHPs

When an MHP service is called, transaction processing starts. An MHP cannot issue a function (e.g., dc_trn_begin()) that starts a transaction. In cases where the MHP requests a service from an SPP, the MHP becomes the root transaction branch. Also, the SPP from which a service is requested cannot start a transaction.

Figure 3-7 shows a global transaction for an MHP.

Figure 3-7 Global transaction for an MHP

[Figure]