-
Danke Frank.
wenn ich das aber im batch laufen lasse, müssen die spools ja im "gesavt" werden.
Am liebsten wäre mir, wenn das als Überwachungsprogramm irgendwo laufen würde.
Gruß
-
Das Programm sollte schon im Batch laufen. Dazu noch folgende Info wie das ganze Thema abläuft.
1. Das Programm läuft im Batch und wartet über den QRCVDTAQ darauf einen Eintrag aus der Datenwarteschlange zu empfangen und zu verarbeiten. Solange kein Eintrag in der Datenwarteschlange steht verbraucht das Programm auf keine Prozessorzeit.
2. Eine Spoolfile wird in die entsprechende Ausgabewarteschlange gestellt. OS/400 stellt daraufhin einen Eintrag zu dieser Spoolfile in die Datenwarteschlange.
3. Nachdem ein Eintrag in der Datenwarteschlange steht, übergibt OS/400 diesen Satz dem Batchprogramm.
4. Das Batchprogramm empfängt diesen Satz und kann diesen dann verarbeiten.
Die ganze Verarbeitung läuft asynchron ab. D.h. viele Jobs können einen Eintrag in die Ausgabewarteschlange und dadurch auch in die Datenwarteschlange stellen. Nur ein Programm (Das Batchprogramm) verarbeitet die Einträge in der Datenwarteschlange.
Das zweite Programm, das ich gepostet habe sorgt dafür, dass das erste Programm im Bedarfsfall auch sauber beendet werden kann. Ansonsten könnte man es nur über einen ENDJOB OPTION(*IMMED) beenden, da der QRCVDTAQ ansonsten bis zum Sankt Nimmerlein Tag auf einen Eintrag in der Datenwarteschlange warten würde.
Frank Hildebrandt
-
Naja, man kann beim QRCVDTAQ im Parameter Wait eine Wartezeit in Sekunden angeben (-1 = unendlich).
Läuft der Timer ab, kann man per RTVJOBA den ENDSTS prüfen und den Job beenden.
Wenn dann das Subsystem beendet wird, endet auch der Überwachungsjob.
Das Batch-Programm sollte per ADDPJE in ein aktives Subsystem eingebracht werden. Man kann auch eine Anzahl gleichzeitiger Job's angeben (Parallelverarbeitung).
Der DTAQ-Eintrag wird erst im Status RDY erstellt und zwar jedes Mal. Wenn also z.B. von SAV/HLD in RDY freigegeben wird, erscheint ggf. ein neuer Eintrag !
Die DTAQ sollte eine Satzlänge von 128 Bytes haben (CRTDTAQ).
-
 Zitat von Fuerchau
Naja, man kann beim QRCVDTAQ im Parameter Wait eine Wartezeit in Sekunden angeben (-1 = unendlich)
Stimmt. Daran habe ich jetzt selber nicht gedacht.
 Zitat von Fuerchau
Läuft der Timer ab, kann man per RTVJOBA den ENDSTS prüfen und den Job beenden.
Wäre eine Möglichkeit die Beendigung mit OPTION(*CNTRLD) abzufragen. Würde ich dann nutzen, wenn der QRCVDTAQ in einem CL läuft. Wenn er in einem RPG läuft würde ich folgendes machen.
PHP-Code:
* Feststellen, ob der Job beendet werden soll
c ShtDn 01
c If *IN01 = *On
... Beende das Programm
c EndIf
Frank Hildebrandt
Similar Threads
-
By SL in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-12-06, 10:46
-
By cbe in forum NEWSboard Drucker
Antworten: 6
Letzter Beitrag: 29-06-06, 15:32
-
By phil.sebastian in forum NEWSboard Drucker
Antworten: 1
Letzter Beitrag: 23-05-06, 12:08
-
By chrhu in forum NEWSboard Drucker
Antworten: 6
Letzter Beitrag: 10-05-06, 13:02
-
By Jörg Schmidt in forum NEWSboard Drucker
Antworten: 6
Letzter Beitrag: 04-05-06, 09:50
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks