SAP Veritabanına Doğrudan Erişim

1464-ppt

Kerem Bey merhaba,

http://kk-dev.blogspot.com adresindeki yazılarınızı tesadüfen gördüm ve gerçekten işime yaradılar.

SAP konusunda bilgili olmanızdan dolayı bana yardımcı olabileceğinizi düşündüm ve maili o yüzden yazıyorum.

Özel bir proje çalışmam var ve SAP veritabanları üzerinde denemeler yapmam gerekiyor. HR, FI, CRM … ancak örnek veritabanı bulamıyorum. Ayrıca daha önce hiç çalışmadım.

Bilgisayarıma MAXDB kurdum. Yeterli olacak mı bilemiyorum.

Yapmak istediğim şey ABAP öğrenmek yada SAP içinde proje geliştirmek değil. SAP projelerinin veritabanları üzerine bir çalışma yapmak istiyorum. ASP.NET ile hazırlanan bir DB projesi var. Tabloları-kolonları ve veritabanına ait basit sorguları gösteren bir proje.

İhtiyacım olan şey örnek bir veritabanı üzerinde, tablo,kolon ve relation bilgilerini veritabanı üzerinden okumak ve verilerin nasıl ve ne şekilde yerleştiğini tespit etmek ve basit ama dinamik sorgular oluşturmak.

Umarım bana bu konuda yardım edebilirsiniz.

 

SAP üzerine yazılım geliştirmeye başlayan bir çok kişinin ilk aklına gelen şey, SAP’nin altında yatan veritabanına (Oracle, SQL Server, vs) doğrudan doğruya erişip raporlama yapmak veya uygulama geliştirmektir. Ancak, çok özel bazı durumlar haricinde, bu yöntem hiçbir zaman kullanılmamalıdır. Zira SAP R/3, modern veritabanları ile birlikte gelen güvenlik, Lock gibi katmanların üzerine pek çok ek katman koymaktadır. Bunları es geçip veritabanına doğrudan doğruya erişmenin birçok sakıncası olacaktır.

Biz kendi projelerimizde; .NET veya Java gibi platformlardan SAP verilerine erişmek istediğimizde genelde iki yöntem kullanıyoruz:

  • Eğer 4.x versiyonlu eski bir SAP sistemi söz konusu ise, .NET Connector veya Java Connector üzerinden SAP’de geliştirilmiş olan fonksiyonlara erişebilirsiniz. SAP üzerinde, dışarıdan erişmek isteyeceğiniz verileri okuyup Export eden fonksiyonlar yazdığınızda, bu fonksiyonları .NET veya Java ile çağırabilirsiniz.
  • Eğer 6.x versiyonlu yeni bir SAP sistemi söz konusu ise, aynı fonksiyonları Web Service olarak yayınlayabiliyoruz. Bu Web Service’leri .NET veya Java’dan çağırarak SAP’deki verileri SAP dışında kullanmak mümkündür.

SAP’ye dışarıdan kayıt atmak söz konusu olduğunda ise; veritabanına doğrudan doğruya kayıt atmak %99.9’luk ihtimalle sistem üzerinde tutarsızlıklara yol açacaktır. SAP en basit işlem kodlarında bile onlarca tabloya kayıt atmaktadır, bu kayıtları birebir taklit etmek mümkün değildir. Bunun yerine; yine SAP’nin standart BAPI fonksiyonlarını veya Batch Input ile kayıt atacak şekilde sonradan geliştirilmiş fonksiyonları yine yukarıdaki yöntemlerden biriyle çağırmak gerekir.

Gelelim esas sormuş olduğunuz soruya… Bilgisayara MAXDB kurmak yeterli olmayacaktır. SAP veritabanı ise tek başına kurulabilecek bir yazılım değildir, standart bir SAP kurulumunda hem veritabanı yüklemeleri (tablolar, View’lar, genel veriler, vs) yapılır hem de R/3 Application Server kurulur. Eğer benden SAP R/3’ün kendisini istediyseniz, bunu temin etmem pek mümkün değil. Zira SAP kurulum CD’leri lisans sözleşmesi karşılığı müşterilere SAP’nin kendisi tarafından gönderilir. Bu tarz bir kurulumu (temiz biri kurulum dahi GB’larca yer kaplamaktadır) kopyalayarak veya bir başka yöntemle çoğaltmak ise yasa dışı bir hareket olacaktır. SAP’nin Gold Partner’ı olan bir firmada yazılım geliştirme yöneticisi pozisyonunda bulunan birinden böyle bir talepte bulunmadığınızı varsayacağım 😉

Yukarıdaki teknik ve lisans uyarılarım çerçevesinde SAP üzerinde çalışmalar yapmak istiyorsanız, SAP kullanan tanıdık bir firmanın test sisteminde çalışmanızı öneririm.

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s