CalculateNextTargetDay()
CalculateNextTargetDay() – Errechnen eines TARGET2-Tages
Ein TARGET2-Tag ist ein international gültiger Bankarbeitstag. An diesen Tagen werden z.B. Wertstellungen im SEPA-Zahlungsverkehr durchgeführt.
TARGET2-Tage sind Mo-Fr, außer 1. Januar, Karfreitag, Ostermontag, 1. Mai, 25. & 26. Dezember.
Die Funktion errechnet zu einem übergebenem Stichtag den nächsten gültigen TARGET2-Tag. Ob der nächstgültige Tag vor oder nach dem Stichtag liegt, kann über die Angabe der Terminierungsrichtung angegeben werden.Die Differenz in Tagen wird dazu verwendet, einen Vorlauf zu ermitteln. Fallen in diesen Vorlauf "Nicht-TARGET2-Tage", werden diese übersprungen.
Kann verwendet werden, um zu ermitteln, wann eine SEPA-Zahlung bei der Hausbank eingereicht, werden muss, um den Ausführungstermin einhalten zu können.Kann ebenso Anwendung finden, wenn für eine SEPA-Vorankündigung das Abbuchungsdatum errechnet werden soll.
Parameter | Beschreibung |
---|---|
dDatum:D | Stichtag |
nDiffTage:N | absolute Differenz in Tagen; default=0 |
nRichtung:N | Falls das errechnete Datum kein TARGET2-Tag ist wird so lange ein Tag hinzugezählt oder abgezogen, bis es ein TARGET2-Tag ist; default=1 |
Rückgabewert
Datum - der nächstgültige TARGET2-Tag
Beispiel
| dDatum |
// Der Stichtag ist Samstag der 01.01.2022 // Der nächste TARGET2-Tag ist Montag der 03.01.2022
dDatum := StrToDateTime('01.01.2022'),
WriteLn(DToC(CalculateNextTargetDay(dDatum, 0, 1))), // Ergebnis: 03.01.22
// Der Stichtag ist Montag der 03.10.2022 // Der nächste TARGET2-Tag der 2 Tage vor dem Stichtag liegt ist Donnerstag der 29.09.2022
dDatum := StrToDateTime('03.10.2022'),
WriteLn(DToC(CalculateNextTargetDay(dDatum, 2, 2))), // Ergebnis: 29.09.22
// Der Stichtag ist Sonntag der 25.12.2022 // Der nächste TARGET2-Tag ist Dienstag der 27.12.2022
dDatum := StrToDateTime('25.12.2022'),
WriteLn(DToC(CalculateNextTargetDay(dDatum, 0, 1))), // Ergebnis: 27.12.22