To initialize the transaction object, you must create a transaction initiating procedure by specifying the TRANSACTION-MODE statement as the first executable statement in the procedure file. For example:
TRANSACTION-MODE AUTOMATIC [ CHAINED ]
When the client calls this transaction initiating procedure as a remote persistent procedure, an automatic transaction starts in the context of the server session and can remain open after the remote procedure call returns to the client. The context for this open automatic transaction is the entire server session, not (as you might think) the context internal to the transaction initiating procedure instantiated in the server session. Thus, any remote procedure (persistent or non-persistent) that is subsequently executed in the same server session participates in this open automatic transaction.