Zum Inhalt

Holiday data

HOLIDAY_DATA

*.NAME STRING(30) Name des Feiertages
*.DAY SINT Tag des Feiertages
*.MONTH SINT Monat des Feiertages
*.USE SINT aktiviert den Feiertag (0=aus, 1=ein)

Die Struktur HOLIDAY_DATA findet Verwendung zur Definition und Beschreibung von Feiertagen.

Die Struktur wird zum Beispiel von Modulen wie CALENDAR_CALC und HOLIDAY verwendet, indem ein Array vom Datentyp HOLIDAY_DATA zur Definition der jährlichen Feiertage verwendet wird.

Es sind 3 verschiedene Arten von Definitionen vorgesehen:

DAY 1..31, MONTH 1..12, USE 1 (Feiertag an einem festen Datum)

DAY ±X, MONTH 0, USE 1 (Feiertag ist X Tage vor oder nach Ostern)

DAY 1..31, MONTH 1..12, USE -7..-1 (Feiertag an einem Wochentag vor einem Datum, hierbei ist -1 Montag und -7 Sonntag.

Beispiel:

Beispiele:

(NAME := 'Neujahr', DAY := 1, MONTH := 1, USE := 1) Feiertag mit einem festen Datum USE=1 bedeutet er ist aktiv.

(NAME := 'Neujahr', DAY := 1, MONTH := 1, USE := 0) Feiertag mit einem festen Datum USE=0 bedeutet er ist nicht aktiv.

(NAME := 'Karfreitag', DAY := -2, MONTH := 0, USE := 1) Feiertag mit einem festen Offset vom Ostersonntag, in diesem Fall ist der Karfreitag 2 Tage vor dem Ostersonntag.

(NAME := 'Buß und Bettag', DAY := 23, MONTH := 11, USE := -3) Feiertag am letzten Mittwoch vor dem 23.11. eines Jahres.

Beispiele für Feiertagsdefinitionen:

Array für Bayerische Feiertage

HOLIDAY_DE : ARRAY[0..29] OF HOLIDAY_DATA := (name := 'Neujahr', day := 1, month := 1, use := 1),

(name := 'Heilig Drei Könige', day := 6, month := 1, use := 1),

(name := 'Karfreitag', day := -2, month := 0, use := 1),

(name := 'Ostersonntag', day := 0, month := 0, use := 1),

(name := 'Ostermontag', day := 1, month := 0, use := 1),

(name := 'Tag der Arbeit', day := 1, month := 5, use := 1),

(name := 'Christi Himmelfahrt', day := 39, month := 0, use := 1),

(name := 'Pfingstsonntag', day := 49, month := 0, use := 1),

(name := 'Pfingstmontag', day := 50, month := 0, use := 1),

(name := 'Fronleichnam', day := 60, month := 0, use := 1),

(name := 'Augsburger Friedensfest', day := 8, month := 8, use := 0),

(name := 'Maria Himmelfahrt', day := 15, month := 8, use := 1),

(name := 'Tag der Deutschen Einheit', day := 3, month := 10, use := 1),

(name := 'Reformationstag', day := 31, month := 10, use := 0),

(name := 'Allerheiligen', day := 1, month := 11, use := 1),

(name := 'Buss und Bettag', day := 23, month := 11, use := 0),

(name := '1. Weihnachtstag', day := 25, month := 12, use := 1),

(name := '2. Weihnachtstag', day := 26, month := 12, use := 1);

Array für Österreichische Feiertage

HOLIDAY_AT : ARRAY[0..29] OF HOLIDAY_DATA := (name := 'Neujahr', day := 1, month := 1, use := 1),

(name := 'Heilig Drei Könige', day := 6, month := 1, use := 1),

(name := 'Karfreitag', day := -2, month := 0, use := 1),

(name := 'Ostersonntag', day := 0, month := 0, use := 1),

(name := 'Ostermontag', day := 1, month := 0, use := 1),

(name := 'Christi Himmelfahrt', day := 39, month := 0, use := 1),

(name := 'Pfingstsonntag', day := 49, month := 0, use := 1),

(name := 'Pfingstmontag', day := 50, month := 0, use := 1),

(name := 'Fronleichnam', day := 60, month := 0, use := 1),

(name := '', day := 8, month := 8, use := 0),

(name := 'Maria Himmelfahrt', day := 15, month := 8, use := 1),

(name := '', day := 3, month := 10, use := 0),

(name := '', day := 31, month := 10, use := 0),

(name := 'Allerheiligen', day := 1, month := 11, use := 1),

(name := 'Maria Empfängnis', day := 8, month := 12, use := 1),

(name := '1. Weihnachtstag', day := 25, month := 12, use := 1),

(name := '2. Weihnachtstag', day := 26, month := 12, use := 1);

Französische Feiertage

HOLIDAY_FR : ARRAY[0..29] OF HOLIDAY_DATA := (name := 'Nouvel an', day := 1, month := 1, use := 1),

(name := 'St Valentin', day := 14, month := 2, use := 0),

(name := 'Vendredi Saint (alsace)', day := -2, month := 0, use := 0),

(name := 'Dimanche de pâques', day := 0, month := 0, use := 1),

(name := 'Lundi de pâques', day := 1, month := 0, use := 1),

(name := 'Jeudi de Ascension', day := 39, month := 0, use := 1),

(name := 'dimanche de Pentecôte ', day := 49, month := 0, use := 1),

(name := 'jeudi de la Trinité', day := 60, month := 0, use := 0),

(name := 'Fête du travail', day := 1, month := 5, use := 1),

(name := 'Victoire 1945 ', day := 8, month := 5, use := 1),

(name := 'Prise de La bastille', day := 14, month := 7, use := 1),

(name := '15 Août 1944', day := 15, month := 8, use := 1),

(name := 'Halloween', day := 31, month := 10, use := 0),

(name := 'Armistice 1918', day := 11, month := 11, use := 1),

(name := 'Noël', day := 25, month := 12, use := 1),

(name := 'Saint Étienne (alsace)', day := 26, month := 12, use := 0),

(name := 'Fête de la musique', day := 21, month := 6, use := 0);

Belgien Deutschsprachig

HOLIDAY_BED : ARRAY[0..29] OF HOLIDAY_DATA := (name := 'Neujahr', day := 1, month := 1, use := 1),

(name := 'Ostersonntag', day := 0, month := 0, use := 1),

(name := 'Ostermontag', day := 1, month := 0, use := 1),

(name := 'Tag der Arbeit', day := 1, month := 5, use := 1),

(name := 'Christi Himmelfahrt', day := 39, month := 0, use := 1),

(name := 'Pfingsten', day := 49, month := 0, use := 1),

(name := 'Pfingstmontag', day := 50, month := 0, use := 1),

(name := 'Nationalfeiertag', day := 21, month := 7, use := 1),

(name := 'Mariä Himmelfahrt', day := 15, month := 8, use := 1),

(name := 'Allerheiligen', day := 1, month := 11, use := 1),

(name := 'Feiertag DG', day := 15, month := 11, use := 1),

(name := 'Heiligabend', day := 24, month := 12, use := 1),

(name := '1. Weihnachtstag', day := 25, month := 12, use := 1),

(name := '2. Weihnachtstag', day := 26, month := 12, use := 1),

(name := 'Silvester', day := 31, month := 12, use := 1);

Italien Südtirol

HOLIDAY_ITD : ARRAY[0..29] OF HOLIDAY_DATA := (name := 'Neujahr', day := 1, month := 1, use := 1),

(name := 'Heilig Drei Könige', day := 6, month := 1, use := 1),

(name := 'Ostersonntag', day := 0, month := 0, use := 1),

(name := 'Ostermontag', day := 1, month := 0, use := 1),

(name := 'Tag der Befeiung Italiens', day := 25, month := 4, use := 1),

(name := 'Tag der Arbeit', day := 1, month := 5, use := 1),

(name := 'Pfingsten', day := 49, month := 0, use := 1),

(name := 'Pfingstmontag', day := 50, month := 0, use := 1),

(name := 'Tag der Republik Italien', day := 2, month := 6, use := 1),

(name := 'Mariä Himmelfahrt', day := 15, month := 8, use := 1),

(name := 'Allerheiligen', day := 1, month := 11, use := 1),

(name := 'Mariä Empfängnis', day := 8, month := 12, use := 1),

(name := 'Heiligabend', day := 24, month := 12, use := 0),

(name := '1. Weihnachtstag', day := 25, month := 12, use := 1),

(name := '2. Stephanstag', day := 26, month := 12, use := 1); *)