sy-datum low-und high-Definitionen ABAP-code
Ich habe ein ABAP-Programm mit folgenden Beispiel-code, die sollte wählen Sie die Daten aus einer SAP-Tabelle basiert auf einer date-Spalte.
INITIALIZATION.
select-OPTIONS: so_date FOR sy-datum.
START-OF-SELECTION.
so_date-sign = 'I'.
so_date-option = 'BT'.
so_date-low = sy-datum.
so_date-high = '99991231'.
APPEND so_date.
und mein select-stmt ist:
select c1,c2,c3
from <sap_table>
where <date_column> in so_date.
Möchte ich wissen, den Zweck der Einstellung so_date-high = '99991231' und wie es sich Verhalten werden.
InformationsquelleAutor user3001094 | 2013-11-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
BT
bedeutet zwischen.99991231
ist ein Datum im internen format JJJJMMTT (Jahr-Monat-Tag), es ist der 31. Dezember 9999. Die Einstellung von die option wählen, hat etwas beliebiges Datum zwischen heute und ein Datum weit in der Zukunft.TheG bereits erwähnt: Es sollte besser auf
INITIALIZATION
, so dass Ihre Auswahl ist schon sichtbar auf dem Auswahl-Bildschirm und kann geändert werden, wenn Sie es brauchen.Bemerkung: Diese Voreinstellung funktioniert nur im Dialog, nicht im batch - (aber beim Aufruf in der batch, Sie können den Standard in der Variante für den batch-job).
Aber für diese einfache Standard-Werten verwenden, sollten Sie die
default
-optionselect-options
:Oder zu sagen, 'alles, was in die Zukunft':
GE
bedeutet größer gleich.InformationsquelleAutor knut
Wenn ich du wäre würde ich die so_date-high = '99991231' im Rahmen der Initialisierung, so dass er sich auf das Auswahl-Bildschirm. Wenn der Nutzer will, um das Datum zu ändern reichen, dann gibt es mehr Flexibilität für Sie zu ändern in der Auswahl-Bildschirm. Auf diese Weise weiß der Benutzer den Datumsbereich, die wird bewirkt auf der select-Anweisung. Es ist eine gute übung, um sicherzustellen, der Endanwender kennt die Datumsbereiche bei der Arbeit ohne Blick auf den code zu finden, der fest codierte Informationen.
wählen Sie c1,c2,c3
aus den in Tabelle
wo in so_date.
Oben wählen würde-pick c1,c3 und c3-Felder und setzen Sie es in die Tabelle, wo die Bedingung GE so_date-low und LE so_date-hoch zufrieden ist.
(LE - Kleiner oder Gleich ; GE - Größer Als oder Gleich )
InformationsquelleAutor TheG