A queue is a sequence of data elements that is identified by a symbolic name. Each element contains record-oriented data of a type specific to the application that is to process it. Elements of different types can be put into the same queue.
For the general type of queue, transactions add (enqueue) elements to the tail of the queue and remove (dequeue) elements from the head of the queue in a first-in first-out (FIFO) way. Each element must be read sequentially and, when read, removed from the queue. Queues support multiple simultaneous requests to enqueue and dequeue elements, growing and shrinking in size in response to the volume of requests. A transaction can requeue elements to another queue for alternative processing.
You can use some queues differently; for example, as a common scratchpad of elements that are to be written, updated, read, and deleted by any transactions. You can also dequeue elements in a different sequence from the sequence in which they were enqueued.
Before a queue can be used, you must define it. For example, a queue definition is used by CICS® to identify the symbolic name and type of a queue, and to define the queue to the appropriate queue manager.