Dynamics AX Blog - Beiträge vom März 2012

Momentan angezeigt werden nur Beiträge vom »März 2012«. Filter entfernen

Event-Handling in Dynamics AX 2012

Eine wichtige Neuerung von AX 2012 sind die sogenannten Event-Handler. Diese Event-Handler sind eine elegante Möglichkeit, die Funktionalität von AX 2012 zu erweitern, ohne dabei den Standardcode zu verändern. Dies soll vor allem spätere Releaseupdates von Dynamics AX 2012 erheblich erleichtern.

Prinzipiell unterscheidet man dabei zwischen Event-Handler die vor (PRE) bzw. nach (POST) dem Originalcode ausgeführt werden sollen, wobei jede der beiden Varianten ihre eigenen Möglichkeiten bieten. Pre-Event-Handler können die Original-Parameter der auslösenden Methode verändern wogegen Post-Event-Handler den Rückgabewert der auslösenden Methode verändern können.

Die folgenden drei Beispiele sollen die Verwendung dieser Event-Handler verdeutlichen.

Beispiel 1: Es soll der Inhalt des Feldes Suchbegriff der Artikeldetails dahingehend geprüft werden, daß zumindest 5 Zeichen eingegeben wurden.


 
 
 

Abfragen der aktiven Lagerungsdimensionen

Um für einen Artikel über X++ zu ermitteln, ob eine bestimmte Lagerungsdimension verwendet wird, gibt es abhängig von der verwendeten AX-Version verschiedene Ansätze. In den beiden Beispielen wird ermittelt, ob die Dimension Palettennummer aktiv ist:

Dynamics AX 2009

inventDimSetup::find(inventTable::find(_itemId).DimGroupId,
    fieldnum(InventDim, wmsPalletId)).Active

Dynamics AX 2012

EcoResDimensionGroupSetup::isInventoryDimensionActiveForItem(
    _itemId, fieldNum(InventDim, wmsPalletId))

 
 
 

Funktion num2expstr

Vor kurzem lief mir eine Fehlermeldung in Dynamics AX über den Weg die vermuten lies, daß in einer Tabelle Werte mit mehr Nachkommastellen/Dezimalstellen gespeichert waren, als Dynamics AX dort erwartet hätte. Leider sieht man über den Table-Browser solche Nachkommastellen oft nicht, deshalb musste ich mir mit einem Job und der Funktion num2expstr helfen, letztere zeigt die Werte detailierter als z.B. der Table-Browser an.

static void num2expstrTest(Args _args)
{
    ledgerTrans ledgerTrans;
   
    while select ledgerTrans 
    {
        info(strFmt("%1  %2", num2expstr(ledgerTrans.AmountMST),
                              ledgerTrans.AmountMST));
    }
}

 


 
 
 

AX 2012: Relations, Surrogate Foreign Keys

Mit dem Release von Dynamics AX 2012 konfrontiert Microsoft den erfahrenen AX-Entwickler mit zahlreichen Neuerungen. Einige davon betreffen das Herstellen von Beziehungen (Relations) zwischen Tabellen.

Hatte man in AX 2009 noch die Möglichkeit, die Relations auf einem Extended Datatyp (EDT) festzulegen, so muss dies nun direkt auf den Tabellen erfolgen. Ausserdem sind die Tabellen nun meist so aufgebaut, daß Relations über die sogenannten Surrogate Foreign Keys erfolgen.
 
Als Surrogate Foreign Key bezeichnet man ein einzelnes Feld, über das sich ein Datensatz eindeutig identifizieren lässt. In vielen Datenbanksystemen ist dies eine vom System generierte Nummer die in der jeweiligen Benutzeroberfläche oft gar nicht angezeigt wird, in AX wäre dies beispielsweise die RecId. Schon in früheren Versionen von Dynamics AX wurde dieses Feld dazu verwendet, Beziehungen zwischen Tabellen herzustellen, mit Dynamics AX 2012 sollen sämtliche Relations über die RecId abgebildet werden.


 
 
 

 

 
 
 
Beiträge des aktuellen Monats
März 2012
MoDiMiDoFrSaSo
 1234
567891011
12131415161718
19202122232425
262728293031 
 
© 2006-2025 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