TRANSACTION attributes

Describes the syntax and attributes of the TRANSACTION resource.

Read syntax diagramSkip visual syntax diagramTRANSACTION( name)GROUP( groupname)DESCRIPTION( text)ACTION(BACKOUT)ACTION(COMMIT)ALIAS( alias)BREXIT( program)CMDSEC(NO)CMDSEC(YES)CONFDATA(NO)CONFDATA(YES)DTIMOUT(NO)DTIMOUT( mmss)DUMP(YES)DUMP(NO)DYNAMIC(NO)DYNAMIC(YES)ISOLATE(YES)ISOLATE(NO)LOCALQ(NO)ROUTABLE(NO)ROUTABLE(YES)LOCALQ(YES)ROUTABLE(NO)OTSTIMEOUT(NO)OTSTIMEOUT( hhmmss)PRIORITY(1)PRIORITY( priority)PARTITIONSET( partitionset)PARTITIONSET(KEEP)PARTITIONSET(OWN)PROFILE(DFHCICST)PROFILE( profile)PROGRAM( program)REMOTESYSTEM( connection)REMOTENAME( transaction)RESSEC(NO)RESSEC(YES)RESTART(NO)RESTART(YES)RUNAWAY(SYSTEM)RUNAWAY(0)RUNAWAY(500-2700000)SHUTDOWN(DISABLED)SHUTDOWN(ENABLED)SPURGE(NO)SPURGE(YES)STATUS(ENABLED)STATUS(DISABLED)
Read syntax diagramSkip visual syntax diagramSTORAGECLEAR(NO)STORAGECLEAR(YES)TASKDATAKEY(USER)TASKDATAKEY(CICS)TASKDATALOC(BELOW)TASKDATALOC(ANY)TASKREQ(LPA)TASKREQ(MSRE)TASKREQ(OPID)TASKREQ(PA 1-3)TASKREQ(PF 1-24)TPNAME( tpname)XTPNAME( xtpname)TPURGE(NO)TPURGE(YES)TRACE(YES)TRACE(NO)TRANCLASS(DFHTCL00)TRANCLASS( tranclass)TRPROF(DFHCICSS)TRPROF( profile)TWASIZE(0)TWASIZE( number)WAIT(YES)WAITTIME(0,0,0)WAITTIME( dd, hh, mm)WAIT(NO)XTRANID( xtranid)
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:
A-Z 0-9 $ @ #
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.

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:
A-Z 0-9 $ @ #
Any lowercase characters that you enter are converted to uppercase.

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:
  1. The ISOLATE attribute does not provide any protection against application programs that run in CICS key; that is, from programs defined with EXECKEY(CICS).
  2. 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.
  3. 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.

Figure 1. The effect of the ISOLATE attribute of storage access
This figure shows how ability of a transaction to access storage is affected by the ISOLATE attribute.
This figure shows four transactions, A, B, C, and D, defined with the ISOLATE(YES), and three transactions, E, F, and G, defined with ISOLATE(NO):
  • The user-key task-lifetime storage of each of the transactions A, B, C, and D is isolated from all other transactions.
  • The user-key task-lifetime storage of transactions E, F, and G is accessible by all the user-key application programs of transactions E, F, and G, but is isolated from the user-key programs of transactions A, B, C, and D.
  • All the transactions have read-only access to CICS-key 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.
A system is defined as not available in the following circumstances:
  • The system is OUT OF SERVICE when the request is initiated.
  • The attempt to initiate any session to the remote system fails and the corrective action taken by the abnormal condition program (DFHZNAC) or the node error program (DFHZNEP) is to place the system OUT OF SERVICE.
  • No sessions to the remote system are immediately available, and your XISCONA global user exit program specifies that the request is not to be queued in the issuing region.
An IPIC connection is defined as not available in the following circumstances:
  • The IPIC connection is not acquired.
  • A session is not available and CICS does not queue the request for a new session.

Use local queuing only for those START commands that represent time-independent requests. The delay implied by local queuing affects the time at which the request is started. It is your responsibility to ensure that this condition is met.

If you specify LOCALQ(YES), you cannot specify ROUTABLE(YES).

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 the javax.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:
A-Z 0-9 $ @ #
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.
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.
Acceptable characters:
A-Z a-z 0-9 $ @ # . / - _ % & ? ! : | " = ¬ , ; < >
The default is DFHCICST.

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:
A-Z 0-9 $ @ #
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.

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:
A-Z 0-9 $ @ #
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.
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.
Acceptable characters:
A-Z a-z 0-9 $ @ # . / - _ % & ? ! : | " = ¬ , ; < >
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.
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:
A-Z 0-9 $ @ #
Unless you are using the CREATE command, any lowercase characters that you enter are converted to uppercase.
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:
  1. If you use a comma (,) in a name, you cannot use commands such as these:
    CEMT INQUIRE TRANSACTION(value1,value2)
    CEMT SET     TRANSACTION(value1,value2)
    where the comma serves as a list delimiter. See List of resource identifiers for information about using lists of resource identifiers.
  2. 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.

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:
  1. Your storage might be corrupted if your TWASIZE is too small.
  2. 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'.
Avoid using values in the range X'00' through X'3F' in the second, third, and fourth bytes if the transaction is to be attached by unsolicited data received from a terminal defined as a 3270 device, because CICS interprets these values as control characters, and not as part of the transaction identifier. For example, if you issue EXEC CICS RETURN or EXEC CICS START and specify TRANSID(X'41303238'), the correct transaction is attached. However, if you issue EXEC CICS RETURN without specifying a TRANSID, and the 3270 device transmits data that begins with X'41303238', CICS attempts to attach a transaction as if X'41404040' had been transmitted.