Ansicht
Dokumentation

ABENCDS_F1_DATE_FUNCTIONS - CDS F1 DATE FUNCTIONS

ABENCDS_F1_DATE_FUNCTIONS - CDS F1 DATE FUNCTIONS

TXBHW - Original Tax Base Amount in Local Currency   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

ABAP CDS - Datumsfunktionen

Syntax

... DATS_IS_VALID(date)
  $| DATS_DAYS_BETWEEN(date1,date2)
  $| DATS_ADD_DAYS(date,days,on_error)
  $| DATS_ADD_MONTHS(date,months,on_error) ...


Varianten:

1. ... DATS_IS_VALID(date)

2. ... DATS_DAYS_BETWEEN(date1,date2)

3. ... DATS_ADD_DAYS(date,days,on_error)

4. ... DATS_ADD_MONTHS(date,months,on_error)

Wirkung

Diese Funktionen führen in einer CDS-View Operationen mit Argumenten des eingebauten Datentyps DATS aus. Die Funktionen haben 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 DATS_IS_VALID einen Null-Wert zurück.

Hinweis

Über die Sitzungsvariable $session.system_date besteht in einer CDS-View direkter Zugriff auf das aktuelle Systemdatum. Außerdem ermöglicht eine spezielle Annotation @Environment.systemField die implizite Übergabe des Werts des ABAP-Systemfelds sy-datum an Eingabeparameter.

Variante 1

... DATS_IS_VALID(date)


Wirkung

Die Funktion DATS_IS_VALID stellt fest, ob eine Datumsangabe date ein gültiges Datum im Format YYYYMMDD enthält. Der Aktualparameter muss vom eingebauten Datentyp DATS sein. Das Ergebnis ist vom Datentyp INT4. Ein gültiges Datum ergibt den Wert 1 alle anderen Eingabewerte inklusive des Null-Werts ergeben den Wert 0.

Hinweis

Der Wert "00010101" ist ein gültiges Datum, der Wert "00000000" aber nicht.

Variante 2

... DATS_DAYS_BETWEEN(date1,date2)


Wirkung

Die Funktion DATS_DAYS_BETWEEN berechnet die Differenz zweier Datumsangaben date1 und date2 in Tagen. Die Aktualparameter müssen vom eingebauten Datentyp DATS sein und sollten ein gültiges Datum im Format YYYYMMDD enthalten. Ungültige Datumsangaben werden vor der Berechnung initialisiert bzw. auf den Wert "00010101" gesetzt. Das Ergebnis ist vom Datentyp INT4. Wenn date2 größer als date1 ist, ist das Ergebnis positiv im umgekehrten Fall negativ.

Hinweis

Vor der Berechnung der Differenz werden die Datumsangaben wie in ABAP in ganze Zahlen konvertiert und es gilt die entsprechende Regel.

Variante 3

... DATS_ADD_DAYS(date,days,on_error)


Wirkung

Die Funktion DATS_ADD_DAYS addiert days Tage auf eine Datumsangabe date.

  • Der Aktualparameter date muss vom eingebauten Datentyp DATS sein und sollte ein gültiges Datum im Format YYYYMMDD enthalten. Eine ungültige Datumsangabe wird vor der Berechnung initialisiert bzw. auf den Wert "00010101" gesetzt.
  • Der Aktualparameter days muss vom eingebauten Datentyp INT4 sein.
  • Der Aktualparameter on_error 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

  • "UNCHANGED" ein Fehler führt zur Rückgabe des unveränderten Werts von date

Die Groß-/Kleinschreibung wird berücksichtigt. Ein falsch angegebener Wert führt zu einer Ausnahme.

Das Ergebnis ist vom Datentyp DATS. Wenn days positiv ist, wird die Anzahl der Tage zu date addiert und ansonsten subtrahiert. Wenn die Berechnung zu einem ungültigen Datum führt, wird eine Fehlerbehandlung gemäß der Angabe in on_error durchgeführt.

Hinweis

Für die Berechnung wird die Datumsangabe intern wie in ABAP in eine ganze Zahl konvertiert und das Ergebnis wieder in ein Datum konvertiert und es gelten die entsprechenden Regeln.

Variante 4

... DATS_ADD_MONTHS(date,months,on_error)


Wirkung

Die Funktion DATS_ADD_MONTHS addiert months Monate auf eine Datumsangabe date.

  • Der Aktualparameter date muss vom eingebauten Datentyp DATS sein und sollte ein gültiges Datum im Format YYYYMMDD enthalten. Eine ungültige Datumsangabe wird vor der Berechnung initialisiert bzw. auf den Wert "00010101" gesetzt.
  • Der Aktualparameter months muss vom eingebauten Datentyp INT4 sein.
  • Für den Aktualparameter on_error gilt das Gleiche wie bei DATS_ADD_DAYS.

Das Ergebnis ist vom Datentyp DATS. Wenn months positiv ist, wird die Anzahl der Monate zu date addiert und ansonsten subtrahiert.

Es wird versucht ein Datum mit dem gleichen Tag in einem entsprechend früheren oder späteren Monat zu bilden. Wenn der maximal mögliche Tag eines Monats überschritten wird, wird der höchstmögliche Tag verwendet. Wenn die Berechnung zu einem ansonsten ungültigen Datum führt, wird eine Fehlerbehandlung gemäß der Angabe in on_error durchgeführt.

Beispiel

Die folgende CDS-View wendet Datumsfunktionen in der SELECT-Liste auf Spalten der Datenbanktabelle DEMO_EXPRESSIONS an. Das Programm DEMO_CDS_DATE_FUNCTIONS greift mit SELECT auf die View zu. Die Spalten DATS1 und DATS2 der Datenbanktabelle und die Aktualparameter für die Eingabeparameter der View können mit beliebigen Werten versehen werden. Ungültige Werte oder Werte, die zu ungültigen Ergebnissen führen, werden bei DATS_ADD_DAYS und DATS_ADD_MONTHS gemäß der in der View definierten Fehlerbehandlung behandelt.






ROGBILLS - Synchronize billing plans   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 12127 Date: 20240523 Time: 172521     sap01-206 ( 145 ms )