İçeriğe geç

Toplu veri yüklemede hatalı satırlar ne olmalı?

Web Teknolojileri
Toplu veri yüklemede hatalı satırlar ne olmalı?

Toplu veri yüklemede hatalı satırların ne olacağına dosyayı hazırlayan kişi değil, yazılımın yükleme kuralı karar verir: ya dosya tümden reddedilir ya da geçerli satırlar işlenip hatalılar ayrı bir rapora düşer. Çoğu iş için doğrusu ikincisidir, ancak kısmi yükleme yalnızca her satırın tekil bir anahtarı varsa ve aynı dosyanın ikinci kez yüklenmesi kayıtları çoğaltmıyorsa güvenlidir. Fiyat listesi, stok sayımı, cari açılış bakiyesi, personel listesi, ürün kataloğu — bu dosyalar her dönem yeniden gelir ve her seferinde birkaç satırı bozuktur. Bu yazıda toplu yükleme akışının hangi adımlardan kurulduğunu, doğrulamanın nerede yapıldığını ve kullanıcıya nasıl bir rapor döndüğünü anlatıyoruz.

Toplu yükleme hangi işlerde gerçekten gerekir

Her veri girişi toplu yükleme istemez. Günde birkaç kayıt ekleniyorsa form ekranı daha güvenlidir; çünkü form, alan alan doğrulama yapar ve kullanıcı hatayı anında görür. Toplu yükleme, veri başka bir sistemde üretildiğinde ya da adet elle girilemeyecek kadar yüksek olduğunda anlam kazanır.

  • Tedarikçiden dönem başında gelen fiyat ve iskonto listeleri
  • Depo sayımı sonrası düzeltilecek stok adetleri
  • Yeni sisteme geçişte bir kerelik açılış kayıtları
  • Pazaryeri ya da bayi tarafından hazırlanmış ürün özellik dosyaları
  • Banka ekstresi gibi düzenli aralıkla gelen hareket dosyaları

Bu beş başlığın ortak özelliği şudur: veriyi üreten taraf sizin kurallarınızı bilmez. O yüzden yükleme ekranı bir aktarım aracı değil, bir denetim noktasıdır.

Şablon ve alan sözlüğü olmadan yükleme kurulmaz

Toplu yüklemenin ilk şartı, indirilebilir bir şablon dosyasıdır. Şablon sütun adlarını, sırasını ve zorunlu alanları sabitler; kullanıcı kendi başlıklarıyla dosya hazırlamaya başladığında eşleme işi her ay yeniden yapılır. Şablonun yanında bir alan sözlüğü tutmak gerekir: her sütunun ne anlama geldiği, hangi biçimi kabul ettiği, boş bırakılabilir mi, hangi değer kümesinden seçildiği.

Tarih ve sayı biçimleri en sık kaybedilen yerdir. Ondalık ayırıcının virgül mü nokta mı olduğu, bin ayırıcının bulunup bulunmadığı, tarihin gün-ay-yıl mı yıl-ay-gün mü yazıldığı yüklemeden önce kararlaştırılır. Elektronik tablo programlarının başındaki sıfırları silmesi ve uzun kodları bilimsel gösterime çevirmesi de bilinen bir tuzaktır; barkod ve vergi numarası gibi alanlar metin olarak okunmalıdır.

Doğrulama üç katmanda yapılır

Hataların hepsi aynı değildir ve aynı yerde yakalanmaz. Doğrulamayı katmanlara ayırmak, kullanıcıya anlamlı bir hata listesi döndürmenin tek yoludur.

KatmanNe kontrol edilirÖrnek hata
BiçimSütun var mı, tür doğru mu, zorunlu alan dolu muAdet alanında metin, boş ürün kodu
EşleşmeSatırdaki kod sistemdeki bir kayda karşılık geliyor muTanımsız ürün kodu, kapalı cari hesap
İş kuralıDeğer işletme kuralına uyuyor muNegatif fiyat, alış fiyatının üstünde iskonto

Biçim hatası dosyanın tamamını riske atar ve yükleme başlamadan önce görülmelidir. Eşleşme hatası satır bazındadır ve genellikle eksik bir tanım kaydına işaret eder. İş kuralı hatası ise en pahalısıdır; çünkü veri teknik olarak geçerli görünür ama işletmeye yanlış sayı girer.

Kısmi yükleme mi, hep ya hiç mi

İki yaklaşım da meşrudur, seçim verinin niteliğine bağlıdır. Muhasebe tarafına giden ve kendi içinde dengelenmesi gereken dosyalarda hep ya hiç tercih edilir: tek satır bozuksa hiçbir satır yazılmaz, çünkü yarım yazılmış bir fiş dengesizdir. Fiyat ve stok gibi satır satır bağımsız verilerde kısmi yükleme daha kullanışlıdır; 2.000 satırlık listede 7 satır yüzünden işi bekletmek anlamsızdır.

Kısmi yüklemeyi seçtiyseniz iki şeyi garanti etmeniz gerekir. Birincisi, yüklemenin hangi satırları yazdığı kayıt altına alınır. İkincisi, kullanıcı düzeltilmiş dosyayı tekrar yüklediğinde geçmiş satırlar ikinci kez işlenmez; bunun yolu satır anahtarı üzerinden tekillik kurmaktır. Bu konunun ayrıntısını mükerrer kayıt ve idempotency yazısında ele aldık.

Hata raporu kullanıcının anlayacağı dilde olur

Yükleme sonunda dönen ekran, teknik bir günlük dökümü değil bir iş belgesidir. İyi bir rapor şu soruları cevaplar: kaç satır okundu, kaç satır yazıldı, kaç satır reddedildi, reddedilen satırların numarası ve sebebi ne. Sebep cümlesi alan adını ve beklenen değeri söylemelidir; geçersiz veri yazan bir mesaj kullanıcıyı dosyaya geri göndermez, destek hattına gönderir.

  1. Özet satırı: okunan, yazılan, reddedilen adetler
  2. Reddedilen satırların dosya satır numarasıyla listesi
  3. Her satır için hangi alanda hangi kuralın çiğnendiği
  4. Yalnızca hatalı satırları içeren, düzeltip tekrar yüklenebilir bir dosya
  5. İşlemi kimin, hangi dosya adıyla, ne zaman yaptığı kaydı

Önizleme adımı ve geri alma

Büyük dosyalarda yazma öncesi bir önizleme adımı, en çok sorunu önleyen tek özelliktir. Önizleme, dosyanın ilk satırlarını ve doğrulama sonucunu gösterir; kullanıcı neyin değişeceğini yazma işlemi gerçekleşmeden görür. Fiyat yüklemelerinde önizlemeye eski ve yeni değeri yan yana koymak, yanlış sütun eşlemesini anında ortaya çıkarır.

Geri alma ise ayrı bir tasarım kararıdır. Her yüklemeye bir iş numarası verip o işin yazdığı satırları işaretlemek, hatalı bir dosyanın etkisini tek hareketle geri almayı mümkün kılar. Bunu yapmıyorsanız, en azından yükleme öncesi etkilenen alanların eski değerini saklamak gerekir; aksi halde yanlış fiyat listesi geri döndürülemez.

Kısa kontrol listesi

  • İndirilebilir şablon ve alan sözlüğü yayınlandı mı
  • Barkod, vergi numarası gibi alanlar metin olarak okunuyor mu
  • Biçim, eşleşme ve iş kuralı doğrulamaları ayrı ayrı tanımlandı mı
  • Kısmi yükleme mi hep ya hiç mi, veri türüne göre karar verildi mi
  • Hatalı satırlar düzeltilip tekrar yüklenebilir dosya olarak dönüyor mu
  • Yükleme öncesi önizleme ve sonrası geri alma yolu var mı
  • Her yükleme kim, ne zaman, hangi dosya bilgisiyle kayıtlı mı

Özet: Toplu yükleme bir dosya okuma işi değil, kurallı bir kabul sürecidir. Şablonu sabitleyen, doğrulamayı katmanlara ayıran, hatalı satırı anlaşılır biçimde geri veren ve tekrar yüklemeyi güvenli kılan bir akış kurulduğunda aylık fiyat ve stok dosyaları sorun kaynağı olmaktan çıkar. KAV Yazılım, özel yazılım ve entegrasyon projelerinde bu yükleme akışlarını işletmenin kendi veri yapısına göre kurar.

Sık sorulan sorular

Excel mi CSV mi kullanmak daha güvenli?

CSV daha öngörülebilirdir çünkü biçimlendirme taşımaz ve metin olarak okunur. Excel dosyaları kullanıcı için kolaydır ama hücre biçimi yüzünden başındaki sıfırları silebilir, uzun kodları bilimsel gösterime çevirebilir. İkisini de kabul edip barkod ve vergi numarası gibi alanları metin olarak okumak en pratik çözümdür.

Yükleme sırasında sistem yavaşlıyor, ne yapılabilir?

Büyük dosyalar kullanıcı ekranda beklerken değil, arka planda kuyruğa alınarak işlenmelidir. Kullanıcı yükleme işini başlatır, işin durumunu bir ekrandan izler ve bitince raporu görür. Böylece hem tarayıcı zaman aşımına düşmez hem de diğer kullanıcılar etkilenmez.

Aynı dosyayı yanlışlıkla iki kez yüklersek ne olur?

Satır bazında tekil bir anahtar tanımlandıysa ikinci yükleme yeni kayıt oluşturmaz, var olanı günceller ya da atlar. Böyle bir anahtar yoksa kayıtlar çoğalır ve temizlemek elle iş gerektirir. Bu yüzden yükleme tasarımında tekillik kuralı en baştan belirlenir.

Hatalı yüklemeyi geri almak mümkün mü?

Her yüklemeye bir iş numarası verilip yazılan satırlar bu numarayla işaretlenirse geri alma tek hareketle yapılabilir. Böyle bir iz yoksa geri dönüş ancak yedekten ya da elle düzeltmeyle olur. Fiyat ve stok gibi kritik alanlarda geri alma yolunu baştan planlamak gerekir.

Toplu yükleme yetkisi kimde olmalı?

Toplu yükleme tek hareketle binlerce kaydı değiştirdiği için normal veri girişinden ayrı bir yetki olarak tanımlanır. Fiyat yükleme, stok düzeltme ve cari açılış gibi işler ayrı yetkilere bölünebilir. Her yüklemenin kim tarafından yapıldığının kaydı tutulmalıdır.
  • entegrasyon
  • fiyat listesi
  • toplu veri yükleme
  • veri doğrulama
  • veri kalitesi