EKKO ve EKPO Nedir? SAP Satınalma Tabloları ve SQL JOIN Rehberi
SAP MM tarafında satınalma siparişlerini raporlamak isteyen bir BI veya veri uzmanının en sık karşılaştığı tablolardan ikisi EKKO ve EKPO tablolarıdır.
Bu iki tablo birlikte kullanıldığında bir satınalma siparişinin hem başlık bilgisini hem de kalem detaylarını analiz etmek mümkün olur.
Kısa tanım:
EKKO— Satınalma belgesi başlık bilgileriEKPO— Satınalma belgesi kalem bilgileri
Bu yapı, SAP’teki klasik header-item veri modelinin iyi örneklerinden biridir.
EKKO tablosu nedir?
EKKO, satınalma belgelerinin başlık seviyesindeki bilgilerini içerir.
Bir satınalma siparişinin genel olarak tüm kalemleri için ortak olan bilgiler burada bulunur.
Örneğin:
- Satınalma belgesi numarası
- Belge türü
- Satıcı / tedarikçi
- Satınalma organizasyonu
- Satınalma grubu
- Şirket kodu
- Belge tarihi
- Para birimi
EKKO’daki temel anahtarlardan biri:
EBELN — Satınalma belgesi numarasıdır.
Bir PO içerisinde 10 farklı malzeme kalemi olsa bile başlık bilgisi EKKO tarafında belge seviyesinde tutulur.
EKPO tablosu nedir?
EKPO, satınalma belgesinin kalem seviyesindeki detaylarını içerir.
Örneğin bir satınalma siparişinde üç farklı malzeme varsa, bu malzemeler ayrı kalemler halinde EKPO tarafında bulunur.
Sık karşılaşılan alanlardan bazıları:
EBELN— Satınalma belgesi numarasıEBELP— Satınalma belgesi kalem numarasıMATNR— Malzeme numarasıWERKS— PlantLGORT— Depo yeriMENGE— Sipariş miktarıMEINS— Ölçü birimiNETPR— Net fiyat
Alanların kullanımı SAP sürümüne ve şirket konfigürasyonuna göre farklılaşabilir; ancak temel başlık-kalem mantığı değişmez.
EKKO ve EKPO nasıl bağlanır?
İki tablo temel olarak EBELN alanı üzerinden ilişkilendirilir.
EKKO-EBELN = EKPO-EBELN
Bu ilişki sayesinde EKKO’daki tedarikçi veya şirket kodu bilgisi ile EKPO’daki malzeme, miktar ve plant detayları aynı raporda kullanılabilir.
Basit veri modeli:
EKKO
|
| EBELN
|
EKPO
Örnek SQL JOIN
Bir veri ambarına alınmış SAP tablolarında temel sorgu mantığı şu şekilde kurulabilir:
SELECT
h.EBELN AS PO_NO,
h.LIFNR AS VENDOR_NO,
h.BUKRS AS COMPANY_CODE,
h.EKORG AS PURCH_ORG,
h.BEDAT AS DOCUMENT_DATE,
i.EBELP AS PO_ITEM,
i.MATNR AS MATERIAL_NO,
i.WERKS AS PLANT,
i.MENGE AS ORDER_QTY,
i.NETPR AS NET_PRICE
FROM EKKO h
INNER JOIN EKPO i
ON h.EBELN = i.EBELN;
Bu sorgu, satınalma siparişlerini kalem seviyesinde analiz etmek için başlangıç noktasıdır.
Gerçek projelerde tablo adları, şema adları ve veri tipleri kullanılan kaynak sisteme göre değişebilir.
Neden sadece EKKO yeterli değildir?
Sadece EKKO kullanırsanız belge seviyesindeki bilgileri görürsünüz ancak siparişin hangi malzemelerden oluştuğunu detaylı analiz edemezsiniz.
Örneğin:
4500012345 numaralı PO hangi tedarikçiye ait?
sorusuna EKKO cevap verebilir.
Ancak:
Bu PO içerisinde hangi malzemeler, hangi miktarda ve hangi plant için sipariş edildi?
sorusu için EKPO gerekir.
Bu nedenle satınalma analitiğinde iki tablo genellikle birlikte değerlendirilir.
EKKO ve EKPO ile hangi raporlar hazırlanabilir?
Bu iki tabloyla doğrudan veya ek SAP tablolarıyla zenginleştirerek birçok analiz üretilebilir:
- Tedarikçi bazında satınalma hacmi
- Malzeme bazında sipariş miktarı
- Plant bazında satınalma dağılımı
- Aylık PO trendi
- Açık satınalma siparişleri
- Sipariş fiyat analizi
- Satınalma organizasyonu performansı
- Tedarikçi yoğunlaşma analizi
Örneğin tedarikçi ana verileriyle birleşim kurulduğında rapora tedarikçi adı ve ülke bilgisi de eklenebilir.
BI modelinde nasıl kullanılabilir?
Bir veri ambarında satınalma modeli aşağıdaki gibi kurgulanabilir:
SAP
|
|-- EKKO
|-- EKPO
|-- Tedarikçi ana verisi
|-- Malzeme ana verisi
|
Bronze
|
Silver Purchase Order Model
|
Gold Purchasing KPI Model
Silver katmanında EKKO ve EKPO birleştirilerek standartlaştırılmış satınalma siparişi modeli oluşturulabilir.
Gold katmanında ise:
- Toplam satınalma tutarı
- Sipariş adedi
- Ortalama sipariş değeri
- Tedarikçi bazında harcama
- Plant bazında satınalma
gibi KPI’lar hazırlanabilir.
ME21N ile EKKO ve EKPO ilişkisi
SAP üzerinde ME21N ile bir satınalma siparişi oluşturulduğunda kullanıcı uygulama ekranında tek bir belge üzerinde çalışır.
Veri tarafında ise bu belgenin genel bilgileri ile kalem detayları farklı yapılarda tutulur.
Bu nedenle operasyonel SAP ekranını öğrenmek kadar arka plandaki veri modelini anlamak da BI ve ETL projelerinde önemlidir.
EKKO, EKPO ve mal girişi ilişkisi
Satınalma siparişi oluşturulduktan sonra süreç genellikle mal girişine devam eder.
Basitleştirilmiş akış:
ME21N → PO
|
| EKKO / EKPO
v
MIGO → Mal Girişi
v
MIRO → Fatura Kontrolü
Bu zincir uçtan uca satınalma analitiğinin temelini oluşturur.
PO verisini malzeme hareketleri ve fatura verileriyle birleştirdiğinizde siparişten faturaya kadar tüm süreci ölçebilirsiniz.
Sık yapılan hata: toplamları iki kez saymak
Header-item modelinde en sık yapılan raporlama hatalarından biri başlık seviyesindeki bir değeri kalem seviyesine join ettikten sonra kontrolsüz şekilde toplamaktır.
Örneğin bir EKKO kaydı 10 EKPO kalemine bağlanıyorsa, başlık seviyesindeki bazı değerler 10 satırda tekrar edebilir.
Bu nedenle ölçünün hangi grain seviyesinde olduğu mutlaka bilinmelidir.
BI modellemede temel soru şudur:
Bu alan belge seviyesinde mi, kalem seviyesinde mi?
Bu ayrım yanlış yapılırsa rapordaki toplamlar hatalı olabilir.
Sonuç
EKKO ve EKPO, SAP MM satınalma verisinin temel tablolarındandır.
En kritik ilişki:
EKKO.EBELN = EKPO.EBELN
EKKO başlık seviyesini, EKPO ise kalem seviyesini temsil eder. Satınalma siparişlerini SQL, Qlik Sense, Power BI veya başka bir BI platformunda analiz etmek için bu iki tablo arasındaki grain farkını doğru anlamak gerekir.
SAP MM sürecinin tamamını anlamak için SAP MM Modülü: Malzeme Yönetimi Süreçleri ve İş Akışı Rehberi içeriğine de göz atabilirsiniz.
DataPlaybook üzerindeki SAP uygulama ortamında satınalma sürecini ekran üzerinden de deneyebilirsiniz.