Olli_Master Geschrieben 12. März 2002 Teilen Geschrieben 12. März 2002 Hi leute, ich hoffe ihr könnt mir helfen. :confused: Ich arbeite gerade an einer Auswertung für eine Oracle Anwendung. Es geht um die Berechnung der Auslastung von Dienstfahrzeuge. Ich habe die Anzahl der Einsatztage im Monat und möchte nun den prozentualen Anteil der Einsatztage im Verhältnis zu den Arbeitstagen im Monat ermitteln. Und genau da liegt das Problem. Die Berechnung ist einfach aber... Wie bekomme ich (ggf. dynamisch) die Anzahl der Arbeitstage in einem bestimmten Monat heraus. Beispiel: Im Januar 2002 sind es 31 Tage minus die Wochenenden sind es 23 und dann noch Neujahr als Feiertag abgezogen sind es endgültig 22. Das möchte ich nun aber für alle Monate des Jahres 2002, 2003 usw. machen. --- Eine Idee wäre es ja auch die Daten in Tabellenform zu hinterlegen: Monat Jahr Arbeitstage ------------------------------- 01 2002 22 .. 12 2010 ?? Gibt es ein Progrämmchen was einen die Feiertage ausrechnen kann - Outlook vielleicht? Alles muss am Ende in Oracle laufen. Außerdem möchte ich nicht unbedingt was eigenes dafür programmieren, sondern auf etwas bestehendes zurückgreifen.. (sowas muss es doch schon irgendwo geben, oder?) Ein guter Tipp wäre vielleicht schon hilfreich... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 12. März 2002 Teilen Geschrieben 12. März 2002 Hallo, die Berechnung ist leider gar nicht so einfach. Außerdem hängt die Anzahl der Arbeitstage auch noch vom Bundesland ab. Die meisten beweglichen Feiertage orientieren sich an Ostern. Nur Buß und Bettag hängt vom Wochentag des Heiligabends ab. Folgende Funktion berechnet den Offset der Feiertage zu Ostern: Die komplette Berechnung kann ich leider nicht posten, da wir hier eigene Klassen für Calendar und Date haben und dir der Code somit nichts bringen würde. (Das ganze ist übrigens in Java, von Oracle habe ich in der hinsicht keine Ahnung.) Gruß Jaraz ----------------------------------------------------------------------- /** * Funktion offset: * <p>Berechnung des Offsets von beweglichen Feiertagen, * die von Ostern abhängen. Funktionstüchtigkeit * nur bis zum Jahr 8202 ! * Ergebnis Beispiele: * <br>Rosenmontag: Tage ab dem 2. bzw. (bei Schaltjahren) 3. Februar * <br>Ostersonntag: Tage ab dem 22. März * <br>Christi Himmelfahrt: Tage ab dem 30. April * <br>Pfingstsonntag: Tage ab dem 10. Mai * <br>Fronleichnam: Tage ab dem 21. Mai * * @param j * @return int offset */ static int offset (int j) { // Ergebnisbereich: 0..34 int a = j%19; // Position im Mentonischen Zyklus int b = j%4; int c = j%7; int m = (8*(j/100) + 13)/25 - 2; int s = j/100 - j/400 - 2; int mm = (15 + s - m)%30; int n = (6 + s)%7; int d = (mm + 19*a)%30; int dd = (d == 29) ? 28 : (d == 28 && a >= 11) ? 27 : d; return dd + ((2*b + 4*c + 6*dd + n)%7); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Olli_Master Geschrieben 12. März 2002 Autor Teilen Geschrieben 12. März 2002 Klingt ja ganz schön kompliziert. Ich wollte eigentlich nichts kompliziertes mehr in das System reinpacken (es ist schon kompliziert genug). Bisher habe ich eine SQL-Abfrage die die Anzahl der Tage deren Wochentag IN (Montag,Dienstag,Mittwoch, Donnerstag, Freitag) ist. Das ist schon mal nicht schlecht. Normalerweise ist es so, dass ein Unternehmen einen eigenen "Holiday-Calender" pflegt, bei uns ist das allerdings ist anders. Ich möchte eigentlich die Berechnung für die Feiertage nicht neu erfinden - mir würde eine Liste der Feiertage (am besten für Thüringen) schon genügen. Die müsste dann aber schon für einige Jahre im Voraus sein... --------- Übrigens ab Oracle 8i gibts den Oracle JServer + eine komplette Java-Entwicklungsumgebung. Es wäre also nicht großartig schwierig bestehende Java-Klassen zu adaptieren :-) Danke trotzdem. Hat sonst noch jemand ne Idee? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 12. März 2002 Teilen Geschrieben 12. März 2002 Original geschrieben von Olli_Master Die müsste dann aber schon für einige Jahre im Voraus sein... Genau da liegt das Problem. Und ich glaube Thüringen ist das einzige Bundesland in dem auch noch der Buß und Bettag frei ist. Berichtige mich falls das nicht stimmt. Original geschrieben von Olli_Master Übrigens ab Oracle 8i gibts den Oracle JServer + eine komplette Java-Entwicklungsumgebung. Es wäre also nicht großartig schwierig bestehende Java-Klassen zu adaptieren :-) Erstens müsstes du dann das komplette Framework entfernen, und zweitens würde ich sehr wahrscheinlich ärger vom Chef bekommen. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Olli_Master Geschrieben 12. März 2002 Autor Teilen Geschrieben 12. März 2002 Ich glaube du hast recht mit dem Feiertag. -- Aber wenn - dann geht es nicht 100%tig um jeden Feiertag sondern nur die wichtigen (Ostern, Pfingsten Weihnachten, Neujahr usw.) Erstens müsstes du dann das komplette Framework entfernen... Das war natürlich nicht ernst gemeint - außerdem möchte ich nicht dass du wegen mir Ärger bekommst. Und ich möchte auch keinen eigenen Kalender implementieren. Ich wollte nur sagen, dass so was geht, weil es sich so angehört hat als ob Oracle und Java nicht zusammenpassen würden, ok? Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 12. März 2002 Teilen Geschrieben 12. März 2002 Original geschrieben von Olli_Master Ich wollte nur sagen, dass so was geht, weil es sich so angehört hat als ob Oracle und Java nicht zusammenpassen würden, ok? Dann habe ich das falsch verstanden. Das Oracle und Java zusammenarbeiten ist mir allerdings schon klar. Hier findest du ne Access Datenbank mit allen möglichen Tabellen. Unter anderem auch mit den Feiertagen bis 2032 für alle Bundesländer. http://www.topsolutions.de/media/download/KnowHow.exe Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Olli_Master Geschrieben 13. März 2002 Autor Teilen Geschrieben 13. März 2002 Danke, ich schau's mir gleich an. MfG Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Olli_Master Geschrieben 13. März 2002 Autor Teilen Geschrieben 13. März 2002 Funktioniert jetzt prima - danke!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.