ich habe ein Programm zur Pflege einer Z-Tabelle geschrieben in dem ich die Klasse CL_GUI_ALV_GRID verwende.
In einer Spalte wird ein Text geschrieben.
Im Feldkatalog habe ich das Feld als lowercase markiert.
* Kleinschreibung
LOOP AT gt_fcat ASSIGNING <fcat>.
CASE <fcat>-fieldname.
WHEN 'ZZBEMERK'.
<fcat>-outputlen = 100.
<fcat>-lowercase = 'X'.
ENDCASE.
ENDLOOP.
In der Definition der Domain zum Feld habe ich die Checkbox bei Ausgabeeigenschaften "Kleinbuchstaben" gesetzt. Allerdings erst etwas später. Ich hatte jetzt noch mal versucht mit dem Datenbank-Utility die Tabelle zu aktualisieren.
ich konnte jetzt auch verifizieren, dass es wohl nicht an der Tabelle oder an dem Feld liegt denn wenn ich in der SM30 die Tabelle pflege, werden Kleinbuchstaben gespeichert.
EDIT: Korrektur meiner ersten impulsiven Vermutung.
Wie baust du deinen Feldkatalog auf? LVC_FIELDCATALOG_MERGE?
Vermutlich verwendet das Grid intern noch den Zustand als das Kennzeichen noch nicht gesetzt gewesen ist.
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.
Ich glaub es geht ihm um die EINGABE von Kleinbuchstaben.
Und außerdem wandelt ein TRANSLATE TO LOWER alles in Kleinbuchstaben um.
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.
wenn der Datentyp vorher nur Großbuchstaben zugelassen hat und die Daten so auf der Datenbank gespeichert wurden, wird das nicht mehr rückgängig zu machen sein.
Hallo,
danke für eure Antworten. Ich habe den Fehler gefunden... Es lag nicht am ALV und nicht am Datentyp - es lag am Dynpro.
Ich hatte es nicht gesehen, weil ich im Dynpro normal Groß-/Kleinschreiben konnte. Dann habe ich im Debugger gesehen, dass es schon in der Übergabestruktur in Großbuchstaben umgewandelt war.
Darauf habe ich mir die Attribute des Dynprofelds noch mal genauer angesehen und dort gesehen, dass es da auch eine Checkbox für Groß-/Kleinschreibung gibt.
Grüße
Thomas
Folgende Benutzer bedankten sich beim Autor havanna für den Beitrag: qyurryus