Tag Archives: temp storage

When Eight Bytes for a Temp Storage Queue Name Are Not Enough

All supported releases of CICS support 16-byte queue names for temporary storage queues, but I still occasionally run into people that are trying to figure out how to make an 8-byte queue name work for a non-terminal application. So I think it would be worth the time to review the current API’s for dealing with temp storage.

Pre-CICS/TS, the EXEC CICS READ TS and EXEC CICS WRITE TS API’s only allowed a QUEUE parameter to be used to name the queue; this parameter had a length limit of 8 bytes. So, the most typical temp storage queue names were a combination of terminal id and transaction id (each 4 bytes). However, with the support of web API’s, in which there is no terminal id, naming a queue would be more difficult. So IBM introduced a new parameter for
EXEC CICS READ/WRITE TS statements – QNAME. QNAME can be up to 16 bytes long. QUEUE is still supported for programs that use it, but new applications can use QNAME, and specify the queue name to be something like a combination of task number and program id, or other known items that would make the name unique and identifiable.

The supplied transaction CEBR, which can be used to browse temp storage queues, supports queue names up to 16 bytes long.

When challenged by an apparent limitation in CICS, be sure to check the appropriate Application Programming Reference for your release to see if something has changed to address the limitation!

Follow me on twitter here