TRANSACTION attributes
Describes the syntax and attributes of the TRANSACTION resource.
- ACTION({BACKOUT|COMMIT})
- Specifies
the action to be taken when a CICS® region
fails, or loses connectivity with its coordinator, during 2-phase
commit processing after the unit of work has entered the indoubt period.
The action depends on the WAIT attribute. If WAIT specifies YES, ACTION
has no effect unless the WAITTIME expires before recovery from the
failure. If WAIT specifies NO, the action taken is one of the following:
- BACKOUT
- All changes made to recoverable resources are backed out, and the resources are returned to the state they were in before the start of the UOW.
- COMMIT
- All changes made to recoverable resources are committed, and the UOW is marked as completed.
- ALIAS(alias)
- Specifies an alias transaction name for this transaction. The
name can be up to 4 characters in length. This option is useful if you want
to run on a terminal defined with UCTRAN(NO), or a transaction that
allows mixed case input (PROFILE UCTRAN(NO)). For example, you can
start the same transaction as ABCD by means of ALIAS(abcd) . When you install a TRANSACTION definition that contains the ALIAS attribute, the result depends on whether the alias name is already in use in the system:
- If the alias name is in use as a primary transaction ID, the ALIAS attribute is ignored.
- If the alias name is in use as the alias for a different transaction, the original alias is replaced by the new one. In other words, after the TRANSACTION definition has been installed, the alias name refers to the new transaction, and not the original.
- BREXIT(program)
- Defines
the name of the default bridge exit to be associated with this transaction,
if it is started in the 3270 bridge environment with a START BREXIT command that does
not specify a name on its BREXIT option. The name can be up to 8 characters
in length.
Acceptable characters:
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.A-Z 0-9 $ @ #
If BREXIT is defined, do not specify REMOTESYSTEM, REMOTENAME, DYNAMIC(YES), or RESTART(YES) because they are ignored.
Note: The Link3270 mechanism is now the recommended way to use the 3270 bridge. Refer to the publications for CICS Transaction Server for OS/390®, Version 1 Release 3 if you need to implement new applications using the START BREXIT interface. - CMDSEC({NO|YES})
- Specifies
whether security checking is to be applied on system programming commands.
- NO
- No check is made. The commands are always run.
- YES
- A call is made to the external security manager (ESM). CICS either authorizes or prevents access. If the ESM cannot identify the resource or resource type, access is prevented.
- CONFDATA({NO|YES})
- Specifies
whether CICS is to suppress
user data from CICS trace entries
when the CONFDATA system initialization parameter specifies HIDETC.
If the system initialization parameter specifies CONFDATA=SHOW, CONFDATA
on the transaction definition is ignored. If the system initialization parameter specifies CONFDATA=HIDETC, the following options are effective:
- NO
- CICS does not suppress any user data. z/OS® Communications Server and MRO initial user data is traced in trace point AP FC92. FEPI user data is traced in the normal CICS FEPI trace points. IPIC user data is traced in the normal CICS IS trace points.
- YES
- CICS suppresses user data from the CICS trace points.
- DESCRIPTION(text)
- You can provide a description of the resource that you are defining in this field. The description text can be up to 58 characters in length. No restrictions apply to the characters that you can use. However, if you use parentheses, ensure that for each left parenthesis there is a matching right parenthesis. If you use the CREATE command, for each single apostrophe in the text, code two apostrophes.
- DTIMOUT({NO|mmss})
- Specifies
whether deadlock timeout is to be applied to the task. If the task
is suspended (for example, through lack of storage), a purge of the
task is initiated if the task stays suspended for longer than the
DTIMOUT value. If the purge leads to a transaction abend, the abend
code used depends on which part of CICS suspended
the task. When using CEDF, the user task, if possible, specifies DTIMOUT(NO)
or a large value. This value is also now used as the timeout on all
RLS file requests if DTIMOUT is nonzero; otherwise, the request gets
the SIT FTIMEOUT value. FTIMEOUT applies to transactions that do not
have a deadlock timeout interval active. If a time value is specified
for the DTIMOUT keyword of the TRANSACTION definition, this value
is used as the file timeout value for that transaction.
When using CEDF, if any DTIMOUT value has been specified for the user task, the DTIMOUT value is ignored while the user task is suspended and a CEDF task is active. Therefore, the suspended user task cannot end with a deadlock timeout (abend AKCS) while a CEDF task is waiting for a user response.
For DTIMOUT to be effective in non-RLS usage, set SPURGE to YES.
CICS inhibits deadlock timeout at certain points.
DTIMOUT is not triggered for terminal I/O waits. Because the relay transaction does not access resources after obtaining a session, it has little need for DTIMOUT except to trap suspended allocate requests. However, for I/O waits on a session, the RTIMOUT attribute can be specified on PROFILE definitions for transaction routing on IPIC or MRO sessions and mapped APPC connections.
You must define some transactions with a DTIMOUT value, because deadlock timeout is the mechanism that CICS uses to deal with short-on-storage (SOS) situations.- NO
- The deadlock timeout feature is not required.
- mmss
- The length of time (MMSS for minutes and seconds) after which deadlock timeout ends a suspended task. The maximum value that you can specify is 68 minutes; this value is accurate to one second.
- DUMP({YES|NO})
- Specifies whether a call is to be made to the dump domain to produce
a transaction dump if the transaction ends abnormally. This operand has no effect on the following dump operations:
- An EXEC CICS DUMP command, which always produces a dump.
- The system dumps for dump codes AP0001 and SR0001 that CICS produces with ASRA, ARSB, or ASRD abends. If you specify NO on the transaction DUMP attribute, CICS suppresses the transaction dump, but not the system dump.
- YES
- CICS calls the dump domain
to produce a transaction dump. Note that the final production or suppression
of the transaction dump is controlled by the transaction dump table.
For more information about the dump table, see The dump code options you can specify.
If no transaction dump table entry exists for the given dump code when a transaction abends, CICS creates a temporary entry for which the default is to produce a transaction dump.
You control dump table entries for transaction dumps using the CEMT SET TRDUMPCODE command, or the SET TRANDUMPCODE SPI command.
- NO
- No call is made to the dump domain, suppressing any potential transaction dump.
- DYNAMIC({NO|YES})
- Specifies whether the transaction can be dynamically routed to
a remote region, using the CICS dynamic
transaction routing facility.
- NO
- Creates a local or remote definition according to the REMOTESYSTEM attribute.
- YES
- Allows the dynamic transaction routing program to determine the local or remote status dynamically at invocation time. For programming information about the dynamic transaction routing program, see Writing a dynamic routing program.
- EXTSEC
- This attribute is obsolete, but is supported to provide compatibility with earlier releases of CICS.
- GROUP(groupname)
- Every resource definition must have a GROUP name. The resource
definition becomes a member of the group and is installed in the CICS
system when the group is installed.
Acceptable characters:
Any lowercase characters that you enter are converted to uppercase.A-Z 0-9 $ @ #
The GROUP name can be up to 8 characters in length. Lowercase characters are treated as uppercase characters.
- INDOUBT
- This attribute is obsolete, but is supported to provide compatibility with earlier releases of CICS.
- ISOLATE({YES|NO})
- Specifies
whether CICS is to isolate
the transaction user-key task-lifetime storage to provide transaction-to-transaction
protection. (See the TASKDATAKEY attribute for a description of user-key
storage.) Isolation means that the user-key task-lifetime storage
is protected from both reading and writing by the user-key programs
of other transactions; that is, from programs defined with EXECKEY(USER). The effect of
the ISOLATE attribute of storage access shows the effect of
the ISOLATE attribute. Note:
- The ISOLATE attribute does not provide any protection against application programs that run in CICS key; that is, from programs defined with EXECKEY(CICS).
- VSAM nonshared resources (NSR) are not supported for transactions that use transaction isolation. You must specify ISOLATE(NO) when you define transactions that access VSAM files using NSR. You can also function ship the file request to a remote region. The DFHMIRS program that carries out the request is defined with an EXECKEY of CICS. A CICS-key program has read and write access to CICS-key and user-key storage of its own task and all other tasks, whether transaction isolation is active.
- Transaction isolation does not apply to 64-bit storage.
- YES
- The transaction user-key task-lifetime storage is isolated from
the user-key programs of all other transactions; that is, from programs
defined with EXECKEY(USER), but not from programs defined with EXECKEY(CICS).
Also, the user-key task-lifetime storage of all other transactions is protected from the user-key programs of transactions defined with ISOLATE(YES).
- NO
- If you specify ISOLATE(NO), the transaction task-lifetime storage
is isolated from the user-key programs of those transactions defined
with ISOLATE(YES). The transaction storage is not, however, isolated
from user-key programs of other transactions that also specify ISOLATE(NO)
because, with this option, the transactions are all allocated to the
common subspace.
Note also that the user-key task-lifetime storage of all transactions defined with ISOLATE(YES) is protected from the user-key programs of transactions defined with ISOLATE(NO).
Specify ISOLATE(NO) for those transactions that share any part of their user-key task-lifetime storage.
- LOCALQ({NO|YES})
- Specifies
whether queuing on the local system is to be performed.
- NO
- No local queuing is to be performed.
- YES
- Local queuing can be attempted for a START command with NOCHECK option request when the system or IPIC connection is not available and the system name is valid.
You can use the global user exits, XISLCLQ or XISQLCL, to override the setting of the LOCALQ attribute. For programming information about the user exits in the intersystem communication program, see Alphabetical list of global user exit points.
- OTSTIMEOUT({NO|hhmmss})
- Specifies, in hours, minutes, and seconds, the length of time
for which an Object Transaction Service (OTS) transaction, created
in an enterprise beans environment and running as a task under this CICS transaction, is allowed to
run before the initiator of the OTS transaction must take a sync point
or roll back the transaction. If the specified period expires, CICS purges the task. The initiator of the OTS transaction can be one of these:
- The client of the enterprise bean.
- The EJB container. The container issues a sync point at the end of the bean method.
- A session bean that manages its own OTS transactions.
Methods of session beans that manage their own OTS transactions can override the default timeout value by using the
setTransactionTimeout
method of thejavax.Transaction.UserTransaction
interface.- NO
- OTS transactions will not timeout. NO is the default.
- hhmmss
- The time (in HHMMSS format) before the task is purged. The maximum period is 24 hours (240000).
- PARTITIONSET({partitionset|KEEP|OWN})
- Specifies
the name of the partition set that is to be the default application
partition set. The name can be up to 8 characters in length.
Acceptable characters:
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.A-Z 0-9 $ @ #
If you do not specify a partition set name or either of the reserved names, CICS destroys existing partitions before the first BMS output to the terminal from the transaction.- partitionset
- CICS destroys existing
partitions and loads the named partition set before the first BMS
output to the terminal from the transaction. (Existing partitions
are not destroyed if the terminal partition set matches the application
partition set.)
This name must not be the same as that specified in PROGRAM(name).
- KEEP
- The transaction uses the application partition set for this terminal. This option is typically used for successor transactions in a chain of pseudoconversational transactions.
- OWN
- The transaction performs its own partition management.
- PRIMEDSIZE
- This attribute is obsolete, but is supported to provide compatibility with earlier releases of CICS.
- PRIORITY({1|priority})
- Specifies the transaction priority. This 1- to 3-digit decimal value from 0 to 255 is used to establish the overall transaction processing priority. Transaction processing priority is equal to the sum of the terminal priority, transaction priority, and operator priority, not exceeding 255. The higher the number, the higher the priority.
- PROFILE({DFHCICST|profile})
- Is
the name of the PROFILE definition that specifies the processing options
used with the terminal that initiated the transaction.
The default is DFHCICST.Acceptable characters: A-Z a-z 0-9 $ @ # . / - _ % & ? ! : | " = ¬ , ; < >
The processing options provided by the default DFHCICST are shown in PROFILE definitions in group DFHISC. DFHCICST is not suitable for use with a distributed program link. Instead, specify DFHCICSA, which has INBFMH=ALL.
- PROGRAM(program)
- Specifies
the name of the program to which CICS gives
control to process this transaction. The name can be up to 8 characters
in length.
Acceptable characters:
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.A-Z 0-9 $ @ #
Ensure that this name is not the same as that specified in PARTITIONSET(name).
If a name is specified for REMOTESYSTEM, and it differs from that of the current system, you do not need to specify a name for PROGRAM. If, in these circumstances, you do specify a name for PROGRAM, it might be ignored.
If this transaction definition is for use on a remote program link request, the program name that you specify in this attribute must be the name of the CICS mirror program, DFHMIRS. See the TRANSID attribute on the PROGRAM definition in PROGRAM attributes.
- REMOTENAME(transaction)
- Specifies
the name of this transaction as it is known in a remote system, if
it is to run in a remote system or region using intersystem communication.
The remote system can be another CICS region
or an IMS system. REMOTENAME
can be 1 - 4 characters in length if the REMOTESYSTEM attribute specifies
another CICS region, or 1 -
8 characters in length if REMOTESYSTEM specifies an IMS system. IMS uses
8-character names and, if REMOTENAME has fewer than 8 characters, IMS translates it into a usable format.
Acceptable characters: A-Z a-z 0-9 $ @ # . / - _ % & ? ! : | " = ¬ , ; < >
If you specify REMOTESYSTEM and omit REMOTENAME, the value of REMOTENAME defaults to the local name; that is, the TRANSACTION name on this definition. Note that the transaction does not have to be on the remote system or region.
- REMOTESYSTEM(connection)
- Specifies
the name that identifies the intercommunication link on which the
transaction attach request is sent.
Acceptable characters:
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.A-Z 0-9 $ @ #
REMOTESYSTEM is one of these identifiers:- For IPIC connections, the first 4 characters of the IPCONN name on the IPCONN definition, which is in service and acquired.
- For MRO and APPC connections, the CONNECTION name on the CONNECTION definition.
REMOTESYSTEM is used for CICS function request shipping (asynchronous processing and transaction routing).
Ensure that the REMOTESYSTEM options which are specified for a set of transactions do not refer to any other transaction in that set; that is, they are not self-referent, which can lead to looping starts of multiple mirror transactions.
- RESSEC({NO|YES})
- Specifies whether resource security checking is to be used for
resources accessed by this transaction.
- NO
- All resources are available to any user who has the authority to use this transaction.
- YES
- An external security manager is used. For more details about external security checking, see Resource security
- RESTART({NO|YES})
- Specifies
whether the transaction restart facility is to be used to restart
those tasks that end abnormally and are later backed out by the dynamic
transaction backout facility. If RESTART(YES) is specified, the task that failed is restarted from the beginning of the initial program. If dynamic transaction backout fails, or if restart is suppressed dynamically, DFHPEP is called in the normal way. The transaction restart facility is especially useful in situations such as a program isolation deadlock, where the task can be restarted automatically rather than resubmitted manually. A terminal-initiated transaction is allowed to restart during CICS shutdown even if SHUTDOWN(DISABLED) is specified. For more details about automatic transaction restart, see Splitting the application into transactions.
- NO
- The restart facility is not required.
- YES
- The restart facility is to be used.
- ROUTABLE({NO|YES})
- Specifies
whether, if the transaction is the subject of an eligible EXEC CICS START command, it is routed
using the enhanced routing method.
- NO
- If the transaction is the subject of a START command, it is routed using the traditional method.
- YES
- If the transaction is the subject of an eligible START command,
it is routed using the enhanced method.
If you specify ROUTABLE(YES), you cannot specify LOCALQ(YES).
For details of the enhanced and traditional methods of routing transactions called by EXEC CICS START commands, see Routing transactions invoked by START commands.
- RSL
- This attribute is obsolete, but is supported to provide compatibility with earlier releases of CICS.
- RUNAWAY({SYSTEM|0|500-2700000})
- The
time, in milliseconds, for which any task running under this transaction
definition can have control of the processor before it is assumed
to be in a runaway condition (logical loop). When this interval expires, CICS can abnormally end the task.
- SYSTEM
- CICS is to use the ICVR system initialization parameter value as the runaway time limit for this transaction.
- 0
- No limit applies and no runaway task detection is required for the transaction.
- 500-2700000
- The runaway time limit in the range 500 - 2700000. When checking whether a task is in a runaway condition, CICS rounds the value you specify downwards, to a multiple of 500.
- SHUTDOWN({DISABLED|ENABLED})
- Applies
to all transactions, and specifies whether the transaction can be
run during CICS shutdown. This
option supplements the XLT option of the PERFORM SHUTDOWN command.
For a transaction to be attached during shutdown, it must either be
defined as SHUTDOWN(ENABLED) or, in the case of terminal-based transactions,
be named in the XLT specified in the PERFORM SHUTDOWN command.
- DISABLED
- The transaction is disabled from running during CICS shutdown.
- ENABLED
- The transaction is enabled to run during CICS shutdown.
- SPURGE({NO|YES})
- Specifies
whether the transaction is initially system purgeable or
not. SPURGE=NO prevents a transaction being purged by these means:
- Deadlock timeout (DTIMOUT)
- An EXEC CICS ... PURGE command
- TWAOCT (Cancel Task) being set in the node error program (NEP)
- A CEMT SET ... PURGE command
SPURGE=YES allows such purges to go ahead as far as the user is concerned. CICS might, however, prevent the purge if it is not safe to allow a purge at the point the transaction has reached.
Note that SPURGE=NO does not prevent a transaction being purged by the read timeout (RTIMOUT) facility, an EXEC CICS SET ... FORCEPURGE command, or a CEMT SET TRANSACTION(tranid) FORCEPURGE command. SPURGE determines only the initial value, which can be changed by the transaction while it is running.- NO
- The transaction is not initially system purgeable.
- YES
- The transaction is initially system purgeable.
- STATUS({ENABLED|DISABLED})
- Specifies the transaction status.
- ENABLED
- Allows the transaction to be run normally.
- DISABLED
- Prevents the transaction from running.
This attribute is ignored for TRANSACTION resources that are dynamically generated by a CICS bundle. The initial status of a TRANSACTION resource is derived from the initial status of the bundle that defines the resource.
- STORAGECLEAR({NO|YES})
- Specifies whether task-lifetime storage for this transaction is to be cleared on release. Use STORAGECLEAR to prevent other tasks accidentally viewing any confidential or sensitive data that was being stored by this transaction in task-lifetime storage.
- TASKDATAKEY({USER|CICS})
- Specifies
the storage key of the storage that CICS allocates
at task initialization for the duration of the task (task-lifetime
storage), and which is accessible by the application. These storage
areas are the EXEC interface block (EIB) and the transaction work
area (TWA). TASKDATAKEY also specifies the key of the storage that CICS obtains on behalf of all programs that run under the transaction. The program-related storage that CICS allocates in the specified key includes these items:
- The copies of working storage that CICS obtains for each run of an application program.
- The storage that CICS obtains for the program in response to implicit and explicit GETMAIN requests. For example, the program can request storage by a GETMAIN or GETMAIN64 command, or as a result of the SET option on other CICS commands.
You must specify TASKDATAKEY(USER) if any of the programs in the transaction is defined with EXECKEY(USER). If you specify TASKDATAKEY(CICS) for a transaction, an attempt to run any program in user key under this transaction leads to a task abend, with abend code AEZD.- USER
- CICS obtains user-key storage
for this transaction. Application programs running in any key can
both read and modify these storage areas.
User-key programs of transactions defined with ISOLATE(YES) have access only to the user-key task-lifetime storage of their own tasks.
User-key programs of transactions defined with ISOLATE(NO) also have access to the user-key task-lifetime storage of other tasks defined with ISOLATE(NO).
See the description of the EXECKEY attribute on the PROGRAM definition for more information about task storage protection.
- CICS
- CICS obtains CICS-key storage for this transaction. Application programs running in CICS key can both read and modify these storage areas. Application programs running in user key can only read these storage areas.
- TASKDATALOC({BELOW|ANY})
- Specifies
whether task-lifetime storage acquired by CICS for the duration of the transaction can
be located above the 16 MB line in virtual storage. These areas, which
relate to specific CICS tasks,
include the EXEC interface block (EIB) and the transaction work area
(TWA).
You must specify TASKDATALOC(BELOW) if any of the programs that make up the transaction runs in 24-bit addressing mode. This restriction also applies to task-related user exits running on behalf of the transaction).
For transactions that do not satisfy any of these conditions, you can specify ANY to obtain the associated virtual storage constraint relief.
CICS monitors the use of TASKDATALOC(ANY), particularly the following actions:- An attempt to call an AMODE 24 program running under a transaction defined with TASKDATALOC(ANY) results in an AEZC abend.
- An attempt to issue an EXEC CICS command or call a task-related user exit while running AMODE(24) with TASKDATALOC(ANY) specified results in an AEZA abend.
- An AMODE 31 program running as a transaction with TASKDATALOC(ANY), which attempts to call a task-related user exit that is forced to run AMODE(24), results in an AEZB abend.
- If a task-related user exit that is forced to run in AMODE 24 is enabled for task start, CICS forces TASKDATALOC(BELOW) for all transactions for the remainder of the CICS run.
- BELOW
- Storage areas that CICS acquires for the transaction must be located below the 16 MB line.
- ANY
- Storage areas that CICS acquires for the transaction can be located above the 16 MB line in virtual storage.
- TASKREQ(value)
- Specifies
whether a transaction is to be initiated by pressing a function (F
or PF) key, by using a light pen, or by using a card. Possible values
are as follows:
- PA1, PA2, or PA3 for PA keys.
- PF1 through PF24 for function keys.
- OPID for the operator identification card reader.
- LPA for a light-pen-detectable field on a 3270 device.
- MSRE for the 10/63 character magnetic slot reader.
For PA and PF keys, be aware of the following:- If a PA or PF key is specified in the PRINT system initialization parameter, you cannot use the same PF key as the TASKREQ to initiate a transaction.
- PA or PF keys specified in the SKRxxxx system
initialization parameter as page retrieval keys are interpreted as
such during a page retrieval session. You can use the same keys to
initiate transactions at other times. Define the keys with the following
values:
TASKREQ=KEY-ID PROGRAM=DFHTPR TWASIZE=1024 TPURGE=NO SPURGE=NO
- If you define a transaction with PROGRAM(DFHTPR) and define a TASKREQ key, the key initiates the transaction and opens the page retrieval session at the same time.
- TCLASS
- This attribute is obsolete, but is supported to provide compatibility with earlier releases of CICS.
- TPNAME(name)
- Specifies
the name of the transaction that can be used by an APPC partner if
the 4-character length limitation of the TRANSACTION attribute is
too restrictive. This name can be up to 64 characters in length.
If this range of characters is not sufficient for a name that you want to specify, you can use the XTPNAME attribute instead of TPNAME.Acceptable characters: A-Z a-z 0-9 $ @ # . / - _ % & ? ! : | " = ¬ , ; < >
- TPURGE({NO|YES})
- Specifies,
for non-z/OS Communications Server terminals only, whether the transaction
can be purged because of a terminal error.
- NO
- The task cannot be purged when a terminal error occurs. Manual intervention by the main terminal operator is required when this happens.
- YES
- The task can be purged when a terminal error occurs.
- TRACE({YES|NO})
- Specifies
whether the activity of this transaction is to be traced.
- YES
- Trace the activity for this transaction.
- NO
- Do not trace the activity for this transaction.
The CICS-provided transaction definitions for CEDF and CSGM specify TRACE(NO).
- TRANCLASS(DFHTCL00|tranclass)
- Specifies
the name of the transaction class to which the transaction belongs.
Transactions belonging to a transaction class are subject to scheduling
constraints before they are allowed to run. The reserved TRANCLASS
name DFHTCL00 is used to indicate that the transaction does not belong
to any transaction class.
If a transaction is run and its associated TRANCLASS definition is not installed, the transaction runs without any of the scheduling constraints specified in the TRANCLASS. Message DFHXM0212 is issued as a warning.
TRANCLASS can be up to 8 characters in length.
Acceptable characters:
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.A-Z 0-9 $ @ #
- TRANSACTION(name)
- Specifies the name of the transaction or transaction identifier (TRANSID). The name can be up to 4 characters in length.
Acceptable characters: A-Z a-z 0-9 $ @ # . / - _ % & ? ! : | " = ¬ , ; < >
It is preferable to not use names that start with C because this character is reserved for use by CICS. CICS might delete or discard such resources and replace them with CICS resources when you upgrade or provide new function or fixes.
Note:- If you use a comma (,) in a name, you cannot use commands such as these:
where the comma serves as a list delimiter. See List of resource identifiers for information about using lists of resource identifiers.CEMT INQUIRE TRANSACTION(value1,value2) CEMT SET TRANSACTION(value1,value2)
- If you protect your transient data queues using RACF®, avoid using
%
and&
in the name. RACF commands assign a special meaning to these characters when they are used in a profile name. See Transaction security.
If you want to use other special characters in a transaction identifier, use the XTRANID attribute to specify another name that can be used to initiate the transaction. You must also specify a TRANSACTION name, because this name is the one by which the TRANSACTION definition is known on the CSD file.
When defining a transaction, you must also name either a PROGRAM or a REMOTESYSTEM.
- If you use a comma (,) in a name, you cannot use commands such as these:
- TRANSEC
- This attribute is obsolete, but is supported to provide compatibility with earlier releases of CICS.
- TRPROF({DFHCICSS|profile})
- Specifies
the name of the PROFILE for the session that carries intersystem flows
during ISC transaction routing. The name can be up to 8 characters
in length.
Acceptable characters: A-Z a-z 0-9 $ @ # . / - _ % & ? ! : | " = ¬ , ; < >
You can specify this option only for remote transactions.
- TWASIZE({0|number})
- Specifies
the size in bytes of the transaction work area to be acquired for
this transaction. Specify a 1- to 5-digit decimal value in the range
0 - 32767. Note:
- Your storage might be corrupted if your TWASIZE is too small.
- Do not change the TWASIZE of the CICS-supplied transactions.
- WAIT({YES|NO})
- Specifies
whether an indoubt unit of work (UOW) is to wait, pending recovery
from a failure that occurs after the UOW has entered the indoubt state.
Old-style transaction definitions using INDOUBT(WAIT) are accepted by CICS, and are interpreted as WAIT(YES) ACTION(BACKOUT).
- YES
- The UOW is to wait, pending recovery from the failure, to resolve
its indoubt state and determine whether recoverable resources are
to be backed out or committed. In other words, the UOW is to be shunted.
Recoverable resources can include one of the following:
- DBCTL databases
- DB2® databases
- Temporary storage queues
- Logically recoverable intrapartition transient data queues that specify WAIT(YES) in the TDQUEUE definition
- VSAM data sets
- BDAM data sets
The WAIT(YES) option takes effect if none of the following applies:- The transaction has subordinate MRO sessions to back-level systems.
- The transaction has LU6.1 subordinate sessions. Note that, in this context, LU6.1 IMS sessions are not subordinates.
- The transaction has more than one session and its coordinator session is to a back-level system, or LU6.1.
- The task-related user exits attached to the transaction do not support the CICS indoubt protocols.
If none of the previous exceptions applies, but you have subordinate LU6.2 sessions to systems other than CICS Transaction Server for z/OS systems that do not use the CICS Transaction Server for z/OS indoubt architecture, CICS can indicate that the subordinate must wait by forcing session outage.
If any resources cannot wait for indoubt resolution by the coordinator, a decision is taken for the transaction in accordance with the ACTION attribute. In practice, the only circumstances that force decisions in this way are updates to transient data queues with WAIT(NO) specified in the TDQUEUE definition, and installations of terminal-related resources. The latter are typically installed using an INSTALL command.
Table 1 shows how the WAIT attribute defined on a TRANSACTION definition and a logically recoverable TDQUEUE definition are resolved when they conflict.
- NO
- The UOW is not to wait. CICS immediately takes whatever action is specified on the ACTION attribute.
Table 1. Resolution of WAIT attributes on TRANSACTION and TDQUEUE definitions WAIT attribute of TDQUEUE definition WAITACTION attribute of TDQUEUE definition WAIT attribute of TRANSACTION definition Action NO not applicable YES The TD WAIT(NO) overrides WAIT(YES) on the TRANSACTION definition. The UOW is forced either to commit or back out, in accordance with the ACTION attributes of the transaction. NO not applicable NO The UOW is forced either to commit or back out, in accordance with the ACTION attributes of the transaction. YES QUEUE YES The UOW waits; that is, it is shunted. A request from another task for a lock on the TD queue must wait, and is queued by CICS. YES QUEUE NO The transaction WAIT(NO) overrides the TDQUEUE definition. The UOW is forced either to commit or back out, in accordance with the ACTION attributes of the transaction. YES REJECT YES The UOW waits; that is, it is shunted. A request from another task for a lock on the TD queue is rejected with the LOCKED condition. YES REJECT NO The transaction WAIT(NO) overrides the TDQUEUE definition. The UOW is forced either to commit or back out, in accordance with the ACTION attributes of the transaction. If the UOW references more than one transient data queue, and the queues have inconsistent WAIT options, WAIT(NO) always takes precedence and overrides a WAIT(YES). Therefore, a WAIT(NO) on one TDQUEUE definition forces a failed indoubt UOW to take either the BACKOUT or COMMIT attribute defined on the TRANSACTION definition of the UOW.
- WAITTIME({00,00,00|dd,hh,mm})
- Specifies
how long a transaction is to wait before taking a decision about an
indoubt unit of work, based on what is specified in the ACTION attribute.
- 00,00,00
- The transaction waits indefinitely.
- dd,hh,mm
- The time, in days, hours, and minutes, for which the transaction is to wait. The maximum value is 99,23,59.
WAITTIME takes effect only if WAIT(YES) is specified.
- XTPNAME(value)
- You can use this attribute as an alternative to TPNAME. Enter a hexadecimal string up to 128 characters in length, representing the name of the transaction that can be used by an APPC partner. All hexadecimal combinations are acceptable except X'40'. To specify an XTPNAME more than 72 characters long to DFHCSDUP, put an asterisk in column 72. The asterisk causes the following line to be concatenated to the current line.
- XTRANID(xtranid)
- Specifies
another name to be used instead of the TRANSACTION name for initiating
transactions. The name can be up to 8 hexadecimal digits in length.
Because XTRANID is specified in hexadecimal form, you can use a name
that contains characters that you cannot specify in the TRANSACTION
attribute. See also TASKREQ, another transaction alias that can be specified.
- value
- A 4-byte transaction identifier in hexadecimal notation; the identifier
therefore uses up to 8 hexadecimal digits. If you specify fewer than
8 hexadecimal digits, the identifier is padded on the right with blanks. Certain values are reserved for use by CICS, and so the values that you can specify are restricted:
- The first byte must not be X'C3'.
- The first byte must not be less than or equal to X'40'.
- The value must not be X'00000000'.
- The last 3 bytes must not be X'FFFFFF'.