Temporäre Queues können dynamisch im Teilprogrammlauf durch den KDCS-Aufruf QCRE erzeugt und den Aufruf QREL gelöscht werden. Für diese Aufrufe ist keine Administrationsberechtigung nötig.
Temporäre Queues sind besonders zur Kommunikation zwischen Vorgängen geeignet: Ein Vorgang erzeugt eine Temporäre Queue und gibt den Namen dieser Queue den von ihm erzeugten Asynchron-Vorgängen mit. Später liest der Vorgang die Nachrichten, die diese Asynchron-Vorgänge an die Temporäre Queue schicken bzw. wartet auf diese Nachrichten. Anschließend wird die Temporäre Queue wieder gelöscht. Wurde eine Temporäre Queue neu erzeugt, dann können schon in derselben Transaktion Nachrichten in diese Queue geschrieben werden. Diese Nachrichten lassen sich jedoch erst nach dem erfolgreichen Abschluss der Transaktion lesen und administrieren.
Der Name der Temporären Queue kann entweder frei gewählt oder von openUTM automatisch erzeugt werden. Die automatische Erzeugung eines Namens durch openUTM hat den Vorteil, dass jeweils neue Namen vergeben werden und ein Name sich erst nach 100 Millionen Aufrufen wiederholt.
Eine Temporäre Queue kann jederzeit mit dem Aufruf QREL gelöscht werden. Bei erfolgreichem Transaktionsende werden alle Nachrichten der Queue gelöscht und Name sowie Tabellenplatz der Queue freigegeben. Alle Vorgänge, die auf Nachrichten der gelöschten Queue warten, werden fortgesetzt.
Zeitgesteuerte Nachrichten können nicht an Temporäre Queues gesendet werden.
Die maximale Anzahl der Temporären Queues, die erzeugt werden können, wird beim Generieren der Anwendung festgelegt (QUEUE-Anweisung, Operand NUMBER, siehe auch openUTM-Handbuch „Anwendungen generieren“). In der QUEUE-Anweisung kann mittels des Operanden QLEV (Queue-Level) auch die Anzahl der Nachrichten limitiert werden, die in der Queue gespeichert werden; damit können Sie die Pagepool-Auslastung begrenzen. Das Queue-Level kann aber auch im Aufruf QCRE dynamisch festgelegt werden. Die Angabe im Aufruf QCRE überschreibt eine etwaige Angabe aus der Generierung.
Ein Teilprogramm kann sich mit dem KDCADMI-Aufruf KC_GET_OBJECT (Objekttyp: KC_QUEUE) über die Namen aller existierenden Temporären Queues und deren Eigenschaften informieren.