The %ARMSTRT macro signals
the start of a unique transaction, also known as a transaction instance.
A transaction instance is an instantiation of a transaction class
that was previously defined by the %ARMGTID macro. If user metrics
are defined for a transaction class using the %ARMGTID macro, the
values for the user metrics begin with the METRVAL1–7= option.
The CORR= option defines
the type of parent (primary) and child (component) transactions using
the following values:
not part of a related
group
child of one transaction
and parent of another
Note: You use CORR= only when you
use correlators.
Each child start handle
variable must be defined with a parent start handle variable. Here
is a code fragment that shows the use of correlator types and the
SHLDVAR= and PARNTVAR= options:
%armstrt(txnidvar=txnid,corr=1,shdlvar=HDL100);
%armstrt(txnidvar=txnid,corr=0,shdlvar=HDL200<,...user metrics>);
%armstrt(txnidvar=txnid,corr=2,shldvar=HDL110,parntvar=HDL100);
%armstrt(txnidvar=txnid,corr=3,shldvar=HDL120,parntvar=HDL100);
The
input is the transaction class ID that is generated by a previous %ARMGTID
macro. If the TXNID= or TXNIDVAR= option is specified, the value is
used as the transaction ID. Otherwise, the value of the global macro
variable _ARMTXID is used.
If GETID=YES and the
APPID= or APPIDVAR= options are supplied, the supplied value is used
as the application ID. Otherwise, the value of the global macro variable
_ARMAPID is used.
The
output is the _ARMSHDL variable, which is the start handle that was returned
from the ARM_START function call. If GETID=YES, then the _ARMTXID
variable is updated. Any variables for TXNIDVAR= and SHDLVAR= are
updated.