View Full Version : Job soll auf eine Beendigung warten
Genau für sowas ist die Keyed-DTAQ gedacht.
Auf jeden Fall ist es immer wichtig, eine DTAQ auch mal aufzuräumen (DLT/CRT bei IPL o.ä.).
Vor dem Senden mit Job-Nr. kann man per SQL den Jobstatus des Zieljobs prüfen ob der User nicht inzwischen die Lust am Warten verloren hat.
Ach ja, noch eine Alternative:
Du schreibst einen Webservice, der per SQL-HTTP-Requests abgefragt wird, da ist das Warten auch schon drin.
... der Serverjob muss dann auch noch Multithreading können, sonst hält er alles auf, wenn er lahmt oder steht und Excel geht am besten mit Java => gibt es fix und fertig erweiterbar, seit Jahren in vielen Installationen bewährt, heißt AppServer4RPG und ist Open Source.
D*B
Statt Multithreading kann man auch per Prestartjobs mehrere parallele Jobs an eine DTAQ hängen.
QRCVDTAQ sequentialisiert die Aufrufe.
Und statt Java gibts inzwischen auch viele andere Lösungen für die Excelausgabe, wobei diese gerne mit CSV-Ausgabe verwechselt wird, da Excel diese ebenso lesen kann (solange die Sprachumgebung passt).
...
Auf jeden Fall ist es immer wichtig, eine DTAQ auch mal aufzuräumen (DLT/CRT bei IPL o.ä.)
...
Oder die DTAQ gleich so erstellen --> CRTDTAQ xxx AUTORCL(*YES)
Und was soll das bringen?
Automatisches Zurückfordern (AUTORCL) - Hilfetext
Dieser Parameter gibt an, ob der für die
Datenwarteschlange zugeordnete Speicherbereich automatisch
freigegeben wird, wenn die Datenwarteschlange leer ist.
Anmerkung: Dieser Parameter ist nur gültig, wenn
TYPE(*STD) angegeben ist.
Das Aufräumen bezieht sich auf Satzinhalte die nicht abgeholt wurden, weil die Empfänger sich verabschiedet haben.
Der Reclaim gibt nur den Speicher zurück, der durch viele Einträge mal belegt wurde.
Bei dieser Art der Verwendung spielt das aber keine Rolle.
Ein regelmäßiger DLT/CRT reicht da aus.
Ja was'n nu??
In Beitrag 5 wird das Vorhandensein von hängengebliebenen Einträgen in Frage gestellt
und hier nun das Gegenteil ...
aber eigentlich egal - wollte nur auf diesen Parameter hinweisen.
Dieser Parameter hilft aber nur wenn keine Einträge mehr in der DTAQ vorhanden sind.
Wenn also ein Job seinen Eintrag nicht mehr abholt, wird die DTAQ nicht leer und somit kann ein automtischer Reclame (AUTORCL) nicht stattfinden.
Daher meine Empfehlung, die DTAQ ab und zu neu zu erstellen.
Und warum kein QCLRDTAQ statt dlt/crt ?
Weil ich den nicht kannte?
kannst ja im JOB-A prüfen ob die EXCEL-Datei schon existiert so umgehst Du eine ev. DTAQ-Problematik