Ansicht
Dokumentation
ABENCDS_F1_TIMESTAMP_FUNCTIONS - CDS F1 TIMESTAMP FUNCTIONS
ROGBILLS - Synchronize billing plans rdisp/max_wprun_time - Maximum work process run timeDiese Dokumentation steht unter dem Copyright der SAP AG.
- Zeitstempelfunktionen
... TSTMP_IS_VALID(tstmp)
$| TSTMP_CURRENT_UTCTIMESTAMP()
$| TSTMP_SECONDS_BETWEEN(tstmp1,tstmp2,on_error)
$| TSTMP_ADD_SECONDS(tstmp,seconds,on_error) ...
Varianten:
1. ... TSTMP_IS_VALID(tstmp)
2. ... TSTMP_CURRENT_UTCTIMESTAMP()
3. ... TSTMP_SECONDS_BETWEEN(tstmp1,tstmp2,on_error)
4. ... TSTMP_ADD_SECONDS(tstmp,seconds,on_error)
Wirkung
Diese Funktionen führen in einer CDS-View Operationen mit Argumenten des eingebauten Datentyps DEC der Länge 15 bzw. des Datenelements TIMESTAMP aus. Der Inhalt eines solchen Arguments wird als ABAP-spezifischer Zeitstempel in einer gepackten Zahl interpretiert.
Die Funktionen haben mit der Ausnahme von TSTMP_CURRENT_UTCTIMESTAMP positionale Parameter, denen beim Aufruf Aktualparameter zugeordnet werden müssen. Es gibt derzeit keine optionalen Parameter. Als Aktualparameter können passende Felder einer Datenquelle, Literale, Parameter, Pfadausdrücke, eingebaute Funktionen oder Ausdrücke angegeben werden. An den Parameter on_error können ausschließlich Literale übergeben werden. Wenn ein Aktualparameter den Null-Wert enthält, gibt jede Funktion außer TSTMP_IS_VALID einen Null-Wert zurück.
Hinweise
- Die Zeitstempelfunktionen ermöglichen die Bearbeitung von Zeitstempeln, die im ABAP-spezifischen Format als gepackte Zahl in Datenbanktabellen abgelegt sind, auf der Datenbank. Wie in ABAP fassen andere Zugriff auf solche Felder diese als normale numerische Werte auf.
- Konvertierungsfunktionen erlauben die Umwandlung eines Zeitstempels in Datums- und Zeitfelder und umgekehrt.
Variante 1
... TSTMP_IS_VALID(tstmp)
Wirkung
Die Funktion TSTMP_IS_VALID stellt fest, ob ein Argument tstmp einen
gültigen Zeitstempel im Format
YYYYMMDDHHMMSS enthält. Der Aktualparameter muss vom eingebauten Datentyp
DEC der Länge 15 ohne Nachkommastellen sein. Das Ergebnis ist vom Datentyp
INT4. Ein gültiger Zeitstempel ergibt den Wert 1 alle anderen Eingabewerte inklusive des Null-Werts ergeben den Wert 0.
Variante 2
... TSTMP_CURRENT_UTCTIMESTAMP()
Wirkung
Die Funktion TSTMP_CURRENT_UTCTIMESTAMP gibt einen UTC-Zeitstempel nach POSIX-Standard zurück. Das Ergebnis ist vom Datentyp DEC der Länge 15 ohne Nachkommastellen.
Hinweise
- Der UTC-Zeitstempel wird aus der Uhr des Datenbankservers erstellt. Das Systemdatum und die Systemzeit des AS ABAP, aus denen dessen Zeitstempel mit GET TIME STAMP erstellt werden, sind mit der Uhr des Datenbankservers synchronisiert.
- Bei mehrfacher Verwendung der Funktion TSTMP_CURRENT_UTCTIMESTAMP
innerhalb einer View ist nicht garantiert, dass jeder Aufruf innerhalb eines Datenbankzugriffs das gleiche Ergebnis hat. Spätere Aufrufe können entsprechend spätere Zeitstempel liefern.
Variante 3
... TSTMP_SECONDS_BETWEEN(tstmp1,tstmp2,on_error)
Wirkung
Die Funktion TSTMP_SECONDS_BETWEEN berechnet die Differenz zweier Zeitstempel tstmp1 und tstmp2 in Sekunden. Die Aktualparameter müssen vom eingebauten Datentyp DEC der Länge 15 ohne Nachkommastellen sein und gültige Zeitstempel im Format YYYYMMDDHHMMSS enthalten. Ungültige Zeitstempel führen zu einem Fehler. Wenn tstmp2 größer als tstmp1 ist, ist das Ergebnis positiv im umgekehrten Fall negativ.
Der Aktualparameter on_error steuert die Fehlerbehandlung. Er muss vom eingebauten Datentyp CHAR der Länge 10 sein und muss einen der folgenden Werte haben:
- "FAIL", ein Fehler führt zu einer Ausnahme
- "NULL", ein Fehler führt zur Rückgabe des Null-Werts
- "INITIAL" ein Fehler führt zur Rückgabe des Initialwerts
Die Groß-/Kleinschreibung wird berücksichtigt. Ein falsch angegebener Wert führt zu einer Ausnahme.
Variante 4
... TSTMP_ADD_SECONDS(tstmp,seconds,on_error)
Wirkung
Die Funktion TSTMP_ADD_SECONDS addiert seconds Sekunden auf einen Zeitstempel tstmp. Der Aktualparameter tstmp muss vom eingebauten Datentyp DEC der Länge 15 ohne Nachkommastellen sein und einen gültigen Zeitstempel im Format YYYYMMDDHHMMSS enthalten. Ein ungültiger Zeitstempel führt zu einem Fehler. Der Aktualparameter seconds muss ebenfalls vom eingebauten Datentyp DEC der Länge 15 ohne Nachkommastellen sein. Negative Werte werden abgezogen. Wenn das Ergebnis ungültig ist, kommt es zu einem Fehler.
Der Aktualparameter on_error steuert
die Fehlerbehandlung. Es gilt das Gleiche wie bei der Funktion
TSTMP_SECONDS_BETWEEN. Mit einem zusätzlichen Wert "UNCHANGED" kann angegeben werden,
dass ein Fehler zur Rückgabe des unveränderten Werts von tstmp führt.
Beispiel
Die folgende CDS-View wendet Zeitstempelfunktionen in der SELECT-Liste auf Spalten der Datenbanktabelle DEMO_EXPRESSIONS an. Das Programm DEMO_CDS_TIMESTAMP_FUNCTIONS greift mit SELECT auf die View zu. Die Spalte NUM1 der Datenbanktabelle wird mit einem Wert versehen, der als Sekunden auf einen Zeitstempel in der Spalte TIMESTAMP1 addiert wird. Zwischen dieser Summe und einem Zeitstempel, der von der Funktion TSTMP_CURRENT_UTCTIMESTAMP auf der Datenbank besorgt wird, wird die Differenz gebildet. Zwischen dem im ABAP-Programm und dem auf der Datenbank erstellten Zeitstempel kann eine Verzögerung wait eingebaut werden.
General Material Data General Data in Customer Master
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 11249 Date: 20240606 Time: 112220 sap01-206 ( 145 ms )