How to read and insert record from a CSV file
using X++ code into Microsoft Dynamics AX 2012 table.
This article helps you to understand how to read data from a CSV file and insert into Microsoft Dynamics AX 2012 table.
Dialog dialog = new Dialog();
DialogField dialogField;
AsciiIo importFile;
str filePath,fileNameOnly;
filetype type;
container record;
str delimiter = ",";
int totalRecords;
CustGroup custGrp;
dialogField=dialog.addField(extendedTypeStr(FilenameOpen),"Select File","Select file to import");
dialog.caption("File Picker");
dialog.filenameLookupFilter(['csv','*.csv']);
warning("Error in opening import file");
throw(Exception::Error);
}
ttsbegin;
custGrp.clear();
record = importFile.read(); // First row - Column name - Header
record = importFile.read();
if(!record)
break;
ttscommit;
}
Throw(Exception::Error);
}
Sample .CSV file image.
 
This article helps you to understand how to read data from a CSV file and insert into Microsoft Dynamics AX 2012 table.
Applied on: Dynamics AX 2012 R3.
Prerequisite: Basic Dynamics AX 2012 programming knowledge.
Target audience: AX programmers.
Assumption: You are familiar with Dynamics AX 2012 and CSV file
Prerequisite: Basic Dynamics AX 2012 programming knowledge.
Target audience: AX programmers.
Assumption: You are familiar with Dynamics AX 2012 and CSV file
Below job inserts records from a CSV file to CustGroup table.
static void
CustGroupCSVInsert(Args _args)
{Dialog dialog = new Dialog();
DialogField dialogField;
AsciiIo importFile;
str filePath,fileNameOnly;
filetype type;
container record;
str delimiter = ",";
int totalRecords;
CustGroup custGrp;
dialogField=dialog.addField(extendedTypeStr(FilenameOpen),"Select File","Select file to import");
dialog.caption("File Picker");
dialog.filenameLookupFilter(['csv','*.csv']);
    if(!dialog.run())
        return;
   
[filePath, fileNameOnly, type] = fileNameSplit(dialogField.value());
   
importFile = new
AsciiIo(dialogField.value(), 'R');
    if((!importFile)
|| (importFile.status() != IO_Status::Ok))
    {warning("Error in opening import file");
throw(Exception::Error);
}
   
importFile.inFieldDelimiter(Delimiter);
    try
    {ttsbegin;
custGrp.clear();
record = importFile.read(); // First row - Column name - Header
        while(importFile.status() ==  IO_Status::Ok)
        {record = importFile.read();
if(!record)
break;
           
totalRecords = totalRecords + 1;
           
custGrp.clear();
           
custGrp.CustGroup = conPeek(record,
1);
           
custGrp.Name = conPeek(record,2);
           
custGrp.insert();
        }ttscommit;
}
    catch(Exception::Error)
    {Throw(Exception::Error);
}
    info(strFmt("Total
Read Records = %1",totalRecords));
}Sample .CSV file image.

 
 
No comments:
Post a Comment