Dynamics AX Blog - Dynamics AX 2009 - Beiträge von 2008

Momentan angezeigt werden nur Beiträge, welche für die Dynamics AX-Version »Dynamics AX 2009« relevant sind. Filter entfernen

RSS-Feed dieser Version
Momentan angezeigt werden nur Beiträge von »2008«.

Dynamics AX: Die Debug-Klasse

Mit der Debug-Klasse stellt Microsoft dem Dynamics AX-Entwickler eine Klasse zur Seite, mit deren Hilfe man während des Debuggen von Code sich Informationen anzeigen lassen kann, ohne die Infolog-Klasse missbrauchen zu müssen.


 
 
 

Dynamics AX: Excel-Datei einlesen

Vor kurzem musste ich mich gezwungenermaßen damit beschäftigen, wie man aus einer Excel-Datei Daten in AX einliest. Deshalb nun im folgenden ein Job mit einer Art Grundgerüst, wie man so etwas in X++ lösen kann.

static void importFromExcel(Args _args) 
{
    Filename                fileNameExcel = "C:\\temp\\file.xls";

    SysExcelApplication     sysExcelApplication;
    SysExcelWorkbooks       sysExcelWorkbooks;
    SysExcelWorksheets      sysExcelWorksheets;
    SysExcelWorksheet       sysExcelWorksheet;
    SysExcelRange           sysExcelRange;
    SysExcelCells           sysExcelCells;
    SysExcelWorkbooks       sysExcelWorkBooksCollection;
    str                     column_a;
    str                     column_b;
    str                     column_c;
    str                     column_d;
    int                     i = 0;
    #Excel
    ;

    sysExcelApplication = SysExcelApplication::construct();
    sysExcelWorkbooks   = sysExcelApplication.workbooks();

    sysExcelWorkbooks.open(fileNameExcel);

    sysExcelWorksheets  = sysExcelApplication.worksheets();
    sysExcelWorksheet   = sysExcelWorksheets.itemFromNum(1);
    sysExcelRange       = sysExcelWorksheet.rows();
    sysExcelCells       = sysExcelWorksheet.cells();

    try
    {
        ttsbegin;

        while (sysExcelCells.item(i+1, 1).value().variantType() != ComVariantType::VT_EMPTY)  // In der Annahme, dass die erste Spalte nicht leer ist         
        {
            i++;

            column_a = sysExcelCells.item(i, 1).value().bStr();
            column_b = sysExcelCells.item(i, 2).value().bStr();
            column_c = sysExcelCells.item(i, 3).value().bStr();
            column_d = sysExcelCells.item(i, 4).value().bStr();

            // ... do something ...
        }

        ttscommit;

        info("Finished");

        sysExcelApplication.quit();
        sysExcelApplication = null;
    }
    catch (Exception::Error)
    {
        sysExcelApplication.quit();
        sysExcelApplication = null;
    }
}

 
 
 

Dynamics AX: Die Aktualisierung muss im Rahmen einer Buchung ausgeführt werden

...heisst nichts anderes, als daß man beim Entwickeln ttsbegin/ttscommit vergessen hat.

Eine nicht ganz glücklich ins Deutsche übersetzte Fehlermeldung ;-)


 
 
 

Dynamics AX 2009: AxDBUpgrade.exe

Kleiner Tip zum Microsoft Dynamics AX DB Upgrade Prepartion Tool (AxDBUpgrade.exe): Im Upgrade-Guide wird erwähnt, daß man dieses Tool am Datenbank-Server starten sollte, aus meiner Erfahrung heraus ist dies fast schon ein Muss!

Ansonsten begegnet man diversen Fehlermeldungen wie z.B.

SqlState 37000, NativeError 8180

 
 
 

Dynamics AX 2009: Datenbank-Synchronisation schlägt fehl

Beim Upgraden einer Dynamics AX 4.0-Installation auf AX 2009 hatte ich beim Schritt "Datenbank synchronisieren" der Aktualisierungscheckliste eine Fehlermeldung, daß vier Tabellen nicht synchronisiert werden konnten.

Ein Befehl der Datendefinitionssprache kann nicht für  () ausgeführt werden.
Die SQL-Datenbank hat einen Fehler gemeldet.
Ein Befehl der Datendefinitionssprache kann nicht für  () ausgeführt werden.
Die SQL-Datenbank hat einen Fehler gemeldet.
Ein Befehl der Datendefinitionssprache kann nicht für  () ausgeführt werden.
Die SQL-Datenbank hat einen Fehler gemeldet.
Ein Befehl der Datendefinitionssprache kann nicht für  () ausgeführt werden.
Die SQL-Datenbank hat einen Fehler gemeldet.
Probleme bei der Synchronisierung des SQL-Data-Dictionarys.Die Operation ist fehlgeschlagen.
Synchronisierung für 4 Tabellen fehlgeschlagen

 
 
 

Dynamics AX 2009: Wieviele Leerzeichen sind ein Tab?

Seit Generation von Entwicklern sind sie ein ewiger Diskussionspunkt: Tabulatoren im Code und aus wievielen Leerzeichen sie bestehen sollen.

In den meisten Entwicklungssystemen ist dies frei definierbar, und so hat jeder Entwickler die Möglichkeit, dies nach seiner persönlichen Vorliebe einzustellen, was in Entwicklungsteams nicht selten zu den erwähnten Diskussionen führt.

Neu für mich ist, daß sich nun auch die Best-Practice-Prüfung von Dynamics AX 2009 an dieser Stelle einmischt!

So wird dem einen oder anderen Entwickler u.U. folgende Fehlermeldung über den Weg laufen:

Falsche Einrückung. Einrückung muss ein Vielfaches von 4 sein.

bzw.

Incorrect indentation. Indentation must be a multiple of 4.

Abschließend also nun die Antwort auf die gestellte Frage: 1 Tab = 4 Leerzeichen. Basta! ;-)


 
 
 

Dynamics AX: Display-Methoden absichern

Dynamics AX sieht Display-Methoden prinzipiell als Sicherheitsrisiko an. Verständlicherweise, schließlich kann Dynamics AX an dieser Stelle nicht prüfen, ob der Benutzer überhaupt die notwendigen Berechtigungen hat, um die Ausgabe solcher Methoden zu sehen.


 
 
Seiten 1 2 3 4 » 

 

 
 
 
Beiträge des aktuellen Monats
April 2008
MoDiMiDoFrSaSo
 123456
78910111213
14151617181920
21222324252627
282930 
 
© 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