Import and Update data using CSV file through job

IMPORT CSV

static void NameOfTheJob(Args _args)
{
    #File
    docuref                         docuref;
    filename                       file;
    Dialog                          dialog;
    DialogField                  dialogfield;
    Io                                  iO;
    FilenameOpen              filename;    // = "c:\\DocFiles\\NameOfFile.csv";//To assign file name
    Container                      record;

    FileIOPermission          permission;
    container                       containFromRead;

    ItemId                          itemId;
    str                                 filePath;

    YOUR TABLE         tableBuffer;
    ;
   
    dialog = new dialog('Name Of The DialogBox You Wish');
    dialogfield = dialog.addField(extendedTypeStr(FilenameOpen), 'File Name');
 
    dialog.run();
    filename =(dialogfield.value());

    //assert permission on file
    permission = new FileIOPermission(filename,#io_read);
    permission.assert();

    iO = new CommaTextIo(filename,#IO_Read);

    //throw error if file cannot be open
    if (! iO || iO.status() != IO_Status::Ok)
    {
        throw error("@SYS19358");
    }

    try
    {
        ttsBegin;

        //start reading file
        containFromRead = iO.read();

        While(containFromRead)
        {
            itemId = conpeek(containFromRead,1);

            while select forUpdate tableBuffer
            where tableBuffer.ItemId == itemId
               
            {
                tableBuffer.field= conpeek(containFromRead,2);
                tableBuffer.update();

                info(strFmt("Updated item %1 with Field you want to update %2",tableBuffer.ItemId,  tableBuffer.field));
            }
            containFromRead = iO.read();
        }

        ttsCommit;
    }
    catch
    {
        ttsAbort;
        warning("warning error occured while updating Unit Id");
    }
    iO = null;


}

Comments

Popular posts from this blog

D365FO - Data integration by OData

Create or Update Product attributes using X++ in D365 F&O

Layers concept in D365