DTM: hangi tarih hangisi?
Bir EDI dosyasında birden fazla DTM satırı görürsünüz ve hepsi tarih taşır. Hangisinin belge tarihi, hangisinin teslim tarihi olduğunu söyleyen şey satırın kendisi değil, içindeki nitelikçi koddur.
Yapısı
DTM+137:20260117:102'
Üç parça vardır:
| Parça | Değer | Anlamı |
|---|---|---|
| Nitelikçi | 137 | Bu bir belge tarihi |
| Değer | 20260117 | 17 Ocak 2026 |
| Format | 102 | YYYYMMDD biçiminde |
Nitelikçiyi okumadan tarihi kullanmak, EDI'de en sık yapılan hatalardan biridir.
Sık karşılaşılan nitelikçiler
| Kod | Anlamı |
|---|---|
137 | Belge / mesaj tarihi |
2 | İstenen teslim tarihi |
35 | Fiili teslim tarihi |
11 | Sevk (despatch) tarihi |
132 | Tahmini varış |
203 | Ödeme tarihi |
263 | Fatura dönemi |
356 | Dönem başlangıcı |
357 | Dönem bitişi |
137 neredeyse her mesajda bulunur; diğerleri mesaj tipine göre değişir. Bir siparişte 2 (istenen teslim), bir irsaliyede 11 (sevk), bir satış raporunda 356/357 (dönem) görürsünüz.
Format kodu neden önemli?
Üçüncü parça tarihin nasıl yazıldığını söyler. En yaygın ikisi:
| Kod | Biçim | Örnek |
|---|---|---|
102 | YYYYMMDD | 20260117 |
203 | YYYYMMDDHHMM | 202601171430 |
Daha eski dosyalarda 101 (YYMMDD) de görülür. İki haneli yıl, 2000 öncesi kalıntısıdır ve yüzyılı tahmin etmeyi gerektirir — mümkünse kaçının.
Format kodunu yok sayıp uzunluğa göre tahmin yürüten kodlar bir süre çalışır, sonra saat bilgisi taşıyan bir dosyada bozulur.
UNB'deki tarih farklıdır
Zarf başlığındaki tarih bu kalıba uymaz:
UNB+UNOC:3+A:14+B:14+260117:1030+REF00042'
Buradaki 260117:1030, YYMMDD:HHMM biçimindedir ve nitelikçisi yoktur — her zaman aktarımın gönderilme zamanıdır. Yani UNB tarihini DTM mantığıyla okumaya çalışmak sonuç vermez.
Zaman dilimi meselesi
EDIFACT tarihleri varsayılan olarak zaman dilimi taşımaz. 202601171430 hangi saat diliminde 14:30? Standart bunu söylemez; şartname söyler.
Pratikte iki yaklaşım vardır: ya her iki taraf yerel saati kullanır ve bunu sözleşmede sabitler, ya da DTM yanında ayrı bir zaman dilimi göstergesi taşınır. Uluslararası akışlarda bu ayrımı atlamak, teslim tarihlerinin bir gün kaymasına yol açabilir.
Aynı nitelikçi birden fazla geçerse
Bu geçerlidir ve anlamı konuma bağlıdır. Mesaj başlığında geçen bir DTM, belgenin tamamı için geçerlidir; bir LIN (kalem) segmentinden sonra geçen aynı kod yalnızca o kalem için geçerlidir.
DTM+2:20260125:102' <- tum siparis icin istenen teslim
LIN+1++5410013101234:EN'
DTM+2:20260130:102' <- yalnizca bu kalem icin
Kalem düzeyindeki tarih, başlıktakini o kalem için ezer. Bu kuralı atlayan eşlemeler, kısmi teslimatlarda yanlış tarih üretir.
Kontrol listesi
1. Nitelikçiyi okuyun, konumdan tahmin etmeyin 2. Format kodunu kullanın, uzunluğa bakarak tahmin etmeyin 3. UNB tarihini ayrı ele alın 4. Kalem düzeyindeki DTM'in başlıktakini ezdiğini unutmayın
Bir dosyadaki tarihlerin hangisinin ne olduğunu görmek için, satırı seçtiğinizde nitelikçiyi çözen bir görüntüleyici en hızlı yoldur.