-
Hallo hel400,
danke für den Hinweis.
Das Habe ich jetzt durchgeführt.
Ich habe es interaktiv aufgerufen.
Parallel dazu habe ich noch die Jobprotokollierung hoch geschraubt.
Dabei erhalte ich (gefühlte) millionen mal folgenden Eintrag:
Code:
Return Code = 00000000000000000000000000000000
Return SubCode = 00000
Anweisung SET beendet.
Die Konsequenz daraus ist, das ich einen überlauf vom Joblog bekomme.
Code:
Überlauf der Jobnachrichtenwarteschlange für 432435/TOSCHIE/QPADEV0009 erlaubt.
Ist das aus der SQL-Funktion?
Kann man das unterdrücken? =)
-
Im Debugmodus werden diese Meldungen ins Joblog geschrieben und lassen sich auch nicht unterdrücken.
Wenn du dann einen Überlauf des Joblogs bekommst wird normalerweise (Modus *WRAP) halt ein Joblog gedruckt und weitergemacht.
Der Prozess wird allerdings stark verlangsamt.
Das Hochschrauben der Jobprotokollierung hat nur einen Effekt, wenn das Joblog auch tatsächlich ausgegeben wird. Im aktiven Joblog sieht man immer alle Meldungen.
Das Drucken ist sicherlich nicht das Problem sondern der Rest des Programmes.
-
Zitat von Fuerchau
Im Debugmodus werden diese Meldungen ins Joblog geschrieben und lassen sich auch nicht unterdrücken.
Wenn du dann einen Überlauf des Joblogs bekommst wird normalerweise (Modus *WRAP) halt ein Joblog gedruckt und weitergemacht.
Der Prozess wird allerdings stark verlangsamt.
Das Hochschrauben der Jobprotokollierung hat nur einen Effekt, wenn das Joblog auch tatsächlich ausgegeben wird. Im aktiven Joblog sieht man immer alle Meldungen.
Das Drucken ist sicherlich nicht das Problem sondern der Rest des Programmes .
Hallo Fuerchau,
danke für dein Kommentar.
Ich hatte leider einen krankheitsbedingten totalausfall
Wollte mich erstmal für alle Hinweise bedanken!
Die API funktioniert schon wunderbar =)
eine Frage noch an dich Fuerchau:
Was genau meinst du mit
Im Debugmodus werden diese Meldungen ins Joblog geschrieben und lassen sich auch nicht unterdrücken.
Danke an alle =)
-
Zitat von Toschie
eine Frage noch an dich Fuerchau:
Was genau meinst du mit
Im Debugmodus werden diese Meldungen ins Joblog geschrieben und lassen sich auch nicht unterdrücken.
Wenn der der Job unter DEBUG läuft (STRDBG) schreibt SQL eine Fülle an Informationen ins Joblog.
Damit dann das Joblog nicht überläuft, musst du im Job definieren was in solch einem Fall gemacht werden soll (z.B. *WRAP)
lg Andreas
-
SQL wird im Debug-Modus halt sehr gesprächig, was auch gut so ist.
Ohne Debug-Modus lassen sich SQL-Hinweise per QAQQINI auch aktivieren, könnte aber eben zu den Joblogproblemen führen.
Ich hatte da halt mal einen Fall, dass das Joblog auf 16MB beschränkt war, die SQL-Hinweise per QAQQINI aktiv, was zur Folge hatte, dass in wenigen Sekunden mehr als 1000 Joblogs erstellt wurden (auch die kosten Zeit), da eben SQL äußerst gesprächig war.
Hauptursache war hier, dass für einen Select kein NULL-Anzeiger gesetzt wurde was im Joblog protokolliert wurde, dem Programm aber egal war (die Variable wurde eben vorher initialisiert).
Die Laufzeit war daher mehrere Minuten. Nach einsetzen des NULL-Anzeigers lief das Programm nur noch Sekunden und es wurden auch keine Joblogs produziert.
Das Problem ist doch, dass jede gesendete Nachricht erst mal im Speicher-Joblog aufgezeichnet wird.
Dies gilt unabhängig von der LOGLVL-Einstellung!
Diese zieht erst, wenn denn tatsächlich ein Joblog in den Spool ausgegeben wird und dann ist das der Filter für die Nachrichten.
Wäre dem nicht so, könnte man per Programm z.B. nicht mehr per RCVMSG auf "Complete"-Nachrichten gehen um dort enthaltene Informationen auszulesen.
-
Dankeschön =)
Das habe auch ich verstanden =)
Problem wurde damit vollständig gelöst!
Ich bedanke mich bei euch =)
-
Hallo ExAzubi,
danke für den Hinweis.
Diese Funktion hatte ich damals schon gefunden, aber nie ans Laufen bekommen.
Wenn ich
Code:
/free
result = %ScanRpl ('NAME' : 'Tom' : string1);
/End-Free
implementiere, dann erhalte ich die Meldung:
Das Token ist ungültig; das Token wird ignoriert.
Und der Cursor springt an das %-Zeichen.
Andere Funktionen wie z.B.
Code:
result = %replace ('Toronto': result);
funktionieren.
-
Das liegt an der fehlenden Unterstützung des Editors.
Ignorieren und Compilieren, solange der Compiler nicht meckert ist das OK.
-
Haha Danke
Ich Genie
Also die Funktion ist nun drin und es geht etwas schneller.
Das ist schon mal gut!
Was mir jetzt aufgefallen ist, das ein CL ständig einen OVRDB und einen DLTOVR macht.
Wir drucken hier im Batch und benötigen die OVR.
Kann ich irgendwie prüfen, ob der Job bereits eine Überschreibung auf eine gewisse Datei hat?
-
Das gibt es schon per API.
Allerdings kostet dieser keine Performance solange die Datei nicht auch ständig auf und zu gemacht wird.
Das CL kann aber andererseits per DTAARA in der QTEMP vermerken dass der OVR schon aktiv ist.
Problematisch wird es dann wenn dann irgendwo ein DLTOVR *ALL läuft.
Die Frage ist wirklich, wo dein Programm die Performance verliert.
Welche Routine ist eben langsam und wird 1000de Male pro Write-Spool ausgeführt.
Similar Threads
-
By Tonazzo in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 16-06-14, 09:30
-
By andigoering in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 24-01-03, 09:11
-
By Henry in forum NEWSboard Drucker
Antworten: 1
Letzter Beitrag: 03-06-02, 18:57
-
By awellen in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 04-04-02, 12:01
-
By B.Hauser in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 01-10-01, 17:31
Tags for this Thread
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