Blog

SAP TM’de Muhataplar İçin Lokasyon Yarat BADI’si Nedir ?

SAP APO (Advanced Planning & Optimization) veya SAP SCM projelerinde, Business Partner’ların (muhatapların) otomatik olarak lokasyona (Location) dönüştürülmesi kritik bir adımdır. Özellikle CIF üzerinden ERP’den aktarılan müşteri, tedarikçi veya tesis verilerinin APO tarafında planlamada kullanılabilmesi için her bir muhatap için uygun bir Location master yaratılması gerekir. Fakat canlı geçişleri üncesi lokasyon ana verisinin yaratılması proje sürecini uzatabilir ya da hatalara sebebp olabilir.Bu noktada devreye /SAPAPO/LOC_CREATE BADI’si girer. Bu BADI, muhatap veya tesis verisi APO’ya geldiğinde, sistemin otomatik lokasyon yaratma davranışını özelleştirmenize olanak tanır.

/SAPAPO/LOC_CREATE BADI’sinin Amacı

Varsayılan sistem davranışı çoğu senaryoda yeterlidir ancak bazı gelişmiş planlama projelerinde aşağıdaki ihtiyaçlar oluşur:
  • Lokasyon tipinin kurala göre belirlenmesi
  • Lokasyon adlandırma sistematiğinin değiştirilmesi
  • Coğrafi koordinasyon, timezone, calendar gibi alanların otomatik doldurulması
  • Müşteri – dağıtım merkezi – depo gibi farklı muhatap türleri için farklı lokasyon yapılandırmaları
  • Veri eksik olduğunda hata verme veya loglama
  • CIF’ten gelen veriye göre özel mapping işlemleri
/SAPAPO/LOC_CREATE BADI’si tam da bu amaçlarla kullanılır ve lokasyon yaratma anında devreye girer. Standart BADI aktivasyonu lokasyon yaratmayı sağlayaaktır fakat yukarıda belirtilen ihtiyaçlar ortaya çıkarsa BADI’ye enhancement yapılabilir. Yazılan kod ile istenen yönelendirmeler yapılabilir.

BADI’nin Teknik Yapısı

BADI Adı: /SAPAPO/LOC_CREATE

Enhancement Spot: /SAPAPO/ENH_LOC_CREATE

Ana Metod: /SAPAPO/IF_LOC_CREATE~DET_LOC_CREATION_4_REL_BP

Bu metod BP yaratılmadan hemen önce tetiklenir ve BP kaydedilince lokasyon otomatik olarak yaratılır. Lokasyon /SCMTMS/LOC3 ekranında yaratılan lokasyonu yaratacaktır. İlgili BADI’nin aktifleştirilmesi SE18 ekranından yapılır. 

SE18 Ekranı İlgili BADI ve Enhancement Spot

SE18 Ekranı İlgili BADI ve Enhancement Spot

Eğer istenirse BADI kopyalanarak içindeki methoda kod yazılıp sürece dayalı ihtiyaçlar için kod yazılabilir.
SE18 Ekranı İlgili BADI’nin Metodu

SE18 Ekranı İlgili BADI’nin Metodu

BADI Kod Örneği

Aşağıdaki örnekte müşteri numarasına göre otomatik lokasyon tipi belirlenmektedir: 

METHOD Z_SAPAPO_IF_LOC_CREATE~DET_LOC_CREATION_4_REL_BP 

 

  "Muhatap verisini al 

  DATA: lv_partner TYPE bu_partner. 

  lv_partner = is_bp_data-partner. 

 

  "Lokasyon tipi belirle 

  IF lv_partner CP '1*'.     "10000–19999 arası müşteriler 

    cs_location-loctype = '1010'.   "Customer DC 

  ELSEIF lv_partner CP '2*'. "20000–29999 tedarikçiler 

    cs_location-loctype = '1020'.   "Vendor Location 

  ELSE. 

    cs_location-loctype = '1001'.   "Generic Location 

  ENDIF. 

 

  "Timezone default atama 

  IF cs_location-timezone IS INITIAL. 

    cs_location-timezone = 'UTC+3'. 

  ENDIF. 

 

  "Log mesajı 

  APPEND VALUE #( type = 'S' 

                  id = 'ZLOC' 

                  number = '001' 

                  message_v1 = lv_partner ) TO et_return. 

 

ENDMETHOD. 

BADI’nin Kullanım Senaryoları

Aşağıdaki durumlar için BADı kullanımı oldukça yaygındır: 
  • Otomatik Lokasyon Tipi Belirleme 
Örneğin müşteri → 1010, tedarikçi → 1020, depo → 1001. 
  • Lokasyon Adı (NAME1) Otomatik Oluşturma 
Ülke + Şehir + Partner ID kombinasyonu. 
  • Coğrafi Bilgi Atama 
Latitude – longitude otomatik hesaplama veya destek tablo okuma. 
  • Custom Timezone / Calendar Atama 
Operasyon bölgelerine göre planlama takvimlerinin atanması. 
  • Data Validation 
Eksik adres veya hatalı partner bilgisinde süreci durdurma. 
location master data

/SCMTMS/LOC3 Ekranı 

/SAPAPO/LOC_CREATE BADI’si, APO planlama süreçlerinde muhataplardan lokasyon master verisinin otomatik, güvenilir ve kurallara uygun bir şekilde türetilmesini sağlayan en kritik geliştirme noktalarından biridir. Özellikle karmaşık tedarik zinciri senaryolarında esnek bir yapı sunarak planlama kalitesini ve veri tutarlılığını artırır. 

Benzer
Bloglar

Mailiniz başarıyla gönderilmiştir en kısa sürede sizinle iletişime geçilecektir.

Mesajınız ulaştırılamadı! Lütfen daha sonra tekrar deneyin.