Anmelden

View Full Version : Tag in Datumsfeld fest zuweisen



hww
30-11-07, 12:44
Hallo Kolleg(inn)en,

ich möchte in einem Datumsfeld, das
mir irgendwie initialisiert ist,
den Tagwert fix auf 1 setzten.

Ich habe jetzt schon Lösungen gesehen mit Datenstrukturen und Sonstigem, bin aber
der Meinung, es müsste eigentlich mit Bif´s gehen - so ca. %DAY(datfield) = 1.

Danke im Voraus

B.Hauser
30-11-07, 13:01
Hallo,

die Built-in-Funktion %DAY() kann nicht auf der linken Seite des Gleichheitszeichens verwendet werden. %Day() ist lediglich dazu da, um einen numerischen Wert in einen "rechenbaren" Datumswert zu konvertieren.

Das Datum als solches ist ein 4-stelliger fortlaufender Binär-Wert, bei dem man nicht auf Anhieb den Monatsanfang erkennt.

Um für ein Datum den Monatsersten zu ermitteln, muss Du schon rechnen, benötigst also eine Kombination von Built-In-Funktionen.

Hier einige Beispiele:


/Free
My1Day = MyDate - %Days(%SubDt(MyDate: *Days) - 1);
My1Day = %Date(%Subst(%Char(MyDate): 1: 8) + '01');
/End-Free


Birgitta

hww
30-11-07, 13:50
Hallo Birgitta,

Das hatte ich befürchtet. Wir haben
es jetzt mit einem Overlay gelöst - das ist etwas einfacher als die Funktionsverkettung.

Vielen Dank für Deine Antwort.