EDIFACT nedir? Yapısı ve okunuşu
EDIFACT (Electronic Data Interchange For Administration, Commerce and Transport), Birleşmiş Milletler tarafından geliştirilmiş uluslararası bir elektronik veri değişim standardıdır. Avrupa'da perakende, lojistik ve otomotiv sektörlerinde fiilî standarttır; Kuzey Amerika'da ise büyük ölçüde ANSI ASC X12 kullanılır.
Neden böyle görünüyor?
Bir EDIFACT dosyası ilk bakışta okunaksızdır:
UNB+UNOC:3+8712345678901:14+8798765432109:14+260117:1030+REF00042'
Bu tasarım tercihi bilinçlidir. Standart, 1980'lerde hat kapasitesinin pahalı olduğu bir dönemde tasarlandı; her karakter maliyetliydi. XML ya da JSON gibi etiket tekrar eden formatlar yerine, anlamın konumdan çıkarıldığı sıkı bir yapı seçildi.
Üç katman
Bir EDIFACT dosyası iç içe üç katmandan oluşur:
- Zarf (interchange) —
UNBile açılır,UNZile kapanır. Gönderen ve
alıcıyı taşır. Bir dosyada tek zarf bulunur.
- Mesaj (message) —
UNHile açılır,UNTile kapanır. Bir zarf birden
fazla mesaj taşıyabilir; her mesaj bir belgedir (bir sipariş, bir fatura).
- Segment — her satır bir segmenttir.
NADadres,QTYmiktar,MOAtutar.
Ayırıcı karakterler
Dört karakter yapıyı kurar:
| Karakter | Görevi |
|---|---|
' | Segment sonu |
+ | Eleman ayracı |
: | Alt eleman ayracı |
? | Kaçış (release) karakteri |
|---|
Bir metnin içinde bu karakterlerden biri geçecekse önüne ? konur. Örneğin ACME?+ORTAKLARI metni, + karakterini ayraç değil harf olarak okutur. Bu kaçış kuralını atlamak, ayrıştırıcıların en sık takıldığı yerdir.
Ayırıcılar varsayılan değildir, değiştirilebilir: dosya UNA segmentiyle başlıyorsa ayırıcılar oradan okunur.
Bir satırı okumak
NAD+SU+8712345678901::9++ACME FOODS BV+Havenweg 5+ROTTERDAM+3011AA+NL'
Elemanlara ayıralım:
NAD— segment kodu: taraf ve adresSU— rol: tedarikçi (supplier)8712345678901::9— firma kimliği;9GS1 standardını gösterir- (boş) — kullanılmayan eleman
ACME FOODS BV— firma ünvanıHavenweg 5— sokakROTTERDAM— şehir3011AA— posta koduNL— ülke
Dikkat edin: boş elemanlar atlanmaz, ++ şeklinde yerinde durur. Çünkü anlam konumdan gelir; bir eleman düşerse sonraki her şey kayar.
Nereden devam etmeli
Segment segment ilerlemek için segment referansına, belirli bir belge tipini anlamak için mesaj tipleri bölümüne bakabilirsiniz.