Quantcast
Channel: Microsoft Dynamics AX Forum - Recent Threads
Viewing all articles
Browse latest Browse all 73760

How to create a job to import .csv file to the interface?

$
0
0

This might help. Modify accordingly!

 

static void XIF_ImportInterfaceMapping(Args _args)
{
    XIF_InterfaceTable      interfaceTable;
    XIF_FormatField         formatField;
    XIF_FormatLines         formatLines;
    XIF_DataSource          dataSource;
    XIF_Document            document;

    XIF_StartPosition       startPosition;
    XIF_DataSourceID        dataSourceId;
    XIF_FormatLineId        formatLineId;
    XIF_DocumentName        documentName = "CVTORDERBACKFILL";
    XIF_InterfaceID         interfaceId = "IFCVTORDERBACKFILL";
    XIF_Length              length;
    Description             description;

    container               con;
    AsciiIo                 io;
    int                     i;
    int                     y;
    ;

    io = new AsciiIo("C:\\TEMP\\VCTBackfillMapping.csv", "RB");
    if (!io) throw error("@SYS26757"+": C:\\TEMP\\VCTBackfillMapping.csv"); //error not defined!

    io.inFieldDelimiter(";");

    ttsbegin;

    interfaceTable = XIF_InterfaceTable::find(interfaceId);
    if(!interfaceTable.RecId)
    {
        interfaceTable.selectForUpdate(true);
        interfaceTable.clear();
        interfaceTable.InterfaceID = interfaceId;
        interfaceTable.insert();

        document = XIF_Document::find(documentName);
        if(!document.RecId || document.InterfaceID != interfaceTable.RecId)
        {
            document.selectForUpdate(true);
            document.clear();
            document.DocumentName = documentName;
            document.InterfaceID    = interfaceTable.RecId;
            document.insert();
        }
    }

    y = 0;
    while(io.status() == IO_Status::Ok)
    {
        con = connull();
        con = io.read();

        formatLineId    = conpeek(con, 1);
        dataSourceId    = formatLineId + '_ds';
        description     = conpeek(con, 2);
        length          = conpeek(con, 4);
        startPosition   = conpeek(con, 6);

        i++;
        if(formatLineId == '' || formatLineId == '0')
            continue;

        if(!formatLines.RecId || formatLines.FormatLineId != formatLineId)
        {
            y++;
            formatLines.selectForUpdate(true);
            formatLines.clear();
            formatLines.FormatLineId    = formatLineId;
            formatLines.Document        = document.RecId;
            formatLines.linenum         = y;
            formatLines.LineIndex       = 1;
            formatLines.insert();

            dataSource.selectForUpdate(true);
            dataSource.clear();
            dataSource.DataSourceID     = dataSourceId;
            dataSource.FormatLineRecId  = formatLines.RecId;
            dataSource.insert();

            i = 1;
        }

        formatField.selectForUpdate(true);
        formatField.clear();
        formatField.FormatLines     = formatLines.RecId;
        formatField.DataSource      = dataSource.RecId;
        formatField.Sequence        = i;
        formatField.Description     = description;
        formatField.StartPosition   = startPosition;
        formatField.Length          = length;
        formatField.ActiveField     = NoYes::Yes;
        formatField.insert();
    }

    ttscommit;

    info('Importing has been completed.');
}


Viewing all articles
Browse latest Browse all 73760

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>