[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2001
    Beiträge
    2.044

    Wer erzeugt den Fehler

    Hi *all
    ich habe hier ein RPT Pgm, das mehrere SQLRPGLE Programme ruft, die wiederum teilweise ander SQLRPGLE Programme rufen.
    Nun bricht der Job ab mit der Meldung

    SQL0811 Diagnose 30 03.02.12 14:19:41,515379 QSQRUN2 QSYS *STMT QSQRUN2 QSYS *STMT
    Ausgangsmodul . . . . . . . : QSQFETCH
    Ausgangsprozedur . . . . . : CK_DEBUG
    Anweisung . . . . . . . . . : 22221
    Zielmodul . . . . . . . . . : QSQFETCH
    Zielprozedur . . . . . . . : CK_DEBUG
    Anweisung . . . . . . . . . : 22221
    Toll
    wie krieg ich raus welches SQL Stmt in welchem PGM tatsächlich knallt?
    Der Ablauf läuft schon ewig stabil.
    Kann ich irgend etwas einstellen damit das Joblog mit das tatsächlich betroffene Pgm nennt?
    Ich versuche grade mehr oder weniger jedes Stmt dass ich in Verdacht habe interaktiv auszuführen.

    gibt's da ne Idee
    danke
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Ich habe mir ein kleines Serviceprogramm geschrieben, dass einen SQLCOD, einen Programmnamen und einen Text übergeben bekommt. Ich setze das hinter jedes SQL-Command. Das Tool checkt den übergebenen SQLCOD. Normalerweise ist der Code 0 oder 100. Wenn es ein anderer Code ist, ist das in der Regel ein unerwarteter Fehler. In so einem Fall schreibt das Tool den übergebenen Text mit dem Programmnamen ins Joblog. Dann kann man recht gut feststellen, wo das Problem aufgetreten ist.

    Dieter.

  3. #3
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Gute Idee, danke.
    Hilft nur auf die Schnelle nicht ...

    Baue grade auf interaktiv um um es zu debugen.
    ( ja ich weis, das macht mann von vorneherein so, das mann debugen kann, aber nicht überall )
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Wenn es nur um das Debuggen geht: Du kannst natürlich auch Stapeljobs debuggen mit STRSRVJOB.

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    is klar
    Nur kommt auf der Produktionsmaschine ein hldjobq nicht so gut. Und erstrecht nicht am Freitag Nachmittag.
    Für einen Hldjob bin ich zu langsam
    Außerdem ist der debug keine 'echte' Lösung.
    in gefühlen 30 Pgmmen beim SQLSTMT einen Break zu setzen ist halt mühselig.
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  6. #6
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hi,
    am besten lässt du ein Monitor (z.B. iNavigator) mit laufen. Dann siehst du Fehler + Beschreibung, Programm und auch verwendete Parameter (Hostvariablen, oder wie ich letztens gelesen habe: Doppelpunktvariablen )

    lg Andreas

  7. #7
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Das hört sich gut an
    kannst du in 2 Sätzen sagen wie das (grob) geht?
    oder hast du einen link der das Vorgehen beschreibt?

    Der iNavigator ist hier zwar installiert, aber eigendlich nur als Plattenplatzverbraucher.
    Außer zum AFPDS Spool ansehen (oder war es IPDS?) habe ich ihn noch nie verwendet. (und das ging auch nur mäßig http://newsolutions.de/forum-systemi...aenderbar.html

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

  8. #8
    Registriert seit
    Aug 2003
    Beiträge
    1.508

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Hmm,
    Aktueller Benutzer = der User mit dem du dich via ODBC anmelden möchtest
    dann machst du deine Abfrage mit dem Umlaut
    Hört sich beides an, als ob es auf ein interaktives sql rausläuft

    Trotzdem, werde es am Montag mal versuchen
    man soll ja nix beurteilen, was mann nicht seleber probiert hat.

    Also ..
    vielen Dank und schönes WE
    Gruß
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  10. #10
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Du kannst/solltest beim Monitor einen Filter angeben.
    Damit werden alle Statements aufgezeichnet die du Brauchst.
    Z.B.: alle Statements eines bestimmten Users, Job, einer Bibliothek, Tabelle usw.

    Somit wenn du irgendwelche SQLs auf der i Analysieren willst (egal ob Interaktiv oder Batch, in RPG, STRSQL oder PHP), mit dem Monitor bekommst du alles

    lg und ein Schönes WE

Similar Threads

  1. Os400 Fehler ?
    By Robi in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 04-11-06, 16:02
  2. Triggersyntax erzeugt nur Fehler
    By deni87991 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-08-06, 10:05
  3. Fehler im SQL bzw. Joblog
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 10-07-06, 11:58
  4. ODBC Verbindungs Fehler (-7778)
    By Hubert in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-05-06, 09:41
  5. STRPCCMD ohne STRPCO erzeugt keinen Fehler?
    By AndreasH in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-06-04, 08:48

Berechtigungen

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