ich habe in einer Tabelle ein char 1 Feld, bei dem ich nur den Wertebereich 'J', 'N' , 'T' und blank definiert habe. Dieses Feld wird nur von einem Programm angefasst, das auch nur die o.g. Werte setzt, einen Pflegedialog zur Tabelle gibt es nicht.
Jetzt finde ich Einträge in der Tabelle, die in diesem Feld * drinstehen haben. Ist mir unerklärlich, habt ihr eine ?
Am wahrscheinlichsten könnte ich mir ein LOOP AT ... mit anschließendem AT NEW ... vorstellen. Das war immer die beliebteste Methode Felder mit Sternchen zu versorgen.
1) "Verrutschte" Feldinhalte. Verwendet das Programm eine Stuktur zur Befüllung? Dann könnte bei einer direkten Zuweisung der Feldinhalt, der eigentlich für ein benachbartes Feld vorgesehen war, in diesem Feld landen. Passiert meist durch Programmierfehler im Zuge von Erweiterungen oder in Transportfenstern, wenn die Datenbank bereits die neue Struktur hat aber das noch laufende Proramm eine alte Version verwendet hat.
2) Die Einträge wurden via SE16(n) bearbeitet.
3) Benutzereingabe. Ohne jetzt das Programm zu kennen, gibt es in SAP grundsäzlich keine Einschränkung was man in (Text-)Eingabefeldern eintragen kann. Der Programmierer ist stets dafür verantwortlich die Werte auf Gültigkeit zu prüfen.
4) Alte Einträge bzw. Domänenfestwerte haben sich geändert. Vielleicht gab es mal eine Version von dem Programm, wo '*' noch möglich war.
EDIT:
5) Dynamische Verwendung der Tabelle. Wenn der statische Verwendungsnachweis keine weiteren Anhaltspunkte liefert, könnte auch ein kompletter Codesearch noch weitere Verwendungen der Tabelle aufzeigen.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.