Import CSV file in D365 for Finance and Operation using X++
Below is a simple example for importing data from CSV file in D365 FO using X++:
/// <summary>
/// import color code
/// </summary>
class CFSImportColorCode
{
/// <summary>
/// main
/// </summary>
/// <param name = “_args”>_args</param>
public static void main(Args _args)
{
AsciiStreamIo file;
Array fileLines;
FileUploadTemporaryStorageResult fileUpload;
CFSEcoResColorCode colorCode;
CFSImportColorCode importColorCode = new CFSImportColorCode();
Counter counter = 0;
EcoResColorName color;
#OCCRetryCount
try
{
//Upload a file
fileUpload = File::GetFileFromUser() as FileUploadTemporaryStorageResult;
file = AsciiStreamIo::constructForRead(fileUpload.openResult());
if (file)
{
if (file.status())
{
throw error(“@SYS52680”);
}
file.inFieldDelimiter(‘;’); //separator
file.inRecordDelimiter(‘\r\n’);
}
//Read a CSV File
container rec;
ttsbegin;
while (!file.status())
{
counter++;
rec = file.read();
if (conLen(rec))
{
color = conPeek(rec, 2);
colorCode = CFSEcoResColorCode::find(color);
if(!colorCode.RecId)
{
colorCode.clear();
colorCode.Name = color;
colorCode.Code = conPeek(rec, 1);
colorCode.insert();
}
}
}
ttscommit;
info(“Operation complete.”);
}
catch (Exception::Deadlock)
{
retry;
}
catch (Exception::UpdateConflict)
{
if (appl.ttsLevel() == 0)
{
if (xSession::currentRetryCount() >= #RetryNum)
{
throw Exception::UpdateConflictNotRecovered;
}
else
{
retry;
}
}
else
{
throw Exception::UpdateConflict;
}
}
}
}
Related posts:

Resolving SSL/TLS Secure Channel Trust Errors in Dynamics 365 Finance and Operations

How to change a Bill of material (BOM) item on a production order
How to Set Up a Local Development Environment for D365 Finance and Operations Without Azure Costs
![Shopify Meets Dynamics 365 Finance and Operations: A Guide to Integration [Part 2]](https://www.cloudfronts.in/wp-content/uploads/2024/12/DALL·E-2024-12-14-12.29.44-A-professional-illustration-depicting-the-integration-between-Shopify-and-Dynamics-365-Finance-and-Operations.-The-image-shows-Shopify-on-one-side-wit-150x150.webp)
