Wo liegen denn die Sourcen ?
Moderator: SYNERPY
-
PaulL
- Beiträge: 13
- Registriert: Mi Nov 07, 2012 2:04 pm
Wo liegen denn die Sourcen ?
Hallo allesamt,
ich bin neu in AvERP und stelle mich irgendwie trottelig an.
Ich habe das Gesamtpaket heruntergeladen und installiert, hat alles prima geklappt. Mittlerweile habe ich mal kräfitig mit der Demodatenbank herumgearbeitet und mich jetzt an das Thema Kasse herangetastet. Wenn ich die Kasse - Schnellerfassung öffne und mich anmelde und danach in den 3. Reiter "3. offene Posten" wechsle, bekomme ich eine Fehlermeldung" ISC ERROR CODE:335544321...." und einen Verweis auf die Prozedur 'P_DISPLAYFIELDLIST' line:202, col: 1.
Jetzt wollte ich mir das mal im Sourcecode abschauen, um zu verstehen wie denn das System abläuft, aber ich finde die Sourcen nirgens, obwohl ich ja das Gesamtpaket heruntergeladen habe.
Kann mir mal bitte jemand über meine Blindheit hinweghelfen, und mir sagen, wo ich das Zeugs finde. An sonsten finde ich das ganze System prima.
Viele Grüße
Paul
ich bin neu in AvERP und stelle mich irgendwie trottelig an.
Ich habe das Gesamtpaket heruntergeladen und installiert, hat alles prima geklappt. Mittlerweile habe ich mal kräfitig mit der Demodatenbank herumgearbeitet und mich jetzt an das Thema Kasse herangetastet. Wenn ich die Kasse - Schnellerfassung öffne und mich anmelde und danach in den 3. Reiter "3. offene Posten" wechsle, bekomme ich eine Fehlermeldung" ISC ERROR CODE:335544321...." und einen Verweis auf die Prozedur 'P_DISPLAYFIELDLIST' line:202, col: 1.
Jetzt wollte ich mir das mal im Sourcecode abschauen, um zu verstehen wie denn das System abläuft, aber ich finde die Sourcen nirgens, obwohl ich ja das Gesamtpaket heruntergeladen habe.
Kann mir mal bitte jemand über meine Blindheit hinweghelfen, und mir sagen, wo ich das Zeugs finde. An sonsten finde ich das ganze System prima.
Viele Grüße
Paul
-
PaulL
- Beiträge: 13
- Registriert: Mi Nov 07, 2012 2:04 pm
Wo liegen denn die Sourcen ?
Hallo,
ist die Frage für gestandene Insider zu trivial ?
Ich habe in der Zwischenzeit mit der Demodatenbank weitergearbeitet, bin aber bei dem Thema Sourcen, und wie funktioniert was, irgendwie nicht vom Fleck gekommen.
Würde mich über eine kurze Hilfestellung hier sehr freuen.
Viele Grüße
Paul
ist die Frage für gestandene Insider zu trivial ?
Ich habe in der Zwischenzeit mit der Demodatenbank weitergearbeitet, bin aber bei dem Thema Sourcen, und wie funktioniert was, irgendwie nicht vom Fleck gekommen.
Würde mich über eine kurze Hilfestellung hier sehr freuen.
Viele Grüße
Paul
-
miboe
- Beiträge: 1295
- Registriert: Fr Jul 28, 2006 9:13 am
Hallo,
die Sourcen bestehen aus zwei großen Teilen. Der Delphi-Kern, der die eigentlichen exe-Dateien produziert und den ein normaler AvERP Anwender nie brauchen wird. Der zweite und aus Sicht des Programms "größere" Teil ist in der Datenbank in Form von Triggern und Stored Procedures enthalten. Um da dran zu kommen braucht man ein entsprechendes Firebird Entwicklungstools wie IBexpert, Maestro oder Flamerobin ... wobei meine eigene Präferenz deutlich bei ersterem liegt.
Der IBexpert ist also prinzipiell vergleichbar mit dem SQL-Management Studio von M$ was den Umgang mit den Datenbanken angeht.
Gruß
Michael
die Sourcen bestehen aus zwei großen Teilen. Der Delphi-Kern, der die eigentlichen exe-Dateien produziert und den ein normaler AvERP Anwender nie brauchen wird. Der zweite und aus Sicht des Programms "größere" Teil ist in der Datenbank in Form von Triggern und Stored Procedures enthalten. Um da dran zu kommen braucht man ein entsprechendes Firebird Entwicklungstools wie IBexpert, Maestro oder Flamerobin ... wobei meine eigene Präferenz deutlich bei ersterem liegt.
Der IBexpert ist also prinzipiell vergleichbar mit dem SQL-Management Studio von M$ was den Umgang mit den Datenbanken angeht.
Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
-
PaulL
- Beiträge: 13
- Registriert: Mi Nov 07, 2012 2:04 pm
Wo liegen denn die Sourcen ?
Hallo Michael,
vielen Dank für die Hilfe, die Erklärung hat mich gut weitergebracht.
Ich habe mir IBExpert besorgt und sehe mich jetzt 3745 Prozeduren gegenüber.
Allerdings habe ich jetzt ein anderes Problem:
(aber warscheinlich sitzt das Problem ja wie in den meinten Fällen vor dem Bildschirm
)
Wenn ich die oben beschriebene Fehlermeldung" ISC ERROR CODE:335544321...." mit dem Verweis auf die Prozedur 'P_DISPLAYFIELDLIST' line:202, col: 1. nehme und in der Prozedur 'P_DISPLAYFIELDLIST' nachschauen will, was da passiert, stelle ich fest das sie nur 188 Zeilen hat.
Was mache ich hier falsch ?
Viele Grüße
Paul
vielen Dank für die Hilfe, die Erklärung hat mich gut weitergebracht.
Ich habe mir IBExpert besorgt und sehe mich jetzt 3745 Prozeduren gegenüber.
Allerdings habe ich jetzt ein anderes Problem:
(aber warscheinlich sitzt das Problem ja wie in den meinten Fällen vor dem Bildschirm
Wenn ich die oben beschriebene Fehlermeldung" ISC ERROR CODE:335544321...." mit dem Verweis auf die Prozedur 'P_DISPLAYFIELDLIST' line:202, col: 1. nehme und in der Prozedur 'P_DISPLAYFIELDLIST' nachschauen will, was da passiert, stelle ich fest das sie nur 188 Zeilen hat.
Was mache ich hier falsch ?
Viele Grüße
Paul
-
cpr
- Beiträge: 137
- Registriert: Mi Sep 01, 2010 9:31 pm
Re: Wo liegen denn die Sourcen ?
IBExpert öffnet die Prozedur freundlicherweise in der Editier-Ansicht.PaulL hat geschrieben:das sie nur 188 Zeilen hat. :oops:
Was mache ich
"Definiert" angezeigt wird die im Reiter "DDL"… ;)
Vor nicht allzu langer Zeit hat mich das auch stark verwundert! *g* Viel Spass!
Ach ja, manchmal findet man rein gar nix an der angegebeneen Stelle. Ich hatte immer die Vermutung, dass dies an "Kettenaufrufen" liegen könnte. Wenn also die Datenbank meldet "Fehler in Zeile 238", dort aber nur eine Variable deklariert ist -- dann hab ich mir immer zusammengereimt, dass weiter oben eine andere Prozedur aufgerufen sein könnte, deren DDL-Zeilen in den 'count' mitt reinlaufen…
--
Client: 4.2.5.42
Datenbank AVERP2011-A.02
Client: 4.2.5.42
Datenbank AVERP2011-A.02
-
miboe
- Beiträge: 1295
- Registriert: Fr Jul 28, 2006 9:13 am
Hallo zusammen,
bitte mal mehr Inhalt zu der Fehlermeldung schreiben. In der Nähe des Prozedurnamens steht überlicherweise ziemlich genau, was Firebird für einen Fehler hält. Da stehen dann so Dinge wie COLUMN B.ID NOT IN TABLE.
Der reine ISC-Fehlercode ist (leider) ziemlich wenig aussagekräftig.
Gruß
Michael
bitte mal mehr Inhalt zu der Fehlermeldung schreiben. In der Nähe des Prozedurnamens steht überlicherweise ziemlich genau, was Firebird für einen Fehler hält. Da stehen dann so Dinge wie COLUMN B.ID NOT IN TABLE.
Der reine ISC-Fehlercode ist (leider) ziemlich wenig aussagekräftig.
Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
-
PaulL
- Beiträge: 13
- Registriert: Mi Nov 07, 2012 2:04 pm
Fehleranalyse
Hallo,
vielen Dank für die schnellen Rückmeldungen.
Mit dem Hinweis "DDL" stehe ich jetzt immerhin innerhalb der Prozedure,
allerdings auf einer Leerzeile zwischen enem END und einem SUSPEND,
was bis jetzt auch nicht so viel Sinn macht.
Die komplette Fehlermeldung im AvERP ist:
Meldung von der AVERP-Datenbank
Errcode: 335544321
ErrorMessage: ISC ERROR CODE:335544321
ISC ERROR MESSAGE:
arithmetic exception, numeric overflow, or string truncation
string right truncation
At procedure 'P_DISPLAYFIELDLIST' line:202, col: 1
STATEMENT:
TIB_StoredProc: "<TApplication>.frmData.StP_Universal."
SQLMessage:
SQLCODE: -802
Wo sucht man da jetzt am besten weiter, wenn man wissen will wo und warum es kracht ?
Viele Grüße
Paul
vielen Dank für die schnellen Rückmeldungen.
Mit dem Hinweis "DDL" stehe ich jetzt immerhin innerhalb der Prozedure,
allerdings auf einer Leerzeile zwischen enem END und einem SUSPEND,
was bis jetzt auch nicht so viel Sinn macht.
Die komplette Fehlermeldung im AvERP ist:
Meldung von der AVERP-Datenbank
Errcode: 335544321
ErrorMessage: ISC ERROR CODE:335544321
ISC ERROR MESSAGE:
arithmetic exception, numeric overflow, or string truncation
string right truncation
At procedure 'P_DISPLAYFIELDLIST' line:202, col: 1
STATEMENT:
TIB_StoredProc: "<TApplication>.frmData.StP_Universal."
SQLMessage:
SQLCODE: -802
Wo sucht man da jetzt am besten weiter, wenn man wissen will wo und warum es kracht ?
Viele Grüße
Paul
-
miboe
- Beiträge: 1295
- Registriert: Fr Jul 28, 2006 9:13 am
Also ich habe mir das mal angeschaut:
Die Fehlermeldung bedeutet, dass ein String ohne saubere Typumwandlung, sprich ohne ein CAST ... AS VARCHAR(xx) und/oder ohne entsprechende Verwendung einer String-Funktion wie F_LEFT oder F_RIGHT in seiner Länge beschnitten wird. Ursache ist also ein zu langer Wert für eine Variable.
Die Prozedur hat exakt 202 Zeilen, das letzte SUSPEND, das die Ausgabe der Rückgabewerte macht steht in Zeile 201. Zu beachten ist, dass der Fehler in SPALTE 1 von Zeile 202 passiert, will sagen, der Fehler liegt entweder in der Zeile direkt davor oder im Rückgabewert, was hier das gleiche ist.
Ausgangspunkt für die Suche des Fehlers muss in diesem konkreten Fall die betroffene Maske sein, da hier offensichtlich in einem Event des 3. Reiters diese Prozedur mit Werten aufgerufen wird, die zum Fehler führen. Im neuen Design sieht man ja auch bei Masken mit ausgeblendeter Menüleiste den Maskennamen, in dem Fall ist das die FRMV_BKASSPOBARC. Hier dann den 3. Reiter anwählen und sich die Scripte anschauen. Im OnTabSheetShow wird die betroffene Prozedur aufgerufen. Gibt man die Parameter aus diesem Aufruf manuell im Ibexpert ein, kommt genau die gleiche Meldung: die zurückzugebende Feldliste ist zu lange für 8000 Stellen. Nimmt man nur 1 der beiden mittleren Felder raus, funktioniert es.
Das ganze ist also ein Bug ... und gehört demnach in die Fehlerberichte.
Gruß
Michael
Die Fehlermeldung bedeutet, dass ein String ohne saubere Typumwandlung, sprich ohne ein CAST ... AS VARCHAR(xx) und/oder ohne entsprechende Verwendung einer String-Funktion wie F_LEFT oder F_RIGHT in seiner Länge beschnitten wird. Ursache ist also ein zu langer Wert für eine Variable.
Die Prozedur hat exakt 202 Zeilen, das letzte SUSPEND, das die Ausgabe der Rückgabewerte macht steht in Zeile 201. Zu beachten ist, dass der Fehler in SPALTE 1 von Zeile 202 passiert, will sagen, der Fehler liegt entweder in der Zeile direkt davor oder im Rückgabewert, was hier das gleiche ist.
Ausgangspunkt für die Suche des Fehlers muss in diesem konkreten Fall die betroffene Maske sein, da hier offensichtlich in einem Event des 3. Reiters diese Prozedur mit Werten aufgerufen wird, die zum Fehler führen. Im neuen Design sieht man ja auch bei Masken mit ausgeblendeter Menüleiste den Maskennamen, in dem Fall ist das die FRMV_BKASSPOBARC. Hier dann den 3. Reiter anwählen und sich die Scripte anschauen. Im OnTabSheetShow wird die betroffene Prozedur aufgerufen. Gibt man die Parameter aus diesem Aufruf manuell im Ibexpert ein, kommt genau die gleiche Meldung: die zurückzugebende Feldliste ist zu lange für 8000 Stellen. Nimmt man nur 1 der beiden mittleren Felder raus, funktioniert es.
Das ganze ist also ein Bug ... und gehört demnach in die Fehlerberichte.
Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
-
PaulL
- Beiträge: 13
- Registriert: Mi Nov 07, 2012 2:04 pm
Hallo Michael,
Ich habe jetzt das ganze nachvollziehen können, einschließlich der Stelle, wo mehr als 8000 Zeichen zurückgegeben werden sollen, aber nur 8000 reinpassen. Nochmals Danke für die tolle Beschreibung.
Was macht man jetzt mit so einem Fehler ?
Wem und wohin meldet man den ?
Gibt es da irgenein Trackingsystem oder schickt man da einfach eine Email?
Gruß
Paul
Ich habe jetzt das ganze nachvollziehen können, einschließlich der Stelle, wo mehr als 8000 Zeichen zurückgegeben werden sollen, aber nur 8000 reinpassen. Nochmals Danke für die tolle Beschreibung.
Was macht man jetzt mit so einem Fehler ?
Wem und wohin meldet man den ?
Gibt es da irgenein Trackingsystem oder schickt man da einfach eine Email?
Gruß
Paul
-
miboe
- Beiträge: 1295
- Registriert: Fr Jul 28, 2006 9:13 am
Hallo Paul,
dafür gibt es hier mi Forum die Rubrik FEHLERBERICHTE. Dort eine kurze Beschreibung mit Verweis auf diesen Thread hier posten und fertig.
Tracking-System warten wir alle schon länger drauf
Gruß
Michael
dafür gibt es hier mi Forum die Rubrik FEHLERBERICHTE. Dort eine kurze Beschreibung mit Verweis auf diesen Thread hier posten und fertig.
Tracking-System warten wir alle schon länger drauf
Gruß
Michael
Nur wer das Unmögliche versucht, wird das Machbare erreichen!
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3
--
Datenbank: 2012-A02
Programm: 4.2.5.65
OS: Win 7 Pro / Ubuntu 10.04.3