-
Mit etwas Mühe geht alles.
Beim Start des Dialogjobs wird ja nun sicherlich ein CLP aufgerufen, dass zu verändern ist.
Das Stichwort ist hier MSGBREAK-Handler.
Per "CHGMSGQ MSGQ(MYMSGQ) DLVRY(*BREAK) PGM(MYPGM)" kannst du ein Programm aufrufen lassen, dass bei einem SNDBRKMSG an diese MSGQ dann aufgerufen wird.
In der Nachricht gibts du dann die Aktionen an.
Hier kannst du dann Gruppenjobs initiieren oder eben sonstwas tun.
Ein CHGMSGQ DLVRY(*BREAK) ist jedoch nur einmal je MSGQ möglich (exclusive Sperre), bekannte Nachricht bei der 2. Dialoganmeldung.
Der Dialogjob muss aber auch in einem unterbrechbaren Status stehen.
Bei Gruppenjobs wirds schwierig, da du je Job eine MSGQ benötigst da nur der gerade aktive Gruppenjob unterbrechbar ist und eben nur ein *BREAK je MSGQ möglich ist.
Wird ein Gruppenjob dann gewechselt schlägt der BreakHandler mit noch ggf. ausstehenden Nachrichten zu.
Viel Spaß beim Entwickeln.
-
Besten Dank!
Auf Break-Message habe ich auch schon gedacht, allerdings längst nicht so tief - vor allem, dass es mehrere Queues benötigt werden etc. ;-)
Ich checke mal, ob diese Lösung überhaupt möglich ist: ich weiss momentan nicht, was bestehende Programmen mit MSGQueues einstellen (es laufen u.a. SYNON & Co). Doppelschläge von Handler kann ich z.B. dadurch vermeiden, dass die eigentliche Nachricht nicht über MSGQ, sondern z.B. über DTAQ zugestellt wird.
Mal sehen - eine dedizierte Anwendung in einer eigener Session wäre mir viel lieber.
Noch mal vielen Dank für deine Hilfe und schöne Grüße
Oleg
P.S. Alles ist möglich, es ist nur eine Frage des Aufwandes...
-
Da du für deine Anwendung sowieso spezialisierte MSGQ's benötigst, die in einer eigenen Lib stehen sollten, kommst du nicht in Verdrückung mit Anwendungskonflikten.
Für deinen Service muss sich ein Job "registrieren", MSGQ anlegen und einem "Servicejob" seinen Namen mitteilen.
Dies wird am Besten über eine eigene ACTGRP erledigt, so dass dies von der laufenden Anwendung getrennt ist.
Per Commitsteuerung lässt sich dann eine Commitressource registrieren, die beim Abmelden des Jobs, Abbruch oder ähnlichem Beenden für eine saubere "Deregistrierung" sowie löschen der MSGQ sorgt, da das System diese beim Rollback immer aufruft.
Similar Threads
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 13-02-14, 21:58
-
By Banruf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 10-01-14, 10:04
-
By RobinHood2001 in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 12-12-13, 13:30
-
By CaddyMajor in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 19-11-13, 12:04
-
By ppilz in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 09-10-01, 23:05
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