Dynamics AX Blog - Dynamics AX 2009 - Microsoft Dynamics AX (Axapta) - Seite 17

Momentan angezeigt werden nur Beiträge der Kategorie »Microsoft Dynamics AX (Axapta)« Filter entfernen

In den letzten Jahren, in denen ich mich fast hauptsächlich mit der Entwicklung im Umfeld von Microsoft Dynamics AX (vormals Axapta) beschäftigt habe, ist das eine oder andere Code-Fragment entstanden, von dem ich mir vorstellen könnte, daß es auch für andere AX-Entwickler ganz nützlich sein könnte. Aber auch Tips und Tricks zu dem mächtigen ERP-System werde ich in dieser Kategorie präsentieren.

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

RSS-Feed dieser Version

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.


 
 

Dynamics AX 2009: Fehlermeldung beim ersten Start

Beim Upgrade von Dynamics AX 3.0 erhielt ich beim erstmaligen Start von Dynamics AX 2009 folgende Fehlermeldung, wodurch die Upgrade-Checklist nicht gestartet werden konnte:

Error executing code: Illegal object code. Recompile script.

(C)\Classes\SysSetupFormRun\run
(C)\Classes\SysCheckList\doInit - line 56
(C)\Classes\SysCheckList\runCheckList
(C)\Classes\Info\startup - line 33

Ursache bis dato unbekannt, geholfen hat ein Neukompilieren der Applikation über den Menüeintrag Administration / Periodic / Compile Application (Zugriff auf den AOT hatte ich zu diesem Zeitpunkt keinen).


 
 
Seiten « 1 ... 14 15 16 17 18 19 20 » 

 

 
 
 
Beiträge des aktuellen Monats
Mai 2024
MoDiMiDoFrSaSo
 12345
6789101112
13141516171819
20212223242526
2728293031 
 
© 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