Dynamics AX Blog - Dynamics AX 2012 - What's new

Momentan angezeigt werden nur Beiträge aus der Serie »Dynamics AX 2012 - What's new« Filter entfernen

Dynamics AX 2012 steht vor der Tür. Zeit also, sich einige der neuen Features mal etwas näher anzusehen.

 Beiträge einblenden

RSS-Feed dieser Blogserie

AX 2012: Having-Clause über addHavingFilter

Ein neues Feature von Dynamics AX 2012 ist, daß man nun bei einem Query auch eine HAVING-Clause hinzufügen kann.

Diese Bedingung dient dazu, berechnete Werte einer GROUP BY-Clause in der WHERE-Clause berücksichtigen zu können. Dieses Feature habe ich in der Vergangenheit vor allem dazu gerne verwendet, wenn es darum ging über eine SQL-Abfrage doppelte (bzw. vielfache) Datensätze in einer Tabelle zu finden. In den bisherigen Versionen von Dynamics AX war dieses Unterfangen über X++ nur etwas umständlich abzubilden.


 
 
 

AX 2012: AddQueryFilter

In Dynamics AX 2012 verfügt das Query-Objekt nun über eine neue Methode addQueryFilter, mit dessen Hilfe man die Datenbank anweisen kann, Filterkriterien zur WHERE-Clause statt wie in bisherigen Versionen zur ON-Clause einer OUTER-JOIN-Verknüpfung hinzuzufügen. Dies wiederum bewirkt, daß keine "leeren" Datensätze verarbeitet werden.


 
 
 

AX 2012: ValidTimeState

Wer schon einmal eine Tabelle aufbauen musste, wo die einzelnen Datensätze über Datumsfelder nur für einen bestimmten Zeitraum gültig sind - ähnlich den Handelsvereinbarungen -, weiß wieviel Entwicklungsaufwand daintersteckt, wenn sichergestellt werden muss, daß sich die Gültigkeitsbereiche der einzelnen Datensätze nicht überschneiden.

Dynamics AX 2012 stellt hierfür eine neue Tabelleneigenschaft validTimeStateFieldType zur Verfügung, mit deren Hilfe sich Dynamics AX selbst um vieles kümmert.

Beim Anlegen einer solchen Tabelle muss nur auf die folgenden Punkte geachtet werden:

  1. Eigenschaft ValidTimeStateFieldType der Tabelle auf Date oder UtcDateTime setzen. Dadurch erstellt AX zwei neue Felder ValidFrom und ValidTo in der Tabelle.


     
  2. Man muss einen eindeutigen Index erstellen, der die entscheidenden Felder der Tabelle sowie die Felder ValidFrom und ValidTo enthält.


     
  3. Bei diesem Index müssen bestimmte Eigenschaften gesetzt werden.

 

Ab diesem Zeitpunkt kümmert sich Dynamics AX vollständig um das Aktualisieren von nicht mehr gültigen Datensätzen und die entscheidenden Prüfungen beim Anlegen von neuen Datensätzen.

Aber auch das Selektieren des jeweils gültigen Datensatzes für ein bestimmtes Datum wird wesentlich erleichert. Dafür stellt Dynamics AX das Keyword validTimeState zur Verfügung.

static void AX2012_ValidTimeStateUtcDateTime(Args _args)
{
    AX2012_ValidTimeStateUtcDateTime AX2012_ValidTimeStateUtcDateTime;
    utcDateTime myUtcDateTime = 1988-07-20T13:34:45;
    ;
    select validTimeState(myUtcDateTime) *
    from AX2012_ValidTimeStateUtcDateTime;

    info(strFmt("%1", AX2012_ValidTimeStateUtcDateTime.salesPrice));
}

 


 
 
 

 

 
 
 
Beiträge des aktuellen Monats
April 2024
MoDiMiDoFrSaSo
1234567
891011121314
15161718192021
22232425262728
2930 
 
© 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