Ana içeriğe geç

Sürüm 1.18.2.3

Yayın Tarihi: 15 Eylül 2026 Yayın Tipi: Kararlı Önceki numarası: 1.18.19 (imaj tag'i staging-1.18.19)

Graphical Mapping sürümü: yeni RFC Lookup fonksiyonu, yalnızca hedef içeren (target-only) mapping'ler, deploy anında mapping doğrulaması, designer ve trace görüntüleyici iyileştirmeleri ile mapping motorunda kapsamlı doğruluk düzeltmeleri.

Backend Server​

Yeni Özellikler​

  • RFC Lookup mapping fonksiyonu: Graphical mapping'lere, harici bir sisteme erişen ilk mapping fonksiyonu olan RFC Lookup eklendi. Fonksiyon, mesajın mapping'i sırasında kayıtlı bir RFC destination üzerinde bir RFC çağırır ve sonuç yolundaki (result path) değeri hedef alana yazar. Aynı mesaj içindeki özdeş sorgular yalnızca bir kez çalıştırılır, tüm import değerleri boşsa çağrı hiç yapılmaz ve çağrı başarısız olduğunda ne olacağını fonksiyonun hata ayarı (fail, empty veya pass-through) belirler. Simülasyon sırasında çağrı yalnızca canlı test (live test) modunda yapılır.
  • Yalnızca hedef içeren (target-only) mapping'ler: Kaynak şeması olmayan bir mapping artık çalışır ve hedefini tümüyle Constant ve RFC Lookup gibi fonksiyonlardan üretir; böylece gelen payload'ı olmayan bir flow (örneğin Timer, Mapping, REST) artık "Body is empty" hatasıyla durmaz. Böyle bir mapping'de gelen body yok sayılır; kaynak şeması tanımlı bir mapping'de boş body ise yapılandırma hatası olmaya devam eder.
  • Mapping tanımlarının deploy anında doğrulanması: Bir flow deploy edilirken her Graphical Mapping node'u artık bilinmeyen fonksiyon tipleri, fonksiyonlar arası döngüler, karşılığı olmayan referanslar, eksik veya geçersiz fonksiyon parametreleri ve kayıtlı olmayan RFC destination'lar açısından kontrol edilir. Davranış GRAPHICAL_MAPPING_VALIDATION_MODE ile belirlenir: WARN (varsayılan) her sorunu loglar ve deploy'u asla engellemez, REJECT ise deploy'u sorun listesiyle birlikte reddeder.
  • İşlem adımı başına daha düşük CPU yükü: Mesajla birlikte taşınan loglama bağlamı artık her adımda anahtar anahtar desenle eşleştirilmek yerine tek seferde kopyalanır. Bu, tüm flow'larda CPU kullanımını azaltır; log korelasyonu değişmez.

Hata Düzeltmeleri​

  • İç içe dizilerdeki fonksiyonlar doğru sonuç üretiyor: Mapping'in, şemasının veya örnek dokümanının koleksiyon olarak tanımladığı bir yapı, mesaj yalnızca tek eleman taşısa bile artık koleksiyon olarak işlenir; böylece tek eleman ile birden fazla eleman aynı kurallara tabi olur. Bu kapsamda üç hata giderildi: hedefin slot sayısını aşan iç elemanların fonksiyon sonuçları sessizce atılıyordu, iç içe bir iterasyondaki kardeş girdi her zaman ilk elemandan okunuyordu ve bir iç indeks en dıştaki hedef diziye uygulanıp fazladan bir eleman oluşturabiliyordu. Aynı hedef slotuna birden fazla sonuç yazıldığında artık hem JSON hem XML hedeflerinde son yazılan geçerli olur. Bu hatalardan etkilenen mapping'ler güncelleme sonrasında düzeltilmiş çıktı üretir.
  • Girdisiz fonksiyonlar hedef dizinin her elemanını dolduruyor: Bir hedef dizinin içindeki bir alana bağlanan Constant veya girdisi olmayan başka bir fonksiyon yalnızca ilk elemanı dolduruyordu. Sonucu artık o dizinin her elemanına yazılır.
  • Doğrudan eşlenen basit değer dizileri kopyalanıyor: Kaynağı, JSON kaynaktaki basit değerlerden oluşan bir dizi olan (örneğin "tags": ["alpha", "beta"]) doğrudan bir eşleme hedefte hiçbir şey üretmiyordu. Dizi artık hedefe kopyalanır.
  • Sayısal fonksiyonlar JSON hedeflerine sayı yazıyor: ADD, SUBTRACT, MULTIPLY ve TO_NUMBER sonuçlarını metin olarak döndürüyordu; bu yüzden JSON hedefi 6 yerine "6" alıyordu. Bu fonksiyonların JSON hedeflerindeki çıktısı artık tırnaksız, düz gösterimle ve sondaki sıfırlar olmadan yazılan bir sayıdır.
  • Hedef çıktısı hedef şemanın sırasını izliyor: JSON hedefleri property sırasını artık saklanan JSON resource'undan alır (ister JSON Schema ister örnek doküman olsun); böylece fonksiyonların yazdığı property'ler artık doğrudan eşlenenlerin tümünden sonra üretilmez. WSDL ile tanımlanan hedefler, mapping sırası yerine seçilen operation'ın şemasına göre sıralanır; sabit bir eleman sırası bekleyen alıcılar bunu gerektirir.
  • XML hedef çıktısı düzeltmeleri: JSON null değeri artık null metni yerine boş bir eleman (<b/>) olarak yazılır. Hedefinin en üst seviyesinde tekrarlayan bir eleman bulunan mapping artık hata vermez veya boş doküman döndürmez; tekrarlayan elemanlar bir <root> elemanı içine alınır.
  • SPLIT ve REPLACE özel karakterleri güvenli şekilde işliyor: SPLIT artık yapılandırılan ayırıcıyı düz metin olarak ele alır; böylece |, . veya ( gibi ayırıcılar düzenli ifade olarak yorumlanmak yerine yazıldığı gibi böler. REPLACE, regex modunda 512 karakterden uzun desenleri reddeder ve geçersiz bir deseni anlaşılır bir mesajla bildirir.
  • Tarih fonksiyonları her zaman İngilizce ay ve gün adlarını kullanıyor: DATE_FORMAT, CURRENT_DATE, COMPARE_DATES, DATE_AFTER ve DATE_BEFORE artık sunucunun yerel ayarına (locale) bağlı değildir; böylece dd MMM yyyy gibi bir desen her ortamda aynı şekilde üretilir ve ayrıştırılır.
  • Test Mapping ve desteklenmeyen girdi için anlaşılır hatalar: Test Mapping artık standart hata formatıyla yanıt verir: mapping'deki veya istekteki hatalar gerçek mesajı döndürür, beklenmeyen hatalar ise dahili ayrıntılar yerine backend logunda aranabilecek bir referans kimliği döndürür. En üst seviyesi dizi olan bir JSON kaynak, en üst seviye dizilerin desteklenmediğini belirten bir mesajla baştan reddedilir.
  • Güçlendirilmiş mapping sorgusu ve şema ayrıştırma: Mapping'ler artık bağlı parametrelerle (bound parameters) sorgulanır; böylece adında kesme işareti bulunan bir mapping doğru şekilde bulunur ve Test Mapping'de hatalı biçimli bir mapping kimliği temiz biçimde reddedilir. Hedef XSD'leri; DOCTYPE bildirimlerini, harici entity'leri ve entity genişletmesini reddeden güçlendirilmiş bir XML ayrıştırıcıyla işlenir; olağan şemalar eskisi gibi çözümlenir.
  • Mapping trace'i ikili değerlerde kaybolmuyor: İzlenen herhangi bir değerdeki NUL karakteri, o mesajın tüm mapping trace'inin sessizce atılmasına neden oluyordu. Bu karakterler artık trace saklanırken ayıklanır; mapping çıktısının kendisi hiçbir zaman etkilenmemişti.

Frontend Server​

Yeni Özellikler​

  • Kaynak şeması olmayan mapping'ler: Hedefini tümüyle fonksiyonlardan üreten flow'lar için bir graphical mapping artık kaynak şeması olmadan kaydedilebilir; hedef şema zorunlu kalır. Mevcut bir mapping, açıkça temizlenmediği sürece kaynağını korur; bu tür mapping'ler liste ve detay görünümlerinde yer alır ve diğer mapping'ler gibi export ve import edilir.
  • Graphical mapping'ler içindeki RFC destination kullanımı: Bir RFC Lookup fonksiyonunun referans verdiği RFC destination'lar artık silme kontrolüne ve Where Used'a dahil edilir. Bir mapping'in hâlâ çağırdığı bir destination artık fark edilmeden silinemez; her kullanım, mapping'i ve flow'u ile birlikte raporlanır.

Hata Düzeltmeleri​

  • "Use this RFC" kopyalanan flow'larda çalışıyor: Kopyalanmış bir flow'da içe aktarılmış bir RFC'nin seçilmesi, yinelenen resource hatasıyla başarısız oluyordu. Flow'un mevcut şema resource'u artık yeniden kullanılır ve yenilenir; bir flow kopyalanırken içe aktarılmış RFC nesnelerine olan bağlantılar da kopyaya taşınır.

Frontend Web​

Yeni Özellikler​

  • Graphical mapping her zaman kullanılabilir: Resources altındaki Mappings bölümü ve mapping sayfaları artık VITE_MAPPING ayarına bağlı değildir. Değişken kaldırıldı ve mevcut yapılandırmalardan çıkarılabilir.
  • RFC Lookup fonksiyon node'u: Fonksiyon paletine, RFC Lookup'ı içeren bir "Other" kategorisi eklendi. Paneli; bir RFC destination seçmenize, RFC'ye göz atıp seçmenize, import alanlarını seçip sıralamanıza (her alan için bir girdi handle'ı belirir) ve sonuç yolunu (result path) seçmenize olanak tanır. Quick Test, RFC Lookup'ın gerçek bir çağrı yaptığı konusunda uyarır; RFC göz atma penceresindeki iki bölme artık birbirinden bağımsız kaydırılır ve dar ekranlarda da kullanılabilir.
  • Yalnızca hedef içeren (target-only) mapping'ler: Kaynak şema seçicisi "None" seçeneğini sunar; böylece hedefi tümüyle fonksiyonlarla üretilen bir mapping oluşturulabilir. Bir hedef alana tıklamak, bir kaynak alan bağlı olsun ya da olmasın her mapping'de o alanın transformation'ını açar.
  • Fonksiyon paleti motorla uyumlu: IF_ELSE on iki karşılaştırma operatörünün tamamını sunar (boş ve boş değil kontrollerinde karşılaştırma değeri devre dışı kalır), REPLACE'e bir "Use regular expression" anahtarı eklendi, SPLIT isteğe bağlı sayısal bir limit kabul eder ve tarih fonksiyonları ay ve gün adlarının İngilizce olduğunu belirtir.
  • Bir fonksiyon üzerinden geçen bağlantılar görünür: Şema paneli, her kaynak alandan bir fonksiyon aracılığıyla ulaştığı hedefe, doğrudan kopyaların düz çizgilerinin yanında kesikli bir çizgi çizer; bu hem editörde hem trace görüntüleyicide geçerlidir. Editör ayrıca, kaydedilmiş bir bağlantı şemada bulunamayan bir alana işaret ettiğinde uyarır.
  • Transformation bağlantısını üzerine gelerek silme: Transformation panelinde bir bağlantı artık üzerine gelindiğinde görünen × ile kaldırılabilir; flow designer'daki hareketin aynısıdır.
  • Sözdizimi vurgulamalı Test Mapping paneli: Test Mapping isteği ve yanıtı, Groovy ve XSLT sayfalarıyla aynı kod editörünü kullanır. Bu ortak editör artık uygulamadaki diğer kod alanlarında da kullanılır; böylece tek yatay kaydırma çubuğu ve son satırın altına tıklayınca odaklanma her yerde aynı şekilde davranır.
  • Mapping trace: toplam süre ve indeks gezinmesi: Trace görüntüleyici, bir fonksiyonun toplam süresini başlığında gösterir; çok sayıda kez çalışan fonksiyonlar da buna dahildir. Her iki trace panelindeki dizi indeks çipleri artık seçili elemanı bir sayfalama çubuğu gibi ortalayarak görünür tutar ve bir indeks yazılırken yeniden dizilmez.

Hata Düzeltmeleri​

  • Şema ağacı adlandırılmış complex type'ları çözümlüyor: Şema kökünde tanımlanmış bir complex type ile tiplenen alanlar artık alt alanlarını gösterir; daha önce böyle bir alan yaprak olarak görünüyor ve iç alanları eşlenemiyordu. Birden fazla şema içeren WSDL'ler de çözümlenir. Inline tiplerin yolları değişmedi. Bir elemanın daha önce tip adı altında gösterildiği şemalarda (örneğin HeaderType/MessageId) alanlar artık eleman adı altında adreslenir (Header/MessageId) ve böyle bir *Type/... yoluna göre kaydedilmiş bir mapping'in yeniden bağlanması gerekir.
  • Fonksiyon girdileri handle sırasıyla kaydediliyor: Girdiler bağlantıların çizildiği sırayla kaydediliyordu; bu yüzden ikinci handle'ın birinciden önce bağlanması CONCAT, SUBTRACT, DIVIDE ve RFC Lookup gibi fonksiyonların argümanlarının yerini değiştiriyordu. Girdiler artık handle konumuna göre kaydedilir. Daha önce kaydedilmiş mapping'ler, yeniden kaydedilene kadar eski sıralarını korur.
  • Bayat doğrudan kopyalar artık fonksiyonu ezmiyor: Bir hedefe giden doğrudan bağlantının bir fonksiyonla değiştirilmesi, eski doğrudan kopyayı kaydedilmiş mapping'de bırakıyordu; bu yüzden bağlantı çizilmeye devam ediyor ve kaynak değer, fonksiyon çalışmadan önce alana kopyalanıyordu. Kaydedilen doğrudan kopyalar artık hedefin transformation'ı ile uyumlu tutulur.
  • Auto Layout düz bağlantılar üretiyor: Transformation panelindeki Auto Layout, node'ları üst kenarlarına göre değil bağlantı noktalarına göre hizalar, girdisiz fonksiyonları besledikleri node'un yanına yerleştirir ve üst üste binmeleri önler.
  • Başarısız Test Mapping çalıştırmaları ekranda kalıyor: Başarısız bir test yalnızca kısa süreli bir bildirim gösteriyordu. Hata artık yanıt alanında "Error" başlığı altında da gösterilir; buradan okunabilir ve kopyalanabilir.
  • RFC göz atma hataları hata olarak gösteriliyor: Bir RFC'ye göz atılırken, yüklenirken veya seçilirken oluşan hatalar artık genel bir durum metni yerine uzak sistemin döndürdüğü mesajla birlikte hata bildirimi olarak gösterilir.

1.18.2.3, kararlı bir sürümdür. Önceki sürüm: 1.18.2.2