|
alle öffnen
alle schließen
Nicht compiliert - . . geändert
|
|
Quartalsanfang QUARTALSANFANG
von Rainer Becker
Viele Berichte im Rechnungswesen und für die Geschäftsführung basieren auf quartalsweisen Berechnungen. Die nachfolgende Funktion ermittelt den Quartalsanfang für ein übergebenes Datum bzw. für das aktuelle Datum:
Function QuartAnf
Parameters cDatum
Private nMonth,cYear,sDate
If Parameters() == 0 or empty(m.cDatum)
m.cDatum = Date()
Endif
m.sDate = Set("DATE")
Set Date German
m.nMonth = Month(m.cDatum)
m.cYear = Ltrim(Str(Year(m.cDatum)))
Do Case
Case m.nMonth > 9
m.cDatum = Ctod("01.10."+m.cYear)
Case m.Month > 6
m.cDatum = Ctod("01.07."+m.cYear)
Case m.Month > 3
m.cDatum = Ctod("01.04."+m.cYear)
Otherwise
m.cDatum = Ctod("01.01."+m.cYear)
Endcase
If Set("Date")!="GERMAN"
Set Date &sDate
Endif
Return m.cDatum
Die Funktion lebt von der richtigen Einstellung von DATE, nämlich "SET DATE GERMAN". Deshalb wird der alte DATE-Wert gesichert und später wieder zurückgesetzt. Man könnte über einen zusätzlichen Parameter noch das vorige und nächste Quartal bzw. das Quartalsende ermitteln lassen.
|
|