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