Dynamics AX Blog - Beiträge vom Juli 2008

Momentan angezeigt werden nur Beiträge vom »Juli 2008«. Filter entfernen

Dynamics AX: Warten auf das Vorhandensein einer Datei

Manchmal ist es notwendig, in AX externe Programme (zb. per WinApi::shellExecute) aufzurufen und deren Rückmeldung abzuwarten. Mir ist z.B. in letzter Zeit immer wieder der Fall untergekommen, daß ich über ein externes Programm eine Datei erstellen musste, und diese anschließend in AX einlesen bzw. weitervearbeiten musste.

Für diesen Fall habe ich eine ganz simple Logik gebastelt, die eine bestimmte Anzahl Sekunden lang prüft, ob es die benötigte Datei schon gibt und erst dann mit den weiteren Schritten fortfährt.

static void WaitForFileExists(Args _args)
{
    int         startTime;
    int         endTime;
    int         seconds2Wait = 5;
    boolean     fileExists = false;
    fileName    searchFileName = "c:\\temp\\ax.txt";
    ;
 
    startTime   = timeNow();
    endTime     = startTime + seconds2Wait;

    while (!fileExists && timeNow() <= endTime)
    {
        fileExists = WinApi::fileExists(searchFileName);
    }

    // ...continue...
    if(fileExists)
    {
        info(strFmt("File '%1' exists", searchFileName));
    }
    else
    {
        warning(strFmt("File '%1' does not exist and time is up", searchFileName));
    }
}

 
 
 

Dynamics AX: Container Quicktipp

Container sind ja was feines, und aus diesem Grund verwende ich sie immer wieder gerne beim Programmieren unter Dynamics AX. Durch einen Blog-Beitrag bei SysDictCoder bin ich auf einen kleinen Trick gestossen, der mir in Zukunft etwas Tipp-Arbeit ersparen wird.

Und zwar habe ich bisher Container immer ähnlich wie im folgenden befüllt:

container fieldCon = conNull();
;
fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "accountNum");
fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "name");
fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "zipcode");
fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "countryregionid");
fieldCon = conIns(fieldCon, conLen(fieldCon)+1, "county");

Wesentlich rascher ist die folgende Schreibweise:

container fieldConFast = conNull();
;
fieldConFast += "accountNum";
fieldConFast += "name";
fieldConFast += "zipcode";
fieldConFast += "countryregionid";
fieldConFast += "county";

SysDictCoder geht in seinem Artikel etwas mehr ins Detail, deshalb meine Empfehlung dort mal vorbeizuschauen.


 
 
 

AX 2009 What's New Technical training - Technical

Diese Woche genoß ich einen eintägigen Ausflug in die neue Welt von Dynamics AX 2009 und lernte einige Aspekte der neuen Version aus technischer Sicht kennen. Anbei eine kurze Liste der für mich herausragensten Neuerungen:

  • Teilweise neue bzw. zumindest veränderte Oberfläche, sicherlich etwas gewöhnungsbedürftig
  • Grids sind scheinbar standard-mässig nach Excel exportierbar
  • Einführung der UTC-Timestamps, womit Zeitzonen-übergreifende Applikationen über einen AOS laufen können
  • Der Task-Rekorder ist scheinbar nun fixer Bestandteil von AX, wodurch zumindest rudimentäre Dokumentationen von Abläufen ermöglicht werden
  • Das neue Fill-Utility für Massenaktualisierungen
  • Erweiterung und Verbesserung im Umgang mit RecordSets
  • Erweiterung und Verbesserung im Umgang mit Queries (z.b. Union-Selects)
  • Einführung eines neuen, ax-basierenden Versionskontrollsystem namens MorphX VCS
  • Cross-Company-Support ermöglicht Formularen und Berichten mandantenübergreifend Daten anzuzeigen
  • Stapelverabeitung läuft komplett am AOS und wurde in einigen Belangen verbessert

Diese Liste ist weder vollständig noch wirklich validiert, hoffe in den nächsten Wochen etwas mehr Zeit mit der neuen Version verbringen zu dürfen :-)


 
 
 

 

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