SELECT-Statements mit Datumseinschränkung in AX 2009

Im Zuge eines Upgrades einer Applikation auf Dynamics AX 2009 ist mir ein Stückchen Code über den Weg gelaufen, dessen Code-Upgrade auf den ersten Blick recht einfach sein sollte, sich aber bei genauerer Betrachtung als doch gar nicht so einfach herausgestellt hat.

Und zwar gehts um ein einfaches SELECT-Statement, z.B. wie das folgende:

date myDate = str2date('07.05.2010', 123);

select count(recid)
from salesline
where salesline.createdDate == myDate;

Obiges Statement soll mir einfach eine Zahl der Auftragszeilen liefern, die an einem bestimmten Tag erstellt wurden.

In Dynamics AX 2009 wurde ja das Feld createdDate durch createdDateTime und einen vollständigen neuen Datentyp, der nun auch die Zeit mitspeichert, ersetzt.

Will ich nun in AX 2009 das selbe Statement absetzten, so könnte dies wie folgt aussehen:

date myDate = str2date('07.05.2010', 123);

// version 1
select count(recid)
from salesline
where salesline.createdDateTime >= DateTimeUtil::newDateTime(myDate,0)          // 07.05.2010 00:00:00
   && salesline.createdDateTime <= DateTimeUtil::newDateTime(myDate,60*60*24-1) // 07.05.2010 23:59:59
;

// version 2
select count(recid)
from salesline
where salesline.createdDateTime >= DateTimeUtil::newDateTime(myDate,0)          // 07.05.2010 00:00:00
   && salesline.createdDateTime <  DateTimeUtil::newDateTime(myDate+1,0)        // 08.05.2010 00:00:00
;

Ist das wirklich so, oder übersehe ich hier etwas?

Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2009

Michael Pfenninger 10.03.2011 14:51 | #1

Wir haben das bei unserem Upgrade auch so gemacht. In diesem Zusammenhang sei noch der Timezone-Offset erwähnt. Dieser kann einem auch noch übel mitspielen. Details dazu habe ich allerdings gerade nicht mehr present.

Mark 21.11.2012 22:18 | #2

Bei UtcDateTime geht es nicht so einfach, aber ein einfaches Datum wie der 7.05.2010 lassen sich in x++ -Code auch einfach direkt kodieren: 07\05\2012...

Hat bei mir für Jobs immer funktioniert.

 
 

 

 
 
 
Beiträge des aktuellen Monats
November 2024
MoDiMiDoFrSaSo
 123
45678910
11121314151617
18192021222324
252627282930 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu