Exporting the Data from AX to CSV file
Hi....
here are the examples of how to deal import/ export data functionality in AX 2012
here are the examples of how to deal import/ export data functionality in AX 2012
Import data from csv file into AX 2012
static void ReadCsvFile(Args _args)
{
    #File
    IO  iO;
    DimensionFinancialTag   dimFinTag, dimFinTagOrig;
    FilenameOpen        filename = "C:\\Users\\v-vimsin\\Documents\\Vimal\\DIXF\\SubProgram.csv";//To assign file name
    Container           record;
    boolean first = true;
    iO = new CommaTextIo(filename,#IO_Read);
    if (! iO || iO.status() != IO_Status::Ok)
    {
        throw error("@SYS19358");
    }
    while (iO.status() == IO_Status::Ok)
    {
        record = iO.read();// To read file
        if (record)
        {
            if (first)  //To skip header
            {
                first = false;
            }
            else
            {              
                dimFinTag.Value                 = conpeek(record, 3);//To peek record
                dimFinTag.Description           = conpeek(record, 1); 
                dimFinTag.FinancialTagCategory  = conpeek(record, 2);
                select dimFinTagOrig 
                    where dimFinTagOrig.FinancialTagCategory == dimFinTag.FinancialTagCategory
                       && dimFinTagOrig.Value == dimFinTag.Value;
                if (!dimFinTagOrig)
                    dimFinTag.insert();
                info(strfmt('%1--%2',dimFinTag.Value,dimFinTag.Description));
            }
        }
    }
}
Export data from AX 2012 into csv file
Here is an example of exporting the AX data to a CSV file ...
Example- 1: 
static void ExportDataToCSV(Args _args)
{
Query q;
QueryBuildDataSource qbds;
QueryBuildRange qbr;
QueryRun qr;
CommaIO commaIO;
FileName fileName;
InventTable inventTable;
;
    
fileName = WINAPI::getTempPath() + "ItemDetails" + ".csv";
commaIO = new CommaIO(fileName,'W');
    
q = new Query();
qbds = q.addDataSource(tablenum(InventTable));
qbr = qbds.addRange(fieldnum(InventTable,ItemId));
    
qr = new QueryRun(q);
    
commaIO.write("ItemId","Item Name","Item Type","Item GroupId","Dimension GroupId","Model GroupId");
while( qr.next() )
{
inventTable = qr.get(tablenum(InventTable));
        
commaIO.write(inventTable.ItemId,inventTable.ItemName,enum2str(inventTable.ItemType),inventTable.ItemGroupId,
inventTable.DimGroupId,inventTable.ModelGroupId);
}
    
WINAPI::shellExecute(fileName);
}
Example- 2:
public static void main(Args _args)
{
Commaio file;
container line;
InventTable inventTable;
#define.filename("C:\\dpk_Items.csv")
#File
;
file = new Commaio(#filename , #io_write); or file = new Commaio(#filename , 'W');
//file.outFieldDelimiter(';');
if( !file || file.status() != IO_Status::Ok)
{
throw error("File Cannot be opened");
}
while select inventTable
{
line = [inventTable.ItemId,inventTable.ItemName];
file.writeExp(line);
}
}
static void ExportDataToCSV(Args _args)
{
Query q;
QueryBuildDataSource qbds;
QueryBuildRange qbr;
QueryRun qr;
CommaIO commaIO;
FileName fileName;
InventTable inventTable;
;
fileName = WINAPI::getTempPath() + "ItemDetails" + ".csv";
commaIO = new CommaIO(fileName,'W');
q = new Query();
qbds = q.addDataSource(tablenum(InventTable));
qbr = qbds.addRange(fieldnum(InventTable,ItemId));
qr = new QueryRun(q);
commaIO.write("ItemId","Item Name","Item Type","Item GroupId","Dimension GroupId","Model GroupId");
while( qr.next() )
{
inventTable = qr.get(tablenum(InventTable));
commaIO.write(inventTable.ItemId,inventTable.ItemName,enum2str(inventTable.ItemType),inventTable.ItemGroupId,
inventTable.DimGroupId,inventTable.ModelGroupId);
}
WINAPI::shellExecute(fileName);
}
Example- 2:
public static void main(Args _args)
{
Commaio file;
container line;
InventTable inventTable;
#define.filename("C:\\dpk_Items.csv")
#File
;
file = new Commaio(#filename , #io_write); or file = new Commaio(#filename , 'W');
//file.outFieldDelimiter(';');
if( !file || file.status() != IO_Status::Ok)
{
throw error("File Cannot be opened");
}
while select inventTable
{
line = [inventTable.ItemId,inventTable.ItemName];
file.writeExp(line);
}
}
Note: As per this you can save the document in any format such as doc,txt,xls only.
Happy DAXing.....

No comments:
Post a Comment