TST—temporary storage table

Note: Although the DFHTST macro is supported by CICS® Transaction Server for z/OS®, it is recommended that you use resource definition online (RDO) to define the equivalent TSMODEL definitions. The TSMODEL resource definition supports attributes that are not supported by the DFHTST macro; for example, the LOCATION(MAIN/AUXILIARY) attribute.
The temporary storage table (TST) is a list of generic names (or prefixes) used to identify sets of temporary storage queues. Generic names are formed from the leading characters of the appropriate queue names, and can be up to seven characters long.
  • The generic names coded on a DFHTST TYPE=RECOVERY macro identify queues for which CICS provides backout of changes in the event of transaction failure or protection against system failure.
  • The generic name coded on a DFHTST TYPE=REMOTE macro identifies queues for which CICS routes the temporary storage request to a remote CICS region or TS server, unless the remote system name (SYSIDNT) is the same as that of the local CICS. If SYSIDNT is the same name as the local CICS, the queues specified by the DATAID option are treated by CICS as local queues.
  • The generic name coded on a DFHTST TYPE=LOCAL macro identifies queues as local queues that reside in the CICS region in which the TST is installed.
  • The generic name coded on a DFHTST TYPE=SECURITY macro identifies queues for which resource security checking is required.
Note: DATAIDs using all eight characters define unique temporary storage queue names.

Choose a naming convention for queue names that enables you to define many queues with only a few generic names. This reduces considerably the task of TST definition.

Note: CICS searches the TST for the first prefix that satisfies the particular search criteria. For example, if CICS searches for temporary storage queue ABCDEFGH, and the TST contains prefix A followed by prefix AB, A is selected. To avoid this, define the less-generic entries to the TST before any more-generic entries, so that the first to be found is the least generic of all possible matches.
Note that when CICS is looking for DATAIDs to match against a TS queue name, it searches only the types of entry in which it is interested for that particular search. CICS searches:
  • Local and remote entries when determining whether a queue is remote. Thus, local and remote entries are regarded as one search category when CICS is matching a queue name against generic names.
  • Recovery and remote entries when determining whether a queue is recoverable. However, if the leading characters of a queue name match both TYPE=RECOVERY and TYPE=REMOTE generic names, TYPE=REMOTE takes precedence, and the recovery option must be redefined in the local region in which the queue resides. (Queues in a shared TS pool cannot be recoverable.)
  • Security entries only when determining whether a queue is subject to security.

When a task modifies temporary storage data designated as recoverable, the data is protected from modification by a concurrent task by enqueuing on the queue name. The queue name is not dequeued until the task terminates or issues a task syncpoint request to designate the end of a logical unit of work. At this time a log record is written to the system log data set to provide external information sufficient to recover the data if the system subsequently terminates abnormally.

You can use these macros to define the TST entries:
  • Control section—DFHTST TYPE=INITIAL
  • Recoverable temporary storage—DFHTST TYPE=RECOVERY
  • Local temporary storage—DFHTST TYPE=LOCAL
  • Remote temporary storage—DFHTST TYPE=REMOTE
  • Temporary storage security checking— DFHTST TYPE=SECURITY
  • Temporary storage data sharing—DFHTST TYPE=SHARED
  • End of temporary storage table—DFHTST TYPE=FINAL (see TYPE=FINAL (end of table))