SAP Integration Suite entegrasyon akışlarında mesajlar nadiren kaynak sistemden geldiği biçimiyle hedef sisteme iletilebilir. Content Modifier adımı, bu boşluğu kapatmanın en pratik ve güçlü yoludur. Bu rehberde Content Modifier’ın ne işe yaradığını, hangi sekmelerin hangi senaryolarda kullanıldığını, exchange property ile header arasındaki kritik farkı ve gerçek dünya örnekleriyle adım adım yapılandırmayı öğreneceksiniz. Rehberin sonunda Content Modifier’ı güvenle uygulayabilir, yaygın hatalardan kaçınabilir ve entegrasyon akışlarınızı daha bakımı kolay hâle getirebileceksiniz.
İçindekiler
Content Modifier, SAP Integration Suite (eski adıyla SAP Cloud Platform Integration – SAP CPI) içinde bir entegrasyon akışında mesaj içeriğini, başlıklarını (headers) ve değişken özelliklerini (exchange properties) dönüştürmek için kullanılan temel bir adımdır. Kaynak sistemden gelen bir mesajı doğrudan hedefe iletmek yerine bu adım sayesinde mesajı zenginleştirebilir, yeniden şekillendirebilir veya filtreleyebilirsiniz.
SAP belgelerine göre Content Modifier, Message Header, Exchange Property ve Message Body olmak üzere üç farklı katmanda değişiklik yapmanıza olanak tanır. Bu esneklik, aracı tek bir bileşenle hem routing kararları için değer taşıma hem de payload şekillendirme gibi birden fazla amaca hizmet eder.
İlgili konular için SAP Integration Suite’te Header, Property ve Exchange yazımızı inceleyebilirsiniz. Ayrıca SAP Integration Suite Monitoring: PO’dan Geçişte 7 Zor Nokta yazımız da entegrasyon akışlarını anlamak için faydalı bir kaynak olacaktır.
Content Modifier bileşeni açıldığında üç sekme karşınıza çıkar. Her sekmenin farklı bir kapsamı ve kullanım amacı vardır. Bu ayrımı kavramak, hem hatasız akış tasarımı hem de kolay bakım için kritiktir.
Bu sekme, mesaja HTTP ya da SOAP başlığı eklemenizi veya mevcut başlıkları değiştirmenizi sağlar. Özellikle HTTP adapter kullanırken Content-Type veya Authorization gibi başlıkları buradan ayarlarsınız.
Önemli uyarı: Header değerleri mesaj tamamlanana kadar bellekte tutulur; ancak bazı adapter’lar akıştan çıkarken başlıkları siler. Bu nedenle kritik değerleri aynı zamanda Exchange Property olarak da saklamak iyi bir pratiktir.
Exchange Property, SAP Integration Suite’in en güçlü değişken mekanizmalarından biridir. Burada tanımladığınız değerler tüm akış boyunca erişilebilir kalır ve birden fazla adım arasında veri taşımanızı kolaylaştırır.
Bir değeri property olarak kaydetmek için Expression Type sütununu XPath, Constant veya ${header.xxx} gibi seçeneklerden birine ayarlayıp Value alanına ilgili ifadeyi yazmanız yeterlidir.
${header.xxx}
Bu sekme, mesajın gövdesini (payload) değiştirmenize olanak tanır. Sabit bir XML veya JSON içeriği girmek ya da Groovy/XSLT ile üretilmiş dinamik içeriği yerleştirmek için kullanılır. Özellikle downstream sisteme gönderilecek mesajın önceden şablonlandırılmış olduğu senaryolarda değerlidir.
Aşağıdaki örnek senaryo, bir satış siparişi entegrasyonunda kullanılan Content Modifier konfigürasyonunu gerçek dünya yaklaşımıyla açıklamaktadır. SAP S/4HANA’dan gelen bir sipariş mesajının OrderID değeri property olarak saklanacak, ardından mesaj body’si zenginleştirilecektir.
orderID
/Order/OrderID
java.lang.String
Pratik Not – XPath Kullanımı: XPath ifadeleri, gelen mesajın XML yapısına göre değişir. Mesajın namespace içerdiği durumlarda namespace-uri() fonksiyonunu kullanmayı veya local-name() ile namespace’i devre dışı bırakmayı tercih edin.
namespace-uri()
local-name()
XML
//*[local-name()='OrderID']
<EnrichedOrder> <ID>${property.orderID}</ID> <ProcessedAt>${date:now:yyyy-MM-dd}</ProcessedAt> </EnrichedOrder>
SAP Integration Suite’in Monitoring ekranından ya da bir REST istemcisi (örn. Postman) üzerinden test mesajı gönderin. Message Processing Log bölümünde her adımın girdi ve çıktı payload’ını inceleyerek Content Modifier’ın beklediğiniz dönüşümü gerçekleştirip gerçekleştirmediğini doğrulayın.
SAP CPI öğrenme sürecinin en sık kafa karıştıran noktalarından biri, Message Header ile Exchange Property’nin ne zaman kullanılacağını bilmektir. Her ikisi de akış boyunca değer taşır; ancak kapsamları ve davranışları önemli ölçüde farklıdır.
Bu konuyu daha ayrıntılı anlamak için SAP Integration Suite’te Header, Property ve Exchange Nedir? yazımızı okumanızı öneririz.
Kural olarak: Bir değeri sadece akış içinde kullanacaksanız Exchange Property tercih edin. Değerin bir adapter tarafından okunması ya da hedef sisteme başlık olarak iletilmesi gerekiyorsa Message Header kullanın.
Bir Router adımından önce gelen mesajdaki müşteri tipi değerini (örn. PREMIUM veya STANDARD) property olarak saklayabilir, sonra Router koşulunda bu property’yi kullanabilirsiniz.
/Customer/Type
Bir REST servisi çağırırken Authorization başlığını Content Modifier ile eklemek, bu değeri akışın geri kalanından izole tutar ve adapter konfigürasyonunu temiz bırakır.
Bearer eyJhbGciOiJSUzI1NiJ9...
Exception subprocess içinde Content Modifier kullanarak insan tarafından okunabilir bir hata mesajı body’si oluşturabilirsiniz. Bu yaklaşım, hata bildirim e-postalarını ya da alert mesajlarını standartlaştırmak için idealdir.
EXPRESSION
Hata: ${exception.message} – Zaman: ${date:now:HH:mm:ss}
Downstream sisteme her zaman aynı acknowledgment mesajını göndermeniz gerekiyorsa Message Body sekmesinde sabit bir XML veya JSON içeriği tanımlayabilirsiniz. Bu, gereksiz mapping adımlarını ortadan kaldırır ve akışı sadeleştirir.
prop_orderID
prop_customerType
MDP Group olarak gerçekleştirdiğimiz B2B entegrasyon projelerinde Content Modifier’ın doğru konumlandırılmasının akış kararlılığını ve bakım kolaylığını doğrudan etkilediğini gözlemledik. Content Modifier tek başına güçlü bir araç olsa da asıl değerini SAP Integration Suite’in diğer bileşenleriyle birlikte kullanıldığında ortaya çıkar.
Tipik bir B2B entegrasyonunda Content Modifier şu şekilde konumlandırılır:
Bu mimari, SAP Integration Suite’in Cloud Integration katmanında yaygın olarak kullanılmaktadır. Özellikle SAP S/4HANA, SAP SuccessFactors ve üçüncü taraf sistemler arasındaki entegrasyonlarda Content Modifier, tutarlı bir veri akışı sağlamanın temel taşlarından biridir.
Daha ileri düzey dönüşümler için Content Modifier’ı Groovy Script veya XSLT Mapping adımlarıyla birleştirmeyi değerlendirin. Scheduler ve polling gibi zamanlama konularını öğrenmek için SAP Integration Suite Scheduler Polling Nedir? yazımızı inceleyebilirsiniz.
Sınırlama ve Uyarı: Bu rehberde anlatılan yöntemler SAP Integration Suite Cloud Integration bileşeni kapsamındadır. SAP Process Orchestration (PO) veya eski CPI sürümlerinde bazı özellikler farklı çalışabilir. Üretim ortamına geçmeden önce tüm konfigürasyonları sandbox ortamında test etmenizi öneririz.
Content Modifier, body, header ve property’yi aynı anda yönetebilen çok amaçlı bir adımdır. Message Transformer ise yalnızca mesaj gövdesinin formatını (örn. XML’den JSON’a) değiştirmek için kullanılır. Basit değer atamalarında Content Modifier tercih edilmeli, format dönüşümlerinde ise Message Transformer veya Mapping adımları kullanılmalıdır.
Hayır. Exchange Property yalnızca mevcut entegrasyon akışının çalışma zamanında geçerlidir. Akış tamamlandığında tüm property değerleri bellekten silinir ve dışarıya taşınmaz. Kalıcı veri saklamak için Data Store veya Variables kullanılmalıdır.
Content Modifier son derece hafif bir adımdır ve performans üzerindeki etkisi ihmal edilebilir düzeydedir. Okunabilirlik ve bakım kolaylığı adına sorumlulukları birden fazla Content Modifier adımına bölmek, tek bir adıma çok fazla işlem yüklemekten daha iyi bir yaklaşımdır. SAP’nin resmi tasarım kılavuzları da bu yaklaşımı destekler.
Bu rehberde SAP Integration Suite’de Content Modifier bileşeninin kapsamlı bir incelemesini yaptık. Content Modifier; Message Header, Exchange Property ve Message Body olmak üzere üç katmanda çalışır. Exchange Property akış içi geçici değerleri saklamak için en güvenli yoldur. Message Header ise adapter’a özgü metadata taşımak için kullanılmalıdır. XPath, Constant ve Expression tipleriyle dinamik ya da statik değerler tanımlanabilir.
SAP Integration Suite ile entegrasyon geliştirme konusunda daha fazla içerik için SAP PI/PO’dan SAP Integration Suite’e Geçiş ve SAP Integration Suite ile Event-Driven Architecture Nedir? yazılarımızı inceleyebilirsiniz.
SAP PI/PO/CPI Danışmanı Gamze Yücel Kurtkapan, SAP PI/PO/CPI ve Microsoft Azure Logic App alanında deneyime sahip bir entegrasyon danışmanıdır. Farklı sektörlerde birçok entegrasyon projesinde görev alan Gamze; SAP ve SAP dışı sistemlerin entegrasyonu, uçtan uca entegrasyon geliştirme ve modern bulut entegrasyon çözümleri üzerine uzmanlaşmıştır.
SAP Integration Suite ile TCMB Kur Entegrasyonu
Amaç : SAP Integration Suite ürünü kullanarak TCMB’nin açık kaynak kodundan USD para biriminin güncel Türk Lirasına karşılık gelen kur...
SAP TM’de Uyumsuzluk Yönetimi (Incompatibilities) Nedir?
Giriş SAP Transportation Management (SAP TM), planlama motoru ve taşıma nesneleri üzerinde kapsamlı kontrol sunan modüler bir yapıya sahiptir....
SAP e-Muhasebe Fişi Çözümü: 5 Adımda Nasıl Oluşturulur ve Arşivlenir?
SAP e-Muhasebe Fişi, e-Defter uygulamasına tabi mükelleflerin SAP sistemi üzerinden oluşturduğu, Mali Mühür ve zaman damgasıyla imzalanmış...
SAP ABAP Danışmanı Nasıl Olunur?
Günümüzde işletmeler karmaşık iş süreçlerine sahiptir. İşletmeler bu iş süreçlerini basitleştirmek ve daha verimli hale getirmek için...
SAP Cloud Connector’da High Availability: Master & Shadow Yapısı
SAP Cloud Connector, SAP BTP ile on-prem sistemler arasında güvenli bir bağlantı kurar. Ancak, Cloud Connector’ün tek bir noktada...
Çevik Proje Yönetimi Nedir?
Proje yöneticilerinin projeleri en iyi şekilde yürütmek için seçebilecekleri birçok proje yönetimi metodolojisi bulunmaktadır. Bu...
SAP FIORI NOTIFICATION CENTER NEDİR?
SAP Business Technology Platform Mobil Hizmetleri, zahmetsiz ve zamandan tasarrufla uçtan uca sorunsuz bir şekilde fiori ile mobil arasındaki...
SAP Integration Advisor Nedir? Faydaları Nelerdir?
SAP Integration Advisor Nedir?SAP Integration Advisor (IA), SAP sistemlerinin diğer uygulamalar ve hizmetlerle entegrasyon sürecini basitleştirmek...
SAP Nedir? Modüller, Danışmanlık ve Kurulum Rehberi (2026)
SAP Nedir? SAP, işletmelerin operasyonel süreçlerini uçtan uca yönetmelerine olanak tanıyan güçlü bir kurumsal yazılım platformudur....
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.