Romero
Aktiver Benutzer
- Beiträge
- 46
Hallöchen an Euch,
ich bräuchte wieder einmal eure Hilfe.
Speziell geht es grob darum, produktionsfreie Tage summiert von einem Ende-Termin abzuziehen.
Generell habe ich eine Tabelle, welche mir einen Start-Termin zu jedem Auftrag aufgrund einer Durchlaufzeit ermittelt (Ende-Termin - DLZ = Start-Termin).
Leider kann dieser neue Start-Termin auf ein Wochenende, Feiertag und/oder allgemeinen produktionsfreien Tag fallen. Hier soll nun eine Schleife her, die das neue Startdatum um jeweils 1 Tag pro o.g. freien Tag nach vorn schiebt. Also wenn der Auftrag auf ein Wochenende (Sonntag) fällt, dann muss der Starttermin so lange nach vorn geschoben werden, dass es am Ende den Freitag als neuen Starttermin hat. Ist der Freitag ein Feiertag, dann um einen weiteren Tag auf Donnerstag.
Diese Werte der nicht-produktiven-Tage habe ich bereits in einer weiteren Tabelle (Kalender_global) mit 0 oder 2 deklariert (0 = Wochenende / Feiertage, 2 = Betriebsruhe).
Ich weiß, dass es hier über eine WHILE-Schleife zu machen ist.
Komm aber hier grad nicht weiter, wie ich das neue Datum ausgebe bzw. in die bestehende Tabelle einbinde.
LG Romero
ich bräuchte wieder einmal eure Hilfe.
Speziell geht es grob darum, produktionsfreie Tage summiert von einem Ende-Termin abzuziehen.
Generell habe ich eine Tabelle, welche mir einen Start-Termin zu jedem Auftrag aufgrund einer Durchlaufzeit ermittelt (Ende-Termin - DLZ = Start-Termin).
Leider kann dieser neue Start-Termin auf ein Wochenende, Feiertag und/oder allgemeinen produktionsfreien Tag fallen. Hier soll nun eine Schleife her, die das neue Startdatum um jeweils 1 Tag pro o.g. freien Tag nach vorn schiebt. Also wenn der Auftrag auf ein Wochenende (Sonntag) fällt, dann muss der Starttermin so lange nach vorn geschoben werden, dass es am Ende den Freitag als neuen Starttermin hat. Ist der Freitag ein Feiertag, dann um einen weiteren Tag auf Donnerstag.
Diese Werte der nicht-produktiven-Tage habe ich bereits in einer weiteren Tabelle (Kalender_global) mit 0 oder 2 deklariert (0 = Wochenende / Feiertage, 2 = Betriebsruhe).
Code:
SELECT
[Kalender].[Tagesdatum],
[AV].[Auftrag],
[AV].[Vorgang],
[AV].[ProduktionsLinie],
[AV].[Neuer Eckstart]
FROM
[dbo].[Kalender_global] AS Kalender LEFT OUTER JOIN
[dbo].[Arbeitsvorrat] AS AV ON [Kalender].[Tagesdatum] = [AV].[Neuer Eckstart]
ORDER BY [Kalender].[Tagesdatum]
GO
Ich weiß, dass es hier über eine WHILE-Schleife zu machen ist.
Komm aber hier grad nicht weiter, wie ich das neue Datum ausgebe bzw. in die bestehende Tabelle einbinde.
LG Romero