ich habe seit Tage ein RISIGES Problem mit einer Tabelle auf der ADS (8.1).
Ohne jetzt alles in Detail beschreiben zu wollen, versuche ich es vorerst mit einer allgemein formulierten Frage:
Welche Gründe kann es geben, dass einige Datensätze nicht im Index landen, andere schon. Das Erzeugen der Datensätze erfolgt immer nach demselben Prinzip, immer aus demselben Programm heraus. Trotzdem gibt es Datensätze die anscheinend nicht im Index vorhanden sind(?).
Programm ist nicht von mir geschriben worden, scheint schon etwas älter zu sein. Lief aber bis vor ein paar Tagen ohne Probleme.
Daher Tippe ich auf einen Fehler in der Tabelle / ADS.
Im Programm liefert die Funktion OrdKeyNo() ein NIL, wenn zuvor ein DbGoBottom() gesetzt wurde. Der fragliche Datensatz ist aber in der Tabelle vorhanden, denn über den Advantage Data Architekten sehe ich ihn, auch wenn ich denselben Index wähle.
Reindex und Neuaufbau der Indexdatei habe ich schon durch. Ohne Erfolg.
Dies hier liefert NIL:
Code: Alles auswählen
nBot := ( DOCS->( OrdKeyNo() ) )
Gebe ich mir vor vorher den OrdKeyNo() raus:
Code: Alles auswählen
Msgbox( "OrdKeyNo(): " + Alltrim( Str( DOCS->( OrdKeyNo() ) ) ) )
oError:args :
-> VALTYPE: C VALUE: 195339
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : {NIL, 5041, Error 5041: The requested object was not found. Key not in index.}
oError:description : Parameter hat falschen Typ
oError:filename :
oError:genCode : 2
oError:operation : str
oError:osCode : 0
oError:severity : 2
oError:subCode : 1025
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0