TBeDispositionBusinessController
TBeDispositionBusinessController
Die Klasse TBeDispositionBusinessController kapselt Hilfs-Funktionen für die Disposition.
Funktionen
Funktion | Parameter | Beschreibung |
---|---|---|
CbPriorWorkDate:D Rückwärts-Terminierung | aDate:D | Anfangs-Datum der Berechnung |
aDayCount:N | Anzahl der Arbeitstage um welche zurück gerechnet werden soll | |
aDivision:U | Unternehmensbereich | |
CbNextWorkDate:D Vorwärts-Terminierung | aDate:D | Anfangs-Datum der Berechnung |
aDayCount:N | Anzahl der Arbeitstage um welche zurück gerechnet werden soll | |
aDivision:U | Unternehmensbereich (siehe CbPriorWorkDate) | |
CbWorkDaysCount:N Liefert die Anzahl der Arbeitstage die im Bereich der angegebenen Datum-Werten liegen. | aFromDate:D | Anfangs-Datum |
aToDate:D | Ende-Datum | |
aDivision:U | Unternehmensbereich (siehe CbPriorWorkDate) | |
CbIsWorkDay:L Prüft ob der Tag, des übergebenen Datums, ein Arbeitstag ist. | aDate:D | Datum |
aDivision:U | Unternehmensbereich (siehe CbPriorWorkDate) |
Beispiel
//##############################################################################
//##############################################################################
// Beschreibung:
// Berechung bzw. Rueck/Vor-Terminierung von Arbeitstagen unter Berücksichtigung
// von Feiertagen und Betriebsruhen
//##############################################################################
//##############################################################################
| oDispoBC, dDate, cKW, dFoW|
oDispoBC := CreateObject('TBeDispositionBusinessController'),
startseq
dDate := Date(),
// Prüfen ob heute ein Arbeitstag ist
writeln('Heute ' + DateTimeToStr(dDate) + ' ist ein Arbeitstag: ' +
iif( oDispoBC.CbIsWorkDay( dDate, wddProduction ), 'Ja', 'Nein' ) ),
// Arbeitstage in der heuten KW
cKW := KW(Date()),
dFoW := FridayOfWeek(cKW),
writeln('Arbeitstage in KW ' + cKW + ': ' +
Str( oDispoBC.CbWorkDaysCount(dFoW - 4, dFoW + 2, wddProduction) ) ),
// nächster Arbeitstag
writeln('nächster Arbeitstag: ' +
DateTimeToStr( oDispoBC.CbNextWorkDate(dDate, 1, wddProduction) ) ),
// nächster Arbeitstag nach KW
writeln('nächster Arbeitstag nach Sonntag der KW: ' +
DateTimeToStr( oDispoBC.CbNextWorkDate(dFoW + 2, 0, wddProduction) ) ),
// vorheriger Arbeitstag
writeln('vorheriger Arbeitstag: ' +
DateTimeToStr( oDispoBC.CbPriorWorkDate(dDate, 1, wddProduction) ) ),
// letzer Arbeitstag der vorherigen KW
writeln('letzer Arbeitstag der vorherigen KW: ' +
DateTimeToStr( oDispoBC.CbPriorWorkDate(dFoW - 4, 1, wddProduction) ) ),
always
DestroyObject(oDispoBC),
stopseq,