Zum Inhalt springen

Oracle: Arbeitstag und Feiertag ermitteln


Alex_winf01

Empfohlene Beiträge

Hallo liebe Forengemeinde,

ich muss für einen Kalender ermitteln, ob es sich um einen Arbeitstag handelt. Wie kann ich in PL/SQL ermitteln, ob ein bestimmter Tag ein Arbeitstag ist? Wie kann ich ermitteln, ob ein bestimmtes Datum ein Feiertag ist? Gibt es da in PL/SQL vordefinierte Funktionen? Samstag, Sonntag sind bei uns in Deutschland z. B. Wochenende. In anderen Ländern ist das anders.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ all

danke schon mal für die Antworten.

@ dbwizard

für die Arbeitstage habe ich eine Tabelle, wo die arbeitsfreien Tage drinnstehen. Damit nun mein Anwender nicht z. B. die Feiertage oder Wochenende "manuell" als arbeitsfrei markieren muss, hatte ich gedacht, die Feiertage und Wochenenden dort bereits einzutragen.

Wie würdest Du das machen? Ich brauche einen Kalender, wo für jedes Jahr abgebildet ist, welcher Tag arbeitsfrei ist und welcher nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

wie in meinem Link gepostet. Ich denke es ist recht elegent, sämtliche Feiertage zu jedem entsprechenden Land in eine Tabelle zu packen. Diese kannst abfragen und wieder mit einer If-Abfrage prüfen, ob dieser Tag in der Tabelle steht oder nicht. Manche (wenn nicht alle?!) Feiertage werden entweder nach einem bestimmten Algorithmus berechnet, oder sind eben fest (3. Oktober, 1. Januar, 25. u 26. Dezember).

Wenn du das global machen möchtest, wirst du viel zu tun haben. Ich finde das Thema recht spannend. Wenn du Hilfe brauchst, mach ich gerne mit. ;)

Schau mal hier:

http://de.wikipedia.org/wiki/Feiertage_in_Japan

http://de.wikipedia.org/wiki/Staatliche_Feiertage_in_den_Vereinigten_Staaten

http://de.wikipedia.org/wiki/Feiertage_in_Deutschland

Bearbeitet von carstenj
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Alex,

Wir haben hier für einen Kunden eine Pesonaleinsatzplanung im Betrieb. In der Schweiz sind die Feiertage in den einzelnen Kantonen und z.t. sogar Städten unterschiedlich. Dies haben wir gelöst, indem wir eine Tabelle Feiertage, alle Kantone (D=Bundesländer) sowie eine Relationstabelle Feiertage-Kantone erstellt haben (Wir gehen in unserer Applikation nicht "tiefer" als auf Kantonsebene.

(auszug)



DESC code_publicholiday

/


Name                           Data Type                     

------------------------------ ------------------------------

PUBLICHOLIDAY_ID               NUMBER                NOT NULL

ISACTIVE                       NUMBER(1,0)           NOT NULL

VALIDFROM                      DATE                  NOT NULL

CREATIONDATE                   TIMESTAMP(6)          NOT NULL

CREATEDBY_ID                   NUMBER                NOT NULL

CHANGEDATE                     TIMESTAMP(6)          NOT NULL

CHANGEDBY_ID                   NUMBER                NOT NULL

SORTKEY                        NUMBER

HOLIDAYDATE                    DATE                  NOT NULL

REPEATEVERYYEAR                NUMBER(1,0)           NOT NULL

DESCRIPTIONGE                  VARCHAR2(100 BYTE)    NOT NULL

DESCRIPTIONFR                  VARCHAR2(100 BYTE)    NOT NULL

DESCRIPTIONIT                  VARCHAR2(100 BYTE)    NOT NULL

VALIDALLCANTONS                NUMBER(1,0)           NOT NULL



DESC CODE_CANTON

/


Name                           Data Type                     

------------------------------ ------------------------------

CANTON_ID                      NUMBER                NOT NULL

CANTON_KURZ                    VARCHAR2(2 BYTE)      NOT NULL

CANTON_LANG_D                  VARCHAR2(40 BYTE)

CANTON_LANG_F                  VARCHAR2(40 BYTE)

CANTON_LANG_I                  VARCHAR2(40 BYTE)

ISVALID                        NUMBER(1,0)           NOT NULL

ISDEFAULT                      NUMBER(1,0)           NOT NULL

ISACTIVE                       NUMBER(1,0)           NOT NULL

CREATOR                        VARCHAR2(10 BYTE)

CREATIONDATE                   DATE

LASTCHANGE                     VARCHAR2(10 BYTE)

LASTCHANGEDATE                 DATE

VALIDFROM                      DATE                  NOT NULL



DESC REL_HOLIDAY_CANTON

/

Name                           Data Type                     

------------------------------ ------------------------------

PUBLICHOLIDAY_ID               NUMBER                NOT NULL

PUBLICHOLIDAYVALIDFROM         DATE                  NOT NULL

CANTON_ID                      NUMBER                NOT NULL

CANTONVALIDFROM                DATE                  NOT NULL



Grüsse

Link zu diesem Kommentar
Auf anderen Seiten teilen

@ all

danke für Eure Hilfe. Letzte Frage: Ich habe mehrere Standorte. Jeder Standort hat genau einen Kalender. Der Kalender ist höchstens einem Standort zugewiesen. D. h. es wird einen Default-Kalender geben. Wie ich den Standort-spezifischen pflegen muss/möchte weiss ich schon. Da habe ich links eine lListe mit Standort/Kalender, wo ich die standortspezifischen pflegen kann. Wie würdet ihr das aber mit dem Default-Kalender machen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...