Ansicht
Dokumentation

ABENSQL_DATE_TIME_CONVERSIONS - SQL DATE TIME CONVERSIONS

ABENSQL_DATE_TIME_CONVERSIONS - SQL DATE TIME CONVERSIONS

General Data in Customer Master   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Datums-/Zeitkonvertierungen

... TSTMP_TO_DATS( tstmp    = tstmp,
                   tzone    = tzone$[,
                   client   = client$]$[,
                   on_error = on_error$] )
  $| TSTMP_TO_TIMS( tstmp    = tstmp,
                   tzone    = tzone$[,
                   client   = client$]$[,
                   on_error = on_error$] )
  $| TSTMP_TO_DST(  tstmp    = tstmp,
                   tzone    = tzone$[,
                   client   = client$]$[,
                   on_error = on_error$] )
  $| DATS_TIMS_TO_TSTMP( date     = date,
                        time     = time,
                        tzone    = tzone$[,
                        client   = client$]$[,
                        on_error = on_error$] )
  $| TSTMPL_TO_UTCL( tstmpl = tstmpl$[,
                    on_error = on_error$],$[
                    on_initial = on_initial$] )
  $| TSTMPL_FROM_UTCL( utcl = utcl$[,
                      on_null = on_null$] )
  $| DATS_TO_DATN( dats = dats$[,
                  on_error = on_error$],$[
                  on_initial = on_initial$] )
  $| DATS_FROM_DATN( datn = datn$[,
                    on_null = on_null$] )
  $| TIMS_TO_TIMN( tims = tims$[,
                  on_error = on_error$] )
  $| TIMS_FROM_TIMN( timn = timn$[,
                    on_null = on_null$] )...


Varianten:

1. ... TSTMP_TO_DATS( ... )

2. ... TSTMP_TO_TIMS( ... )

3. ... TSTMP_TO_DST( ... )

4. ... DATS_TIMS_TO_TSTMP( ... )

5. ... TSTMPL_TO_UTCL( ... )

6. ... TSTMPL_FROM_UTCL( ... )

7. ... DATS_TO_DATN( ... )

8. ... DATS_FROM_DATN( ... )

9. ... TIMS_TO_TIMN( ... )

10. ... TIMS_FROM_TIMN( ... )

Wirkung

Die SQL-Funktionen der Varianten 1 bis 4 konvertieren Zeitstempel in Datums- oder Zeitangaben und umgekehrt. Die SQL-Funktionen der Varianten 5 bis 10 konvertieren Zeitstempel, Datumsangaben und Zeitangaben zwischen unterschiedlichen Typen.

Die Argumente der Funktionen werden in runden Klammern als kommaseparierte Liste angegeben. Hinter der öffnenden und vor der schließenden runden Klammer muss ein Leerzeichen stehen. Die Funktionen haben Schlüsselwortparameter. Es gibt optionale und nicht-optionale Parameter, denen beim Aufruf Aktualparameter zugeordnet werden müssen bzw. können.

Als Aktualparameter können SQL-Ausdrücke und damit insbesondere einzelne Spalten, typgerechte Literale, SQL-Funktionen, Hostvariablen oder Hostausdrücke angegeben werden.

Die Konvertierungen erfolgen nach dem ABAP-spezifischen Regelwerk für Zeitzonen. Die zugehörigen DDIC-Datenbanktabellen müssen richtig gefüllt sein.

Hinweise

  • Die in den Varianten 5 bis 10 beschriebenen Funktionen haben Schlüsselwortparameter, die wiederum alle genau einen Pflichtparameter haben. Wenn nur der Pflichtparameter aufgerufen wird, kann er als Positionsparameter behandelt werden, d.h. er kann ohne den Formalparameternamen aufgerufen werden.
  • Die Verwendung der in den Varianten 1 bis 4 beschriebenen Funktionen führt zum strikten Modus ab Release .
  • Die Verwendung der in den Varianten 5 bis 10 beschriebenen Funktionen führt zum strikten Modus ab Release .

Variante 1

... TSTMP_TO_DATS( ... )


Wirkung

Die Funktion TSTMP_TO_DATS extrahiert aus einem Zeitstempel im Argument tstmp das lokale Datum für die in tzone angegebenen Zeitzone.

Der Aktualparameter für den Formalparameter tstmp muss vom eingebauten Datentyp DEC der Länge 15 ohne Nachkommastellen sein und einen gültigen Zeitstempel im Format YYYYMMDDHHMMSS enthalten. Für tzone muss ein Aktualparameter vom Typ CHAR der Länge 6 angegeben werden, der eine gültige Zeitzone enthält oder initial ist. Bei einer initialen Zeitzone wird keine Zeitverschiebung berechnet. Der Aktualparameter für den optionalen Formalparameter client muss vom eingebauten Dictionary-Typ CLNT sein und eine gültige Mandantenkennung enthalten. Der Standardwert ist die aktuelle Mandantenkennung. Diese Mandantenkennung wird bei der Auswertung der Systemtabellen des Regelwerks für Zeitzonen verwendet. Der Rückgabewert ist vom eingebauten Datentyp DATS.

Der optionale Parameter on_error steuert die Fehlerbehandlung. Der Aktualparameter für on_error muss ein Aufzählungsobjekt vom Aufzählungstyp ON_ERROR aus der Klasse SQL_TSTMP_TO_DATS sein und es können folgende Aufzählungskonstanten übergeben werden:

  • SQL_TSTMP_TO_DATS=>FAIL, ein Fehler führt zu einer Ausnahme (Standard)
  • SQL_TSTMP_TO_DATS=>SET_TO_NULL, ein Fehler führt zur Rückgabe des Null-Werts

Variante 2

... TSTMP_TO_TIMS( ... )


Wirkung

Die Funktion TSTMP_TO_TIMS extrahiert aus einem Zeitstempel im Argument tstmp die lokale Zeit für die in tzone angegebenen Zeitzone.

Für die Parameter tstmp, tzone, client und on_error gilt das Gleiche wie bei der Funktion TSTMP_TO_DATS, wobei die Klasse des Aufzählungstyps von on_error hier SQL_TSTMP_TO_TIMS ist.

Der Rückgabewert ist vom eingebauten Datentyp TIMS.

Variante 3

... TSTMP_TO_DST( ... )


Wirkung

Die Funktion TSTMP_TO_DST extrahiert aus einem Zeitstempel im Argument tstmp die Sommerzeitmarkierung für die in tzone angegebenen Zeitzone. Diese ist "X", wenn der Zeitstempel für die Zeitzone in der Sommerzeit liegt, ansonsten initial.

Für die Parameter tstmp, tzone, client und on_error gilt das Gleiche wie bei der Funktion TSTMP_TO_DATS, wobei die Klasse des Aufzählungstyps von on_error hier SQL_TSTMP_TO_DST ist.

Der Rückgabewert ist vom eingebauten Datentyp CHAR der Länge 1.

Variante 4

... DATS_TIMS_TO_TSTMP( ... )


Wirkung

Die Funktion DATS_TIMS_TO_TSTMP konstruiert aus einem in date angegebenen lokalen Datum und einer in time angegebenen lokalen Zeit der in tzone angegebenen Zeitzone einen Zeitstempel. Die Sommerzeit wird implizit berücksichtigt.

Der Aktualparameter für den Formalparameter date muss vom eingebauten Datentyp DATS sein und ein gültiges Datum enthalten. Der Aktualparameter für den Formalparameter time muss vom eingebauten Datentyp TIMS sein und eine gültige Zeit enthalten. Für die Parameter tzone, client und on_error gilt das Gleiche wie bei der Funktion TSTMP_TO_DATS, wobei die Klasse des Aufzählungstyps von on_error hier SQL_DATS_TIMS_TO_TSTMP ist.

Der Rückgabewert ist vom eingebauten Datentyp DEC der Länge 15 und stellt einen ABAP-spezifischen Zeitstempel in einer gepackten Zahl dar.

Variante 5

... TSTMPL_TO_UTCL( ... )


Wirkung

Die Funktion TSTMPL_TO_UTCL konvertiert den Zeitstempel tstmpl vom ABAP-Dictionary-Typ TIMESTAMPL in den eingebauten Dictionary-Typ UTCLONG.

Der Aktualparameter für den Formalparameter tstmpl muss vom eingebauten Datentyp DEC der Länge 21 ohne Nachkommastellen sein und einen gültigen Zeitstempel im Format YYYYMMDDHHMMSS enthalten.

Der optionale Parameter on_error steuert die Fehlerbehandlung:

Der Aktualparameter für on_error muss ein Aufzählungsobjekt vom Aufzählungstyp ON_ERROR aus der Klasse SQL_TSTMPL_TO_UTCL sein und es können folgende Aufzählungskonstanten übergeben werden:

  • SQL_TSTMPL_TO_UTCL=>C_ON_ERROR-FAIL, ein Fehler führt zu einer Ausnahme (Standard)
  • SQL_TSTMPL_TO_UTCL=>C_ON_ERROR-SET_TO_NULL, ein Fehler gibt den Null-Wert zurück
  • SQL_TSTMPL_TO_UTCL=>C_ON_ERROR-SET_TO_INITIAL, ein Fehler gibt den Initialwert zurück

Der optionale Parameter on_initial definiert die Behandlung von Argumenten mit Initialwerten:

Der Aktualparameter für on_initial muss ein Aufzählungsobjekt vom Aufzählungstyp ON_INITIAL aus der Klasse SQL_TSTMPL_FROM_UTCL sein und es können folgende Aufzählungskonstanten übergeben werden:

  • SQL_TSTMPL_FROM_UTCL=>C_ON_INITIAL-FAIL, ein Initialwert führt zu einer Ausnahme
  • SQL_TSTMPL_FROM_UTCL=>C_ON_INITIAL-SET_TO_NULL, ein Initialwert gibt den Null-Wert zurück
  • SQL_TSTMPL_FROM_UTCL=>C_ON_INITIAL-SET_TO_INITIAL, ein Initialwert gibt den Initialwert zurück (Standard)

Variante 6

... TSTMPL_FROM_UTCL( ... )


Wirkung

Die Funktion TSTMPL_FROM_UTCL konvertiert den Zeitstempel utcl vom eingebauten Dictionary-Typ UTCLONG in den eingebauten ABAP-Dictionary-Typ TIMESTAMPL. Es ist das Gegenstück zur Variante 5.

Der Aktualparameter für den Formalparameter utcl muss vom eingebauten Datentyp UTCLONG sein und soll einen gültigen Zeitstempel enthalten.

Der optionale Parameter on_null definiert die Behandlung von Null-Werten als Argumente. Der Aktualparameter für on_null muss ein Aufzählungsobjekt vom Aufzählungstyp ON_NULL aus der Klasse SQL_TSTMPL_FROM_UTCL sein und es können folgende Aufzählungskonstanten übergeben werden:

  • SQL_TSTMPL_FROM_UTCL=>C_ON_NULL-FAIL, ein Null-Wert führt zu einer Ausnahme
  • SQL_TSTMPL_FROM_UTCL=>C_ON_NULL-SET_TO_NULL, ein Null-Wert gibt den Null-Wert zurück
  • SQL_TSTMPL_FROM_UTCL=>C_ON_NULL-SET_TO_INITIAL, ein Null-Wert gibt den Initialwert zurück (Standard)

Variante 7

... DATS_TO_DATN( ... )


Wirkung

Die Funktion DATS_TO_DATN konvertiert ein Datum dats vom eingebauten ABAP-Dictionary-Datentyp DATS in den eingebauten ABAP-Dictionary-Typ DATN.

Der Aktualparameter für den Formalparameter dats muss vom eingebauten Datentyp DATS sein und ein gültiges Datum im Format YYYYMMDD enthalten. Für die Aktualparameter on_error und on_initial gilt das Gleiche wie für die Funktion TSTMPL_TO_UTCL (Variante 5, siehe oben). Hier ist SQL_DATS_TO_DATN die Klasse des Aufzählungstyps von on_error und on_initial.

Hinweis

Die gleiche Wirkung der Funktion DATS_TO_DATN kann durch Castingerreicht werden.

Variante 8

... DATS_FROM_DATN( ... )


Wirkung

Die Funktion DATS_FROM_DATN konvertiert ein Datum date vom eingebauten ABAP-Dictionary-Datentyp DATN in den eingebauten ABAP-Dictionary-Typ DATS. Es ist das Gegenstück zur Variante 7.

Der Aktualparameter für den Formalparameter date muss vom eingebauten Datentyp DATN sein und ein gültiges Datum im Format YYYYMMDD enthalten. Für den Aktualparameter on_null gilt das Gleiche wie für die Funktion TSTMPL_FROM_UTCL (Variante 6, siehe oben). Hier ist SQL_DATS_FROM_DATN die Klasse des Aufzählungstyps von on_null.

Hinweis

Die gleiche Wirkung der Funktion DATS_FROM_DATN kann durch Casting erreicht werden.

Variante 9

... TIMS_TO_TIMN( ... )


Wirkung

Die Funktion TIMS_TO_TIMN konvertiert die Zeitangabe tims vom ABAP-Dictionary-Typ TIMS in den ABAP-Dictionary-Typ TIMN.

Der Aktualparameter für den Formalparameter tims muss vom eingebauten Datentyp TIMS sein und eine gültige Zeit im Format HHMMSS enthalten. Für den Aktualparameter on_error gilt das Gleiche wie für die Funktion TSTMPL_TO_UTCL (Variante 1, siehe oben). Hier ist SQL_TIMS_TO_TIMN die Klasse des Aufzählungstyps von on_error.

Hinweis

Die gleiche Wirkung der Funktion TIMS_TO_TIMN kann durch Castingerreicht werden.

Variante 10

... TIMS_FROM_TIMN( ... )


Wirkung

Die Funktion TIMS_FROM_TIMN konvertiert die Zeitangabe time vom ABAP-Dictionary-Typ TIMN in den ABAP-Dictionary-Typ TIMS. Es ist das Gegenstück zur Variante 9.

Der Aktualparameter für den Formalparameter time muss vom eingebauten Datentyp TIMN sein und eine gültige Zeit im Format HHMMSS enthalten. Für den Aktualparameter on_null gilt das Gleiche wie für die Funktion TSTMPL_TO_UTCL (Variante 6, siehe oben). Hier ist SQL_TIMS_FROM_TIMN die Klasse des Aufzählungstyps von on_null.

Hinweis

Die gleiche Wirkung der Funktion TIMS_FROM_TIMN kann durch Casting erreicht werden.

Beispiel

Extraktion von Datum, Zeit und Sommerzeitmarkierung des aktuellen UTC-Zeitstempels über die Konvertierungsfunktionen TSTMP_TO_DATS, TSTMP_TO_TIMS und TSTMP_TO_DST extrahiert. Die Werte der Spalten DATS1 und TIMS1 der DDIC-Datenbanktabelle DEMO_EXPRESSIONS werden mit der Konvertierungsfunktion DATS_TIMS_TO_TSTMP zu einem Zeitstempel zusammengesetzt. Die Konvertierungsfunktionen TSTMPL_TO_UTCL und TSTMPL_FROM_UTCL konvertieren Zeitstempel zwischen den Formaten TIMESTAMPL und utclong. Die Konvertierungsfunktionen DATS_TO_DATN und DATS_FROM_DATN konvertieren Datumsangaben zwischen DATS und DATN. Die Konvertierungsfunktionen TIMS_TO_TIMN und TIMS_FROM_TIMN konvertieren Zeitangaben zwischen TIMS und TIMN. Das Programm DEMO_SQL_DATE_TIME führt die Anweisung aus und zeigt das Ergebnis an.






CL_GUI_FRONTEND_SERVICES - Frontend Services   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 25331 Date: 20240523 Time: 114550     sap01-206 ( 261 ms )