ABAP bitecek mi? SAP HANA ve S4 devrimlerinin ardından birçok kişide ve özellikle SAP danışmanlarında birtakım sorular cevapsız kalıyor ve herkeste çok merak ediyor ama bir türlü tam cevap için detaylı araştırma yapacak zamanda yok, böyle sağdan soldan duyulan bilgilerle bütünü görmeye çalışan biri olarak kendinizi buluyorsunuz. Ben bu derdinize biraz çözüm üretebileceğimi düşündüm. İnternette, çevremde en çok gördüğüm ve duyduğum sorulara açıklık getireyim dedim, birkaç dakika ile temel sorularınıza cevap bulabilirsiniz.

Dikkat edecek olursanız sorular çok genel ve hep eski SAP davranışlarına yönelik sorulmuş sorulardır ve soruların sorulma şekli bile yanlıştır bana sorarsanız. 🙂 Buradaki sorular aslında çok derin cevapları olan sorulardır ben sadece yüzeysel olarak bahsetmeye çalışacağım, detaylı cevaplar için internette ve SAP dökümanlarında biraz vakit harcamanız gerekiyor.

1. Artık SE16N den “SAPEDIT” yapmak o kadar kolay olmayacakmış her şey “View” olacakmış doğru mu?

İlk olarak şuna açıklık getirelim; hangi sistem, hangi veritabanı, hangi altyapı olursa olsun SE16N üzerinden SAPEDIT yapmak zaten tehlikeli ve yanlış bir şeydir. Bu sorunun aslında HANA veya S4 ile bağlantısı olmadan kabullenmemiz ve dikkat etmemiz gereken yönleri vardır. Direkt veritabanı tablosunda değişiklik yapmak zaten yeterince ürkütücü bir şeydir. Ancak HANA alt yapısını ve mimarisini düşünecek olursak belli noktalarda isteseniz dahi değişiklik yapamayacaksınız, doğru. Normalde HANA’dan öncede SAP GUI üzerinden eriştiğimiz tablolar aslında direkt olarak veritabanı tablosunun kendisi veya veritabanı seviyesindeki görüntüleri değil. SE16 veya SE16N üzerinde gördüğümüz tablolarda teknik olarak bakıldığında birer View gibi çalışıyor sadece arada ABAP Database Connector var ve bu veritabanı bağlantı işlerini, verileri veya tabloları bizlere gösteriyor hatta üzerlerinde değişiklik yapmamızı sağlıyor. Teknik olarak önceden de bu zaten böyleydi. Fakat HANA üzerinde temel programcılık mantığı değiştiği için artık “Database Oriented Programming” yapılacak yani veritabanı katmanında programların çoğu kendini tamamlayacak çok nadir konuları uygulama sunucusunda yapacağız belkide. Bu durumda oldukça fazla “view” kullanacağız. HANA ile birlikte gelen üç farklı “view” türü var ki HANA’nın esas güçlerinden birisidir. Bu yüzden geliştirmeler sırasında SAP’nin kendiside dahil bir çok noktada artık bu veritabanı tablolarına birebir erişim oldukça azalacak. Ham tablolarla direkt olarak iletişimde olmak sizlerin değil aradaki HANA View’lerine ait olacak. Bu yüzdende zaten önceden de yapılmaması gereken SAPEDIT bu HANA View’lerin kullanıldığı yerlerde teknik olarakda imkansız olacak. HANA mimarisi için daha detaylı bilgi edinmek isterseniz buradan bakabilirsiniz.

2. Şimdi her şey “Fiori” mi olacak? “/h” ile debug yapılmayacak mı?

Fiori, SAP’nin HANA ürünüyle paralel olarak geliştirdiği ve piyasaya sürdüğü ayrı bir ürünüdür. Aslında HANA mimarisinin içerisinde yer alan bir konu değildir. SAP HANA daha çok olayın “Backend” tarafıdır, Fiori ise “Frontend” içindir. Yani demek istediğim; HANA bir veritabanıdır ve içerisinde veri işleme ve verileri depolama gibi görevleri vardır ancak Fiori bu verilerin nasıl sunulacağı ile ilgilidir. Kullanıcı arayüzlerini tasarlamak için kullandıkları bir metodolojidir Fiori. İlk başlarda ürünlerinin adına SAP Fiori diyen SAP, daha sonralarda bunu bir yaklaşım ve metodoloji olarak kabul etti, belli tasarım ilkelerini barındıran bir metodoloji diyebiliriz. SAP Fiori hızla değişen mobil dünyaya yetişmek ve çözümler sunabilmek için çıkartılan bir üründür. Arkadaki verilerin nasıl gruplanacağı, nasıl gösterileceği, butonların ne renk olacağı, hangi telefonda, tablette veya masaüstü bilgisayarlarda nasıl görüneceği konusunda kararların verildiği ve bunların kodlamaya döküldüğü aşamadır. Bu güne kadar bu işi SAP GUI ve SAP portaller görüyordu. SAP GUI Windows tabanlı bir masaüstü uygulaması olarak çalışırken, portaller web tarayıcılar üzerinde çalışan web sayfalarıydı aslında. Ancak bu iki platformunda mobil dünyaya uygulanması için bir değişim gerekiyordu, altyapısal bir değişim. Bunuda Fiori ile yaptılar ve tamamen ileride SAP GUI’nin yerini almasını da bekliyorlar önümüzdeki on sene içerisinde SAP GUI’den tamamen çıkıp web ve mobil olarak rotalarını çizmek gibi planlarıda var. Ne kadar sürede nasıl gerçekleştirilir tartışılır ancak bence de faydalı ve verimli bir adım olur çünkü her platforma ayrı ayrı uygulama geliştirmektense, tek bir platform üzerinden tüm cihazlara uygulanabilir bir mimari kurabilmek herkes açısından daha az maliyet gerektirecektir. Ve evet bu kapsamda düşünecek olursak Fiori uygulamaları tarayıcı tabanlı çalışan uygulamalar oldukları için “/h” atamıyoruz maalesef. Hatta debug yapmak eskisine göre o kadar zorlaşıyor ki yazılımcıların dahi gönlünü yoracaktır. Tahminimce modülcüler Fiori ile birlikte iyice debug işinden uzaklaşacak çünkü artık iki aşamalı debug olacak hem tarayıcı(Chrome, Firefox, Explorer, Safari vb) üzerinde debug hem SAP tarafında debug. Bundan dolayı herkesin SAP hayatı oldukça değişecek. SAP Fiori ile daha detaylı bilgi edinmek isterseniz buradan bakabilirsiniz.

3. Bütün her şey sürükle-bırak olacakmış? Artık kod yazmadan rapor yapabileğiz diyorlar?

Evet SAP verimi arttırmak için iş uygulamalarına her geçen gün yeni yeni araçlar geliştiriyor. Daha kısa sürede daha hızlı çözümler üretip müşterilere maliyeti azatabildiklerini göstermek ve iş süreçleri içinde verimi arttırdığını göstermek adına yeni çözümler, yeni araçlar geliştiriliyor bu doğru. Ancak bu gibi araçların avantajları olduğu kadar her zaman dezavantajları da olur özellikle çok kısıtlı araçlar oldukları gibi her isteğe cevap veremezler. Çok hedef odaklı ve net isteklerin cevabını veren araçlar olurlar. Yani amacım bu araçları kötülemek değil yanlış anlaşılma olmasın, kesinlikle çok işe yarayan ve kısa sürede güzel çözümler üretilmesine katkı sağlayan araçlar, ancak kimseninde artık bu araçlarla tüm iş süreçlerini yöneteceğiz diye düşünmemesi lazım çünkü bu avantajlar böyle bir sonuca çıkmıyor maalesef. Özellikle bulut çözümlerde ve Fiori alt yapısının oluşturulmasıyla sürükle-bırak işlemler, dinamik tasarımlar daha kolay bir hale geldi ve bir çok ekranda da SAP bunu desteklemeye başladı. Ancak bu olaylar zaten yıllardır web dünyasında olan konulardı. Sadece SAP arayüzleri için yeni konular o yüzden artık her şey bambaşka olacak kod yazmayacağız, her şeyi sürükle-bırak yapacağız gibi bir sonuç çıkartılması yanlış olur. Her zaman bir ürünün iyi yönlerini alıp, kendi işlerimize katkıda bulunacağız ve kısıtlı yönlerini de başka yollarla geliştireceğiz veya çözüm üreteceğiz. Yaklaşım bu şekilde olmalı diye düşünüyorum. Bununla birlikte sürükle-bırak alt yapısıda HTML5-CSS-JavaScript üçlüsünün gücünden gelmektedir. Bu konuya da teknik olarak bakmak isteyenler olursa internette binlerce kaynak bulabilirler.

4. ABAP bitecek, ABAP danışmanları işsiz kalacakmış. SAP’de sonunda ABAP’ı bırakması gerektiğini anladı dimi?

Belki de en çok sorulan sorulardan birisidir. Bilen bilmeyen herkesin ağzında bu soru var. Konuyla ilgili çok çeşitli yorumlarda ortalıkta dolaşıyor bende çoğu zaman hayretlerle okuyorum yorumları. Yani bu anlamda ben ABAP’ın biteceğini düşünenler için gerçekten büyük resime bakamadıklarını düşünüyorum çünkü SAP, ABAP’ı bitirirse resmen kendi oturduğu dalı kesmiş olur, bu çok net bir şekilde ortada. Konuyu şu şekilde ele alalım; SAP HANA ile birlikte büyük bir değişim yaptı kesinlikle bunu inkar edemeyiz ancak bu değişimi yaparken arkada çalışan ERP’sini çöpe atmadı ki atamaz. SAP’nin ERP sistemi o kadar güçlü ki otuz yıldan fazla tecrübe, bilgi ve çözüm içeriyor. Bu tecrübelerin ve bilgilerin güçlü bir şekilde yazılıma dökebilmelerinin sebeplerinden birisi ABAP. Birçok yazılım dili kullandım ve gerçekten amacına yönelik daha güçlü bir dil görmedim ABAP bu konuda açık ara tüm iş uygulamalarında kullanılan dillerden daha önde. Yazılımcılara sunduğu debug aracından tutun dilin kendisine kadar her şey çok güçlü. O kadar güçlü ki düşünün yazılım ve kodlama bilmeyen bir modül danışmanı bile girip debug yaparken bir şeyler anlayabiliyor ve kafasında belli senaryoları kurabiliyor. Başka herhangi bir dilde kimse bunu gerçekleştiremez sırf araçlarını kurarken konu kapanır zaten. Büyük bir ABAP fanı değilim ancak bazı gerçekleri de görmezden gelemeyiz. ABAP’ın okunabilirliği ve sağladığı güzel araçlar dışında programlama olarak da çok güçlü bir dil olduğunu söyleyebiliriz. ABAP ile bir işletim sistemi yazamayız ki zaten amacıda o değil ancak bir iş uygulaması yazılacağı zaman ABAP’ın gücü bu konuda tartışılamaz, yani ABAP güçlü bir dil mi yoksa değil mi? gibi bir tartışmaya ben kişisel olarak girmem ve gereksinim duymam. Bu bağlamda konuyu yine ele alacak olursak, HANA ile gelen her şey yine ABAP alt yapısının arka tarafta çalışması üzerine kuruludur. ABAP’ı aradan çıkartacak kadar yeni bir ürün getirmedi SAP henüz. ABAP sonsuza kadar devam eder diye kimse garanti edemez ancak şunu söyleyebilirim 15-20 yıldan aşağı yepyeni bir alt yapı gelmeden ABAP’ın aradan çıkması mümkün değil böylesine güçlü bir dili ve omuzlarında koskoca bir ERP sistemini taşıyan bir dili aradan çıkartmak için gerçekten ondan daha iyisini yapmanız gerekiyor. Şu anda da ABAP’dan daha iyisi yok. HANA üzerindeki en büyük devrim, ABAP açısından değildir. Tam tersi artık sadece ABAP’a bağlı kalmadanda bir çok alt yapıyı destekler hale getirildi. Yelpazesi çok genişledi artık bir web geliştiricide, mobil geliştiricide SAP üzerinde geliştirme yapabilir hale geldi. Tek yapmaları gereken ilgili dökümanları okumak ve istekli olmak. Ancak yelpazenin genişlemesi kesinlikle ABAP’ın biteceği anlamına gelmiyor ki ABAP’ın omuzlarında bu kadar yük ve güç varken şuanlık kimsenin cesareti ABAP’ı aradan çıkartmaya yetmez. Yeni gelen ürünlerin hepsi ERP’nin uzantısı gibi ekleniyor. ERP bir çekirdek olarak düşünebilir bu konuda. Çekirdek ABAP ile o hale gelmiş ve artık HANA ile birlikte çekirdeğin etrafına yeni, güzel, kullanıcı dostu bir sürü ürün eklenecek ve müşteri ihtiyaçları farklı yollar aracılığıyla bu çekirdeğe erişecek. Burada alınan teorik karar, bu çekirdeğin dış dünyayla hızlı ve kısa sürede iletişime geçmesi oldu. Artık çekirdeğimiz dışarıdaki her sistemle istediği gibi iletişime geçebilecek ve istediği arayüz teknolojisini kullanabilecek.

5. ABAPçım bana HANA raporu yaptı nasıl değiştireceğimi bilmiyorum? Bir alan ekleyeceğiz nasıl yaparız?

Sen o ABAPçıyı bul başka yere de plan yaptırtma. 🙂