Using x++ code reading data from csv file format
The following X++ code is tested in Dynamics AX 2009 development environment!
Wrote by : Jimmy Nov 24th 2010
static void Jimmy_readCSVFieldFromAXCode(Args _args)
{
AsciiIo asciiIo;
FileIoPermission perm;
Test Test;
container con;
name ItemId,Name;
price price;
int i;
#define.ExampleFile(@"c:\Book1.csv")
#define.ExampleOpenMode("r")
#define.FileDelimiter(",")
;
// The AsciiIO.new method runs under code access permission.
if(!WinAPI::fileExists(#ExampleFile))
return;
perm = new FileIoPermission(#ExampleFile,#ExampleOpenMode);
if (perm == null)
return;
perm.assert(); // Code access permission scope starts here.
asciiIo = new AsciiIo(#ExampleFile,#ExampleOpenMode);
asciiIo.inFieldDelimiter(#FileDelimiter);
if (asciiIo != null)
{
con = asciiIo.read();
delete_from Test;
while (asciiIo.status() == IO_Status::Ok)
{
ItemId = conPeek(con,1);
name = conPeek(con,2);
price = conPeek(con,3);
i++;
ttsbegin;
Test.clear();
Test.ItemId = ItemId;
Test.Name = name;
Test.Price2 = price;
Test.doInsert();
info(strfmt("%1 : %2,%3,%4",i,
Test.ItemId,
Test.Name,
num2str(price,1,2,1,2)));
ttscommit;
con = asciiIo.read();
}
}
info(strfmt("total read %1 records [from %2]",i,#ExampleFile));
}

浙公网安备 33010602011771号