[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    May 2002
    Beiträge
    2.642
    Hallo Robi,
    da gibt es einen Apar der IBM.
    http://www-912.ibm.com/n_dir/nas4apa...ight=2,cpf1071
    Dieses Ptf wurde ersetzt durch das aktuelle -> http://www-912.ibm.com/a_dir/as4ptf.nsf/ALLPTFS/SI60502

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Gut dem, der Fehler wiedererkennt und weiß wo die Lösung steht.
    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

  3. #15
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Prima, danke Tarasik!

    ich geb's weiter, die EDV wird das PTF laden

    Danke!
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  4. #16
    Registriert seit
    Feb 2015
    Beiträge
    26
    Ich befürchte das PTF wird das Problem nicht beheben. Es behebt nämlich so weit ich sehen kann nur einen Folgefehler dieses Problems, dass alle Ausgaben die nach dieser Meldung erfolgen an die Outq QEZDEBUG gesendet werden. Wir haben genau aus diesem Grund die Verwendung von Gruppenjobs schon lange aufgegeben, da das immer wieder zu Deadlocks führte.
    Vonr mir erstellte Infos und Tutorials zum IBM i finden sie auf Everything about IT

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Gruppenjobs haben auf jeden Fall das Problem, dass die inaktiven Jobs tatsächlich nicht reagieren können.
    Da ja die obige Lösung den aktuellen Job tatsächlich unterbricht und auf einen anderen Job wechselt können ggf. laufende SQL-Threads auf globale Anforderungen nicht mehr reagieren.

    An Stelle auf einen Gruppenjob zu wechseln kann man ja ein anderes Programm aufrufen.
    Wenn dieses eine eigene ACTGRP hat kann es sich auch seine Zustände merken um bei erneutem Aufruf, egal aus welcher Jobtiefe, entsprechend reagieren.

    Um einen Job zu unterbrechen kann man sich (wie D*B schon mal beschrieben) einen BRKMSG-Handler installieren, der den laufenden interaktiven Job tatsächlich per Callstack unterbricht.
    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

  6. #18
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Na ja, ein brkhander verwenden wir ja,
    und da das ganze noch in einer nicht ILE Umgebung läuft, mußten wir einen Gruppenjob verwenden.
    Das das unter ILE einfacher/besser/anders lösbar ist ist schon klar.
    So geübt mit dem GRPJOB Handling ist hier kaum noch einer.
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  7. #19
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das müsste ebenso auch mit OPM gehen.
    Oder brauchst du tatsächlich mehr als 1 Gruppenjob?

    Durch SQL kommen eben Threads automatisch ins Spiel und damit sind Gruppenjobs dann Tabu.
    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

  8. #20
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    OPM?

    Die Anwender arbeiten in PGM A (menü, pgmx1, x2, x3, ... PGM A)
    Dann kommt der Anruf, der brkhander ruft PGMXy,Xz... PGM A

    Da bin ich ohne ILE in der Bredouille.
    Ich kann den SQL Zugriff auf chain umstellen, das wäre das nächste was ich vorschlage.

    aber OPM und rekursive aufrufe?
    Da hab ich keine Idee
    Robi
    (der Rekursion im früheren leben mal mit einem komplizierten Konstrukt gelöst hat, wo das zu rufende Pgm im RekursionsFall mit crtdupobj auf a0000001, a0000002, ... kopiert wurde und die kopie statt des orginals gecalled wurde. schnell war das nicht!)
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  9. #21
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Auch ILE funktioniert rekursiv nur im Service-Programm.
    Nun denn, auch dafür gibts eine Lösung.
    Aber:
    Da du ja schon 7.1 hast kannst du die Programme auch schnell per CVTRPGSRC in ILE überführen.
    Allerdings löst das dein Rekursionsproblem nicht direkt.

    Hier kannst du dann per ILE und Prozedur-Pointer einen "Callback" initiieren.
    D.h., du legst in QTEMP einen USRSPC an und besorgst dir den Pointer dazu.
    Nun kannst du, wenn PGMA läuft, einen Prozedurpointer im USRSPC ablegen.
    Dein BRK-Handler kann nun die Prozedur mit den benötigten Parametern ganz einfach rekursiv aufrufen.

    Alternative 2:
    Du kannst eine DTAQ an die DSPF hängen und in deinen Satzformaten per INVITE die Tastatur freigeben und per FRCDTA die Sofortausgabe erzwingen.
    Somit kannst du per WRITE deine Daten ausgeben.
    Dann legst du dich per QRCVDTAQ schlafen (ggf. per Timeout für andere Aktionen).
    Drückt der User nun irgendeine Taste kommt der QRCVDTAQ zurück mit der Kennung Taste gedrückt und du kannst das Satzformat per READ nun auslesen. Dein Programm wird nun nicht geblockt.

    Dein BRK-Handler braucht nun nur noch in diese DTAQ zu schreiben und nichts mehr aufrufen.
    Beim Beenden löst der QRCVDTAQ nun mit den gesendeten Daten aus.
    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

  10. #22
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Auch ILE funktioniert rekursiv nur im Service-Programm.
    und mit 'das 1 Pgm läuft mit ACTGRP *new, alle anderen mit *Caller'

    auch schnell per CVTRPGSRC in ILE überführen
    nur Pgmme die sehr gravierend geändert werden 'dürfen' in ILE umgesetzt werden.


    Du kannst eine DTAQ an die DSPF hängen und in deinen Satzformaten per INVITE die Tastatur freigeben und per FRCDTA die Sofortausgabe erzwingen.
    Das ist schon so, aber für andere spielchen, selbe Pgm aber andere User.
    In diesem Fall geht das nicht

    Ich werde das SQL Pgm durch ein LF und einen Chain ersetzen

    Danke
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

Similar Threads

  1. SQL- Fehler SQL0900
    By svit in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 01-03-19, 19:03
  2. Antworten: 7
    Letzter Beitrag: 23-03-15, 17:21
  3. Fehler beim GET im FTP
    By malzusrex in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 23-04-03, 17:15
  4. Fehler in der Lizenzverwaltung??
    By Pia in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 17-03-03, 12:22
  5. Fehler bei FTP
    By K_Tippi in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-12-02, 11:41

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •