MARA, MARC ve MARD Arasındaki Fark Nedir? SAP Malzeme Tabloları Rehberi


SAP MM ile çalışan veri analistlerinin en çok karıştırdığı konulardan biri MARA, MARC ve MARD tablolarının hangi seviyede veri tuttuğudur.

Üç tablo da malzeme ile ilgilidir; ancak aynı şeyi temsil etmez.

Kısa özet:

  • MARA — Malzemenin genel bilgileri
  • MARC — Malzemenin plant bazındaki bilgileri
  • MARD — Malzemenin depo yeri bazındaki stok bilgileri

Asıl fark, veri seviyesidir.

MARA nedir?

MARA, malzeme ana verisinin genel seviyesindeki bilgileri içerir.

Bir malzeme şirket içerisinde birden fazla plant’ta kullanılsa bile genel özellikleri MARA tarafında tutulur.

Sık karşılaşılan alanlardan bazıları:

  • MATNR — Malzeme numarası
  • MTART — Malzeme türü
  • MATKL — Malzeme grubu
  • MEINS — Temel ölçü birimi

Basit olarak:

MARA = Malzeme seviyesi

Örneğin 100001 numaralı bir malzemenin genel tanımı bir kez bulunabilir.

MARC nedir?

MARC, malzemenin plant bazındaki bilgilerini içerir.

Aynı malzeme birden fazla üretim yerinde kullanılabilir ve her plant için farklı planlama veya operasyon özelliklerine sahip olabilir.

MARC’ın temel anahtar mantığı:

MATNR + WERKS

Yani aynı malzeme farklı plant’larda birden fazla MARC kaydına sahip olabilir.

Örneğin:

Malzeme 100001 + Plant 1000
Malzeme 100001 + Plant 2000
Malzeme 100001 + Plant 3000

Bu durumda MARA tarafında malzeme bir genel kayıtla temsil edilirken MARC tarafında üç plant kaydı bulunabilir.

MARD nedir?

MARD, malzemenin depo yeri yani storage location seviyesindeki bilgilerini içerir.

Temel grain:

MATNR + WERKS + LGORT

Burada:

  • MATNR — Malzeme
  • WERKS — Plant
  • LGORT — Depo yeri

olarak düşünülebilir.

Aynı malzeme aynı plant içinde birden fazla depo yerinde bulunabilir.

Örneğin:

100001 | Plant 1000 | Depo 0001
100001 | Plant 1000 | Depo 0002
100001 | Plant 1000 | Depo 0003

Bu nedenle MARD, MARC’a göre daha detaylı bir veri seviyesine sahiptir.

Üç tablo arasındaki temel fark

En kolay yaklaşım veri seviyesini düşünmektir:

MARA
Malzeme
  |
  v
MARC
Malzeme + Plant
  |
  v
MARD
Malzeme + Plant + Depo Yeri

Bu hiyerarşi BI modelleme açısından kritik öneme sahiptir.

Örnek senaryo

Bir şirketin HAMMADDE-01 isimli malzemesi olduğunu düşünelim.

Malzeme iki fabrikada kullanılıyor:

  • İstanbul Plant 1000
  • Ankara Plant 2000

İstanbul plant içerisinde ise iki depo yeri bulunuyor:

  • 0001 Hammadde Deposu
  • 0002 Kalite Deposu

Bu durumda veri mantığı yaklaşık olarak şöyle görünür:

MARA
HAMMADDE-01

MARC
HAMMADDE-01 | 1000
HAMMADDE-01 | 2000

MARD
HAMMADDE-01 | 1000 | 0001
HAMMADDE-01 | 1000 | 0002
HAMMADDE-01 | 2000 | 0001

Bu örnek üç tablonun neden ayrı tutulduğunu açık biçimde gösterir.

MARA ve MARC nasıl bağlanır?

Temel ilişki malzeme numarası üzerinden kurulur:

MARA.MATNR = MARC.MATNR

Ancak MARC’ta aynı malzeme birden fazla plant kaydına sahip olabileceği için join sonrası MARA satırı çoğalabilir.

Bu normaldir; çünkü veri artık plant seviyesine inmiştir.

MARC ve MARD nasıl bağlanır?

MARD, hem malzeme hem de plant bilgisini taşır.

Bu nedenle ilişki genellikle:

MARC.MATNR = MARD.MATNR
AND
MARC.WERKS = MARD.WERKS

mantığıyla kurulur.

Sadece MATNR üzerinden join yapılırsa farklı plant’lardaki depo kayıtları yanlış eşleşebilir.

Bu, BI projelerinde ciddi veri çoğalmasına yol açabilecek tipik bir hatadır.

Örnek SQL JOIN

Basitleştirilmiş bir sorgu şöyle olabilir:

SELECT
    a.MATNR AS MATERIAL_NO,
    a.MTART AS MATERIAL_TYPE,
    a.MATKL AS MATERIAL_GROUP,
    p.WERKS AS PLANT,
    s.LGORT AS STORAGE_LOCATION,
    s.LABST AS UNRESTRICTED_STOCK
FROM MARA a
INNER JOIN MARC p
    ON a.MATNR = p.MATNR
LEFT JOIN MARD s
    ON p.MATNR = s.MATNR
   AND p.WERKS = s.WERKS;

Bu sorgu malzeme genel verisini plant ve depo yeri seviyesine kadar açar.

Gerçek sistemlerde kullanılacak alanlar ve stok ölçüleri SAP sürümüne ve iş ihtiyacına göre ayrıca değerlendirilmelidir.

BI tarafında grain neden önemlidir?

Bir tabloyu anlamanın en önemli yollarından biri şu soruyu sormaktır:

Bu tablodaki bir satır neyi temsil ediyor?

MARA için cevap:

Bir malzeme.

MARC için:

Bir malzemenin bir plant’taki kaydı.

MARD için:

Bir malzemenin bir plant içindeki bir depo yerindeki kaydı.

Bu grain farkı bilinmeden oluşturulan join’ler raporda satır çoğalmasına ve yanlış toplamlara neden olabilir.

Hangi tablo hangi raporda kullanılır?

Malzeme ana veri raporu

Genellikle MARA başlangıç noktasıdır.

Örneğin:

  • Malzeme türü dağılımı
  • Malzeme grubu analizi
  • Aktif malzeme listesi

Plant bazlı malzeme analizi

MARC öne çıkar.

Örneğin:

  • Hangi plant hangi malzemeleri kullanıyor?
  • Malzeme hangi üretim yerlerinde tanımlı?
  • Plant bazında planlama bilgileri

Depo ve stok analizi

MARD önemlidir.

Örneğin:

  • Depo yeri bazında stok
  • Malzemenin hangi depolarda bulunduğu
  • Plant ve storage location karşılaştırmaları

MM01 ile bu tabloların ilişkisi

SAP’te MM01 ile malzeme oluştururken kullanıcı farklı görünümleri ve organizasyon seviyelerini seçer.

Bu nedenle ekranda tek bir malzeme oluşturuyor gibi görünseniz de arka planda veri farklı organizasyon seviyelerinde tutulabilir.

Bu yapı SAP ana veri modelinin temel prensiplerinden biridir.

MMBE ve MB52 ile ilişkisi

Stok görüntüleme ekranlarında kullanıcı plant ve depo yeri detaylarını görebilir.

Bu nedenle MARD gibi storage location seviyesindeki tablolar, stok raporlarının veri modelini anlamada önemlidir.

Ancak SAP stok verisi yalnızca tek bir tablodan ibaret değildir. Raporun amacı ve SAP sürümü doğrultusunda farklı stok ve hareket tabloları da değerlendirilmelidir.

En sık yapılan 3 hata

  1. MARA ile MARC aynı seviyedeymiş gibi davranmak.
  2. MARC ile MARD join ederken yalnızca MATNR kullanmak.
  3. Depo yeri seviyesindeki stokları plant seviyesine çıkarmadan önce grain kontrolü yapmamak.

Bu hatalar özellikle büyük SAP veri setlerinde toplamların katlanmasına neden olabilir.

Sonuç

MARA, MARC ve MARD arasındaki farkı tek cümlede şöyle özetleyebiliriz:

MARA = Malzeme
MARC = Malzeme + Plant
MARD = Malzeme + Plant + Depo Yeri

SAP verisini SQL, Qlik Sense, Power BI veya veri ambarında doğru modellemek için bu veri seviyelerini bilmek temel gerekliliktir.

Daha geniş süreç için SAP MM Modülü: Malzeme Yönetimi Süreçleri ve İş Akışı Rehberi içeriğini inceleyebilirsiniz.

SAP ekranlarını deneyerek öğrenmek için DataPlaybook SAP uygulama ortamına geçebilirsiniz.

Ali Rıza Ekici

İş Zekâsı, Qlik Sense, ETL, SAP, SQL ve veri analitiği üzerine uygulamalı içerikler hazırlıyor.

Yazar ve deneyim hakkında →