RSS

Etiket arşivi: csv

CSV dosyalarından kodla Dynamics AX tablolarına veri ithali yapmak

Merhaba,

Bu makalemde Dynamics Ax içindeki bir tabloya, csv türündeki bir dosyadan verileri  kodla aktarmak için gerekli adımları anlatacağım.

1- Aktarım yapmak istediğimiz tablo InventDim olsun.

2- Boş bir excelde 1.sütuna Tesis; 2.sütuna Boyut değerlerini giriniz.

3- Exceli farklı kaydet seçeneği ile CSV formatında kaydediniz.

4- Aşağıdaki kod öbeğini AOT–>Jobs kısmında yeni bir job oluşturarak yapıştırın.

4- Kaydettiğiniz dosya yolunu kopyalayıp, aşağıdaki kodu uygun şekilde güncelleyip, kodu çalıştırınız.

5- Kayıtlar istediğiniz tabloya aktarılacaktır. Hepsi bu kadar!

// Changed on 21 Şub 2011 at 17:01:47 by mesut
static void insertFromCsvToInventDimTable(Args _args)
{
 InventDim                       dim;
 //Exceldeki alanlar
 InventSiteId                    InventSiteId;
 InventSizeId                    InventSizeId;

 Container   cntbuf;
 int         i;

 AsciiIo     fileHandle = new AsciiIo("C:\\Mesut\\mm.csv","R");

 ;
 fileHandle.inRecordDelimiter('\r\n');//Kayıt ayıracı
 fileHandle.inFieldDelimiter(';'); // Alan ayıracı

 ttsbegin;
 while (fileHandle.status() == IO_Status::Ok)
 {
 cntbuf = fileHandle.read();

 if (conlen(cntbuf) <= 9) // Sutun sayısı kontorolü
 {

 InventSiteId = ConPeek(cntbuf, 1); // birinci sütundaki değer
 InventSizeId = ConPeek(cntbuf, 2); // ikinci sütundaki değer

 dim.clear();
 dim.InventSizeId = InventSizeId;
 dim.InventSiteId = InventSiteId;

 dim.inventDimId = InventDim::findOrCreate(dim).inventDimId;
 dim.insert();
 }
 }

info(strfmt("%1 kayıt eklendi",i));

ttscommit;

}

NOT: Yazıda belirtilen kodun, değiştirilmeden veya değiştirilerek, development/test/canlı ortamlarında kullanılması sonucu oluşabilecek olumlu/olumsuz durumlarda tüm sorumluluk kodu kullanan kişiye aittir.

 

Mesut BOZTAŞ

Dynamics AX ERP Danışmanı ve
İstanbul Ticaret Üni. Y.Lisans öğrencisi

İstanbul 2011

http://www.etg-it.com

Reklamlar
 
1 Yorum

Yazan: 21/02/2011 in Geliştirme, Genel

 

Etiketler: , , , ,

 
%d blogcu bunu beğendi: