Mit DADM DA löschen Sie alle noch nicht bearbeiteten Nachrichten an einen bestimmten Empfänger. Bei Service-gesteuerten Queues können Nachrichten, die gerade gelesen werden, nicht gelöscht werden. Wird eine Service-gesteuerte Queue dynamisch gelöscht (KC_DELETE_OBJECT bzw. QREL RL), dann gehen auch die Nachrichten in dieser Queue verloren. Nachrichten, die zum Zeitpunkt des DADM DA-Aufrufs bereits vom Empfänger bearbeitet werden, werden nicht gelöscht. Den Empfänger müssen Sie beim DADM DA-Aufruf im Feld kclt des KB-Parameterbereichs angeben.
Mit DADM DL löschen Sie eine bestimmte Nachricht. Zur Identifikation der Nachricht müssen Sie deren Auftrags-Id und den Zeitpunkt angeben, an dem die Nachricht erzeugt wurde. Beides kann mit DADM RQ ermittelt werden.
Wird die angegebene Nachricht bereits vom Empfänger bearbeitet, dann wird der DADM DL-Aufruf von openUTM abgelehnt (Returncode 40Z).
Insbesondere können Sie mit DADM DA/DL keine bereits gestartete Druckausgabe löschen. Dazu müssen Sie wie folgt vorgehen:
Die Verbindung zum Drucker, an dem der Auftrag bearbeitet wird, abbauen (PADM CS). openUTM baut die Verbindung zum Drucker auch ab, wenn Sie den Drucker mit PADM CS sperren.
Den Druck-Auftrag löschen (DADM DL).
Die Verbindung zum Drucker wieder aufbauen (PADM CS; siehe Abschnitt "Druckerstatus ändern - PADM CS").
Sind der zu löschenden Nachricht Quittungsaufträge zugeordnet (DPUT-Aufträge in Auftrags-Komplexen), dann kann man bei DADM DL angeben, ob beim Löschen der negative Quittungs-Auftrag aktiviert werden soll oder die Quittungsaufträge zusammen mit dem Hauptauftrag gelöscht werden sollen (Feld kcmod des KB-Parameterbereichs).
Zu Auftrags-Komplexen und Quittungsaufträgen siehe openUTM-Handbuch „Anwendungen programmieren mit KDCS“.
KDCDADM DELETE im Abschnitt "DELETE - Nachricht aus Message Queue löschen" |