PDA

View Full Version : Datenbanken



elmar
23-03-01, 08:33
Hallo,
ich habe ab und zu Sätze in einer Datenbank, bei denen ein Feld mit Dezimaldaten falsch befüllt ist.
Wird dieser Satz im Programm gelesen-->Absturz mit Dezimaldatenfehler.

-) Der fehlerhafte Satz ist schwer herauszufinden, da der DUMP sich nicht auf den entspr. Record bezieht. Gibt es da Hilfen?

-) Gibt es auf der AS400 Befehle, mit denen Datenbanken auf solche fehlerhafte Sätze geprüft werden können?


Über Tips und Anregungen wäre ich dankbar.

K_Tippi
23-03-01, 09:11
Hallo Elmar
Ich hatte das Problem auch mal nachdem Daten von einer S/36 auf die AS/400 übernommen wurden. Ich hatte mir damal ein RPG Programm geschrieben, dass diese Felder auf *zero setzt.
Der Ablauf sieht etwa so aus
Satzformat Initialisieren (clear)
Satz lesen
Satz zurüückschreiben

das ganze bis EOF

Jetz der "Trick" umwandeln des RPG-Programms mit dem Parameter
Dezimaldatenfehler ignorieren . IGNDECERR > *YES
Nullwerte zulässig . . . . . . . ALWNULL *NO
Dann solölten alle Dezimalfelder die ein Falsches Format haben mit *zero initialisiert sein
Gruss Klaus

Günther
23-03-01, 11:33
Hallo Elmar,

wenn man den Satz finden will, hilft RUNQRY, dort tauchen die Error-Daten mit unterstrichenen *** auf; wäre natürlich mühsam, wenn die Datei sehr groß ist

Gruß Günther

Max
29-03-01, 14:08
Halihalo,

ich habe so einen Fall mal behoben, das ich einfach ein CPYF gemacht habe. Er ist dann gestürzt, bei dem falschen Satz. Dann kann man schnell herausfinden, um welchen Satz es sich handelte, weil man ja den vorherigen Satz als letzten Satz in der neuen Datei stehen hat.

Mal ausprobieren. Vielleicht funktioniert

Tornado
28-05-01, 17:57
Es gibt auch einen Datei-Editor, QRECTOR,
der kann die Sätze suchen und finden und
initialisieren.

Gruß Tornado