[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.785
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Feb 2014
    Beiträge
    5
    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...

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.785
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. "zu wenig Speicher" Rational Developer for Power-Systems
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 13-02-14, 21:58
  2. XML-Daten mit "&" in RPG-Datenbank übertragen
    By Banruf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 10-01-14, 10:04
  3. Daten exportieren "AS/400 NOOB"
    By RobinHood2001 in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 12-12-13, 13:30
  4. "must-have" Infoseite?
    By CaddyMajor in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 19-11-13, 12:04
  5. Leistung bei Interaktiven Jobs
    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
  •