Blog
8 Eylül 2026

SAP IDoc Nedir? EDI ve Mesaj Tipi Rehberi

    TL;DR

    SAP IDoc (Intermediate Document), SAP ile dış sistemler arasında yapılandırılmış veri alışverişini sağlayan standart bir belge formatıdır. EDI mesajlarını SAP'a taşımak ya da SAP verilerini dış ortaklara iletmek için kullanılır. Her IDoc bir mesaj tipine (ORDERS, INVOIC, MATMAS gibi) bağlıdır ve üç katmandan oluşur: kontrol kaydı, veri kayıtları ve durum kayıtları.


    IDoc Yapısı: Kontrol, Veri ve Durum Kayıtları

    IDoc, düz metin tabanlı ve sabit uzunluklu alanlardan oluşan bir dosya formatıdır. SAP sistemi içinde EDIDC40 (kontrol), EDID4 (veri) ve EDIDS (durum) tablolarında saklanır.


    **Kontrol Kaydı (Control Record):**

    Her IDoc'un tek bir kontrol kaydı vardır. Bu kayıt mesaj tipini, gönderen/alıcı partner bilgilerini, yön kodunu (inbound=1, outbound=2) ve IDoc numarasını içerir. WE02 veya WE05 ekranında en üstte görünen satır budur.


    **Veri Kayıtları (Data Records):**

    IDoc'un gerçek içeriğini taşır. Her veri kaydı bir segment tipine karşılık gelir. Örneğin ORDERS05 mesaj tipinde E1EDK01 segmenti sipariş başlığını, E1EDP01 segmenti sipariş kalemini içerir. Segmentler hiyerarşik olarak düzenlenir; bir üst segment silinirse alt segmentler de geçersiz kalır.


    **Durum Kayıtları (Status Records):**

    IDoc'un yaşam döngüsünü izler. Her işlem adımı bir durum kodu üretir. Kritik durum kodları:


    | Durum | Açıklama |

    |---|---|

    | 03 | Outbound IDoc oluşturuldu, gönderilmeyi bekliyor |

    | 12 | Outbound IDoc başarıyla gönderildi |

    | 51 | Inbound IDoc hatalı — işlem uygulanamadı |

    | 53 | Inbound IDoc başarıyla SAP'a aktarıldı |

    | 64 | Outbound IDoc gönderim için hazır |

    | 68 | Hata — veri kaydı eksik ya da tutarsız |


    Durum 51, en sık karşılaşılan hata kodudur. BD87 ile bu IDoc'lar yeniden işleme alınabilir.


    Mesaj Tipleri ve IDoc Tipleri

    Mesaj tipi (Message Type) hangi iş sürecinin taşındığını tanımlar. IDoc tipi ise o mesajın fiziksel segment yapısını belirler. Bir mesaj tipi birden fazla IDoc tipiyle eşleştirilebilir.


    **Yaygın kullanılan mesaj tipleri:**


    | Mesaj Tipi | Açıklama | Temel IDoc Tipi |

    |---|---|---|

    | ORDERS | Satın alma siparişi | ORDERS05 |

    | INVOIC | Gelen/giden fatura | INVOIC02 |

    | DESADV | Sevkiyat bildirimi (ASN) | DELVRY03 |

    | MATMAS | Malzeme master verisi | MATMAS05 |

    | DEBMAS | Müşteri master verisi | DEBMAS06 |

    | CREMAS | Tedarikçi master verisi | CREMAS05 |

    | REMADV | Ödeme tavsiyesi | REMADV01 |

    | SHPMNT | Sevkiyat verisi | SHPMNT05 |

    | PORDCR | Satın alma siparişi değişikliği | PORDCH01 |


    WE60 t-koduyla her IDoc tipinin segment yapısını ve alan açıklamalarını görebilirsiniz. WE30 ile mevcut IDoc tiplerine özel segmentler eklenebilir (Extension IDoc).


    Partner Profili Yapılandırması: WE20

    Partner profili, SAP'ın bir iş ortağıyla hangi mesaj tipini, hangi yönde ve hangi port üzerinden iletişim kuracağını tanımlar. WE20 ekranı bu yapılandırmanın merkezi.


    **WE20 yapılandırma adımları:**


    1. Partner tipi seçin: LI (tedarikçi), KU (müşteri) veya LS (mantıksal sistem)

    2. Partner numarasını girin (tedarikçi/müşteri kodu veya RFC hedef adı)

    3. **Outbound parametre** ekleyin: Mesaj tipi, alıcı port, paket boyutu ve aktarım modu (hemen/zamanlanmış)

    4. **Inbound parametre** ekleyin: Mesaj tipi, işleme modu (hemen/arka plan) ve kullanılacak fonksiyon modülü


    **Port tanımı:**

    WE21 t-koduyla port tanımlanır. Port tipi iletişim kanalını belirler:


  • **tRFC Port:** SM59'da tanımlı RFC bağlantısı üzerinden SAP-to-SAP iletişim
  • **File Port:** Dosya sistemi üzerinden EDI mesajı okuma/yazma
  • **HTTPS Port:** SAP Integration Suite veya B2B platform entegrasyonu

  • **Yaygın hata:** WE20'de partner profili tanımlanmamışsa outbound IDoc durum 02'de (Port belirtilmedi) takılır ya da inbound IDoc durum 56'ya (Partner profili bulunamadı) düşer. Her iki durumda da ilk kontrol noktası WE20'dir.


    IDoc İzleme ve Hata Ayıklama T-Kodları

    IDoc süreçlerinde sorun giderme genellikle birkaç t-kodun kombinasyonuyla yapılır.


    **Temel izleme t-kodları:**


    | T-Kodu | İşlev |

    |---|---|

    | WE02 | IDoc listesi — tarih, mesaj tipi ve durum filtresiyle arama |

    | WE05 | IDoc izleme — segment detayıyla birlikte |

    | WE19 | IDoc test aracı — mevcut IDoc'u kopyalayarak test gönderimi |

    | BD87 | Hatalı inbound IDoc'ları yeniden işleme |

    | BD88 | Outbound IDoc'ları yeniden gönderme |

    | WE09 | IDoc arama — alan değeri bazında filtreleme |

    | SM58 | tRFC çağrılarını izleme — gönderim kuyrukları |


    **WE19 ile test:**

    WE19, mevcut bir IDoc numarasını şablon olarak alır, segment verilerini editlmenize izin verir ve inbound ya da outbound olarak yeniden işler. Üretim verilerine dokunmadan senaryo testleri yapmak için idealdir.


    **BD87 ile hata yönetimi:**

    BD87 ekranında durum 51 olan IDoc'lar listelenir. Kök neden segment detayındaki hata mesajından okunur — genellikle eksik master veri, yanlış birim kodu veya yetkisiz alan değeridir. Sorun giderildikten sonra IDoc seçilip "Yeniden İşle" yapılır; başarılı olursa durum 53'e geçer.


    **S/4HANA'da IDoc İzleme:**

    S/4HANA ile birlikte Fiori üzerinden IDoc izleme uygulamaları kullanıma girdi. "Monitor IDocs" (F4284) ve "Display IDocs" uygulamaları WE02/WE05'in modern karşılığıdır. SAP Integration Suite kullanıyorsanız IDoc akışları ayrıca Cloud Integration izleme panelinden de takip edilebilir.


    SSS


    **IDoc ile API farkı nedir, hangisi tercih edilmeli?**

    IDoc, asenkron ve dosya/RFC tabanlı geleneksel EDI entegrasyonu için tasarlanmıştır; özellikle tedarikçi/müşteri B2B senaryolarında onlarca yıllık olgunluğu vardır. API (REST/SOAP), gerçek zamanlı ve iki yönlü iletişim gerektiren modern entegrasyonlar için uygundur. S/4HANA projelerinde yeni entegrasyonlarda SAP Integration Suite iFlow ile API tercih edilir; mevcut EDI altyapısını korumak için IDoc kullanılmaya devam eder.


    **IDoc neden durum 51'de takılı kalıyor?**

    En yaygın nedenler: eksik veya hatalı master veri (malzeme, tedarikçi kodu yok), yanlış birim/para birimi, yetkisiz segment alanı, ya da işleme fonksiyon modülündeki ABAP hatası. BD87'de IDoc seçip "Hata Günlüğü" sekmesini açın; açıklama mesajı kök nedeni doğrudan gösterir.


    **Aynı tedarikçiden iki farklı mesaj tipi (ORDERS ve INVOIC) almak için ne yapılır?**

    WE20'de aynı partner için iki ayrı inbound parametre satırı eklenir: biri ORDERS, diğeri INVOIC mesaj tipi için. Her satır bağımsız işleme fonksiyon modülüne yönlendirilebilir. Partner profili, partner başına birden fazla mesaj tipini destekler.


    **WE19 ile test yaparken "Partner profili bulunamadı" hatası alıyorum.**

    WE19 test modunda sender/receiver partner bilgilerini kontrol edin. Inbound test için alıcı partner (genellikle kendi SAP sisteminiz) WE20'de LS (mantıksal sistem) tipiyle tanımlı olmalıdır. BD_MONI veya SALE t-koduyla mantıksal sistem adını doğrulayın.


    **IDoc segmentine özel alan eklenebilir mi?**

    Evet. WE31 ile yeni segment oluşturulur, WE30 ile mevcut IDoc tipine extension segment olarak eklenir. Extension IDoc tipi standart tipten türetilir (örn. ZORDERS05 — ORDERS05'ten). Bu sayede SAP güncelleme yükseltmelerinde özel alanlar etkilenmez; segment ayrı bir namespace'de kalır.


    ---


    IDoc entegrasyonu, partner profili kurulumu veya S/4HANA EDI dönüşümü için uzmanlarımızla iletişime geçin.


    [İletişime Geçin →](/iletisim)


    **CONSULANT | SAP FI · CO · PA · ABAP Danışmanlık**

SAP danışmanlığı mı arıyorsunuz?

Uzman ekibimizle ücretsiz ön değerlendirme için iletişime geçin.

İletişime Geçin →