Dynamics AX Blog - Dynamics AX 2009 - Posts from 2015

RSS-Feed of this version
Import data from csv-file to Dynamics AXUsing the CommaTextIo class you can import CSV files into Dynamics AX. The job shows a simple example of using this class. static void importCSVFile(Args _args) { Filename fileName = @"c: empcsvimport.csv"; CommaTextIo commaTextIo = new CommaTextIo(fileName, "r"); container lineCon; commaTextIo.inFieldDelimiter(';'); commaTextIo.inRecordDelimiter(' '); while (commaTextIo.status() == IO_Status::OK) { lineCon = commaTextIo.read(); info(strFmt("%1 %2 %3", conPeek(lineCon, 1), conPeek(lineCon, 2), conPeek(lineCon, 3))); } } In principle, this would also work with the TextIo class (or AsciiIo), but it must be noted that these classes can provide unexpected results when, for eample the inFieldDelimiter - in my example a semicolon - occurs within a text.
The following sample file would otherwise be processed, as expected from the developer. The third column in the third row would be interpreted as two columns by the read()-method. 100;450,00;Customername1 101;1200,00;Customername2 102;50,28;"Customername 3; Second customername" |
Create purchase order line through codeA simple example of how to create a purchase order line through code using AX<Table>-Class. static void createPurchLine(Args _args) { axPurchLine axPurchLine; purchLine purchLine; axPurchLine = AxPurchLine::newPurchLine(purchLine); axPurchLine.validateInput(true); axPurchLine.continueOnError(false); axpurchLine.parmPurchId("P00001"); axpurchLine.parmItemId("1000"); axPurchLine.parmPurchQty(10); axPurchLine.parmPurchPrice(24.50); axPurchLine.save(); } |
How to create a AX<Table>-Class IIIf you need a so called AX-class can use the class AxGenerateAxBCClass.
Simply call this class in the AOT by right clicking and follow the wizard or use following job: static void generateAXTableClass(Args _args) { AxGenerateAxBCClass axGenerateAxBCClass; axGenerateAxBCClass = new AxGenerateAxBCClass(); axGenerateAxBCClass.parmTableId(tableNum(MyNewTable)); axGenerateAxBCClass.run(); }
If the table changes, for example when adding new fields, you simply call that AxGenerateAxBCClass again and the AX -class will be extended accordingly.
How to use such AX -classes, i've described here.
|
|
|
|
|
|
|
To open the query-windows when opening a form, you can use the following code for example: