Danke schön für die Antwort. Es hat jetzt geklappt. Ich habe APPEND s_datum nicht geschrieben, daher hat auch nicht funktioniert. Also sieht folgendes aus:M@atze! hat geschrieben:Hi,
mit "DEFAULT" kannst du nur feste Werte zuweisen.
Lass das bei SELECT-OPTIONS weg.
Die Zuweisung der Defaultwerte machst du ja schon richtig unter INITIALIZATION (genau dafür ist es da).
Die Variable gv_datum kannst du dir eigentlich auch sparen und direkt s_datum-low/high verwenden.
Code: Alles auswählen.
data gv_datum_von type dats.
SELECT-OPTIONS s_datum FOR gv_datum_von.
INITIALIZATION.
gv_datum_von = sy-datum - 60.
gv_datum_von = gv_datum_von(6) && '01'.
s_datum{} = value #( ( low = gv_datum_von high = sy-datum sign = 'I' option = 'BT' ) ).
Die Logik verstehe ich nicht. s_datum-low und s_datum-high sind normale (Kopfzeilen-)Felder, genau wie Deine Hilfsfelder gv_datum_von und gv_datum_bis auch. Von daher gibt es (auch bei Deinem Code) nicht den mindesten Grund, letztere zu verwenden und dann umzukopieren. Ich habe gv_datum_von in meinem Code auch verwendet, aber nur, da ich eh nicht mit den Kopfzeilenfeldern arbeite und gv_datum_von ohnehin als Dummyfeld für den FOR-Teil der SELECT-OPTIONS benötige.Ich möchte datum_von und datum_bis dynamisch sein, daher kann ich direkt s_datum-low/high nicht verwenden.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
cuncon
DeathAndPain hat geschrieben:Dein Code funktioniert, aber er gefällt mir nicht. Hattest Du nicht sogar ein 7.40-System?
Dann geht das mit einem Bruchteil der Zeilen und trotzdem - oder gerade deswegen - übersichtlich:
Code: Alles auswählen.
data gv_datum_von type dats. SELECT-OPTIONS s_datum FOR gv_datum_von. INITIALIZATION. gv_datum_von = sy-datum - 60. gv_datum_von = gv_datum_von(6) && '01'. s_datum{} = value #( ( low = gv_datum_von high = sy-datum sign = 'I' option = 'BT' ) ).
Dabei musst Du hinter s_datum statt der geschwungenen Klammern eckige verwenden; die stellt das Forum aber nicht richtig dar, weswegen ich mir als Krücke mit den geschwungenen beholfen habe. Und in der Zeile davor muss statt && && stehen.
Die Logik verstehe ich nicht. s_datum-low und s_datum-high sind normale (Kopfzeilen-)Felder, genau wie Deine Hilfsfelder gv_datum_von und gv_datum_bis auch. Von daher gibt es (auch bei Deinem Code) nicht den mindesten Grund, letztere zu verwenden und dann umzukopieren. Ich habe gv_datum_von in meinem Code auch verwendet, aber nur, da ich eh nicht mit den Kopfzeilenfeldern arbeite und gv_datum_von ohnehin als Dummyfeld für den FOR-Teil der SELECT-OPTIONS benötige.Ich möchte datum_von und datum_bis dynamisch sein, daher kann ich direkt s_datum-low/high nicht verwenden.