[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    360
    Ich glaube der Fehler kommt aus JVAGATE / CCEXIT. Ich versuche es aber noch mit der anderen Activation Group.
    Ich hatte noch gefragt, ob es spezielle Umwandlungsparameter des SQLRPG's gibt.
    Gruß

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... wenn wir da in die technischen Details gehen wollen: im Joblog kommt die Fehlermeldung CPI8351 nach dem DLTDTAQ, welches in der Exit Routine von JVAGATE durchgeführt wird (letztere wird über einen registrierten Exithandler aufgerufen). Die finale CPF8356 nennt explizit 1 local changes und wird (wahrscheinlich) bei der autoatischen Deregistrierung der Commit ressource ausgelöst. Falls ihr lokal nichts mit der Datenbank und commit gemacht habt, ist dies fehlerhaft seitens des Betriebssystems.

    Was die Erstellung der SQLRPGs angeht, hält man sich am besten an die Beispiele, die in dem Zipfile auf Sourceforge zu finden sind. Wichtig sind dabei, COMMIT(*CHG oder *CS), naming(*SQL), DATFMT(*ISO), TIMFMT(*ISO), RDB(*LOCAL) und ACTGRP(some_name).

    mfG

    Dieter
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Sep 2004
    Beiträge
    360
    Zitat Zitat von BenderD Beitrag anzeigen
    ... wenn wir da in die technischen Details gehen wollen: im Joblog kommt die Fehlermeldung CPI8351 nach dem DLTDTAQ, welches in der Exit Routine von JVAGATE durchgeführt wird (letztere wird über einen registrierten Exithandler aufgerufen). Die finale CPF8356 nennt explizit 1 local changes und wird (wahrscheinlich) bei der autoatischen Deregistrierung der Commit ressource ausgelöst. Falls ihr lokal nichts mit der Datenbank und commit gemacht habt, ist dies fehlerhaft seitens des Betriebssystems.

    Was die Erstellung der SQLRPGs angeht, hält man sich am besten an die Beispiele, die in dem Zipfile auf Sourceforge zu finden sind. Wichtig sind dabei, COMMIT(*CHG oder *CS), naming(*SQL), DATFMT(*ISO), TIMFMT(*ISO), RDB(*LOCAL) und ACTGRP(some_name).

    mfG

    Dieter
    OK, Danke Dir. So machen wir es.
    Gruß Klaus

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wenn die ACTGRP benannt ist hat man eine eigene Commit-Umgebung und beim Verlassen des Programmes / der ACTGRP wird bereits aufgeräumt.
    Übrigens verwende ich Ardgate mit ACTGRP(*NEW) damit die ACTGRP nicht irgendwie offen bleibt (*INLR = *OFF).
    Auch ein häufiges Erstellen neuer ACTGRP's dauert ja nicht mehr lange.
    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

  5. #5
    Registriert seit
    Sep 2004
    Beiträge
    360
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Wenn die ACTGRP benannt ist hat man eine eigene Commit-Umgebung und beim Verlassen des Programmes / der ACTGRP wird bereits aufgeräumt.
    Übrigens verwende ich Ardgate mit ACTGRP(*NEW) damit die ACTGRP nicht irgendwie offen bleibt (*INLR = *OFF).
    Auch ein häufiges Erstellen neuer ACTGRP's dauert ja nicht mehr lange.
    Mal eine Laienfrage, weil wir selten die ACT Groups manipulieren.
    Was muss ich machen, damit das RPG (mySQL Access) unter einer eigenen ACTGRP läuft?
    SBMJOB call CL, call RPG (mySQL).
    Dankeschön.
    Gruß Klaus

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von itec01 Beitrag anzeigen
    Mal eine Laienfrage, weil wir selten die ACT Groups manipulieren.
    Was muss ich machen, damit das RPG (mySQL Access) unter einer eigenen ACTGRP läuft?
    SBMJOB call CL, call RPG (mySQL).
    Dankeschön.
    Gruß Klaus
    ... die ACTGRP hängt am Programm, bzw. SrVPGM und wird beim CRTPGM, bzw. CRTSRVPGM festgelegt. Beim SBMJOB muss/kann man da nix machen.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Im Header der Quelle definieren:
    ACTGRP('NAME') DFTACTGRP(*NO)

    Serviceprogramme sollten nach Möglichkeit (bis auf gezielte Ausnahmen) nur *CALLER haben, was der Default ist.
    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. #8
    Registriert seit
    Sep 2004
    Beiträge
    360
    Danke, aber die Änderungen der Activation Group hat das Problem nicht gelöst. Wir schauen nun, welche Commits offen sind.

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... zumindest für den local change (letzte Meldung), müsste das im Journal zu finden sein.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Sep 2004
    Beiträge
    360
    Hallo,
    es ist so, dass JVAGATE offene API commits stehen lässt und zwar aus dem Program CCEXIT kommend. Beim Beenden des Jobs werden die dann zurückgefahren.
    Schon bei dem Connect zur fremden DB tauchen die Commits auf und verschwinden bis zum Ende des Programmes nicht.
    Anbei die hardcopies:

    Click image for larger version. 

Name:	Hardcopys JVAGATE open commits-1.jpg 
Views:	11 
Size:	221,7 KB 
ID:	652Click image for larger version. 

Name:	Hardcopys JVAGATE open commits-2.jpg 
Views:	8 
Size:	148,0 KB 
ID:	653Click image for larger version. 

Name:	Hardcopys JVAGATE open commits-3.jpg 
Views:	11 
Size:	122,9 KB 
ID:	654

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... JVAGATE registriert eine externe Commit Ressource per API QTNADDCR, um commit Operationen auf die externen Connects auszuführen, wenn lokal eine commit Operation angefordert wird. Der Commit Handler CCEXIT wird dann von der Datenbank nach jeder Commit Operation automatisch aufgerufen und propagiert die commit Operation auf die remote Datenbanken. Wenn dabei lokale Commit Definitionen offen bleiben, ist das eine Defektproblem von OS/400 bzw. neudeutsch I.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Sep 2004
    Beiträge
    360
    Zitat Zitat von BenderD Beitrag anzeigen
    ... wenn lokal eine commit Operation angefordert wird. Der Commit Handler CCEXIT wird dann von der Datenbank nach jeder Commit Operation automatisch aufgerufen und propagiert die commit Operation auf die remote Datenbanken. Wenn dabei lokale Commit Definitionen offen bleiben, ist das eine Defektproblem von OS/400 bzw. neudeutsch I.

    D*B
    Wie ist das mit den lokalen db's zu verstehen? In meinem Beispiel gibt es keine lokalen DB's und wie in meiner Beschreibung zu erkennen, ist auch nur das JVAGATE API offen, sonst nichts. Daher verhält sich JVAGATE meiner Meinung nicht sauber und lässt Commits offen.

Similar Threads

  1. JVAGATE mit Sonderzeichen in CHAR-Feldern
    By Peet in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 16-04-20, 13:02
  2. JVAGATE und SQLRPG auf lokale DB2 for i
    By Peet in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 25-06-19, 10:59
  3. jvagate Bander tool Verbindung -> Oracle Hilfee
    By labm in forum NEWSboard Programmierung
    Antworten: 20
    Letzter Beitrag: 05-06-18, 08:09
  4. Problem mit JVAGATE von D.Bender
    By svit in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 18-09-14, 11:14
  5. aktuelle Liste aller offenen Commits je DB
    By itec01 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 08-07-14, 10:17

Tags for this Thread

Berechtigungen

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