EDI dosyasını Excel'e aktarmak

· Segment yapısını satır-sütun düzenine çevirirken nelere dikkat etmeli.

Elinizde bir EDI dosyası var ve içindeki kalemleri tabloya dökmek istiyorsunuz — belki muhasebeye göndermek, belki fiyatları kontrol etmek için. EDI satır tabanlı bir yapı; tabloya çevirmek göründüğünden biraz daha dikkat ister.

Neden doğrudan açılmıyor?

Bir .edi dosyasını Excel'e sürüklerseniz her segment tek bir hücreye düşer. Sebep, EDI'nin hiyerarşik olması: bir kalemin bilgisi tek satırda değil, birbirini takip eden birkaç satırda durur.


LIN+1++5410013101234:EN'
IMD+F++:::BITTER CIKOLATA 100G'
QTY+21:480:PCE'
PRI+AAA:1.85'
MOA+203:888.00'

Bu beş satır tek bir tablo satırıdır: ürün kodu, açıklama, miktar, fiyat, tutar. Tabloya çevirmek, LIN gördüğünde yeni satır açıp sonraki segmentleri o satırın sütunlarına yazmak demektir.

Hangi segment hangi sütun?

Tipik bir sipariş veya fatura için eşleme şudur:

SegmentSütunNereden
LINÜrün kodu (GTIN)3. elemanın ilk parçası
IMDÜrün açıklaması3. elemanın son parçası
QTYMiktar ve birimNitelikçiye göre 21, 12 veya 47
PRIBirim fiyatAAA net fiyat
MOASatır tutarı203 nitelikçisi

Nitelikçileri atlamamak önemli: bir kalemde birden fazla QTY olabilir ve hangisini istediğinize siz karar vermelisiniz.

Dikkat edilecek noktalar

Kalem sınırını doğru belirleyin. Yeni bir LIN gelene kadar okunan her şey mevcut kaleme aittir. Özet bölümü (UNS'den sonrası) kaleme ait değildir; oradaki MOA+79 satırını kalem tutarı sanmak sık yapılan bir hatadır.

Başlık bilgisini ayrı tutun. Sipariş numarası, tarih ve taraf bilgisi kalem düzeyinde değil belge düzeyindedir. Bunları her satıra kopyalamak isterseniz tabloyu düzleştirmiş olursunuz — bu genellikle istenen şeydir ama bilinçli bir tercih olmalıdır.

Ondalık işaretini koruyun. Excel'in bölgesel ayarı virgül bekliyorsa, noktayla yazılmış 1.85 metin olarak algılanabilir ve toplama işlemleri çalışmaz. CSV oluştururken hedef sistemin ayarını düşünün.

Baştaki sıfırları kaybetmeyin. GTIN gibi kodlar sayı değil metindir. 05410013101234 Excel'de sayıya dönüşürse baştaki sıfır silinir ve kod artık eşleşmez. Sütunu metin olarak biçimlendirmek gerekir.

Her dosya tabloya uygun mu?

Hayır. Kalem listesi taşıyan mesajlar (sipariş, fatura, satış raporu, fiyat kataloğu) doğal olarak tabloya oturur. Ama bir CONTRL teyit mesajını ya da bir nakliye talimatını tabloya çevirmek pek anlamlı olmaz; onların yapısı liste değildir.

Satış raporu (SLSRPT) ve fiyat kataloğu (PRICAT) bu iş için en uygun ikisidir: ikisi de doğrudan "ürün başına bir satır" mantığıyla çalışır.

Pratik yol

Kendiniz ayrıştırıcı yazmadan önce, dosyayı bir görüntüleyicide açıp doğrudan CSV'ye aktarmayı deneyin. Hangi sütunların çıktığını görmek, kendi eşlemenizi yazarken neye ihtiyacınız olduğunu da netleştirir.

Dosyanızı hiçbir yere yüklemeden bunu yapabilirsiniz; dönüşüm tarayıcının içinde çalışabilir ve ticari veriniz cihazınızdan çıkmaz.

İlgili referans

LIN QTY

← Tüm yazılar