Visual Studio 2005 & SAP Bağlantısı

Bir süredir SAP entegrasyon projelerinde SAP Java Connector kullanıyordum. Bunun sebebi, SAP .NET Connector ‘un Visual Studio 2005 ile çalışmaması ve Vista’da desteklenmemesi; yani SAP tarafından bir kenara bırakılmış bir proje diyebiliriz.

Java + SAP Java Connector ile geliştirme yapmak, Visual Studio + SAP .NET Connector ile geliştirme yapmaktan çok daha uzun sürüyor ve daha zahmetli. Ayrıca, Native Windows Call’ler yapmak da büyük problem; mesela Windows ortamında VC++ ile hazırlanmış bir API’yi Java’da çağırmak neredeyse imkansız denecek derecede zor. Ama başka Tool olmadığı için mecburen katlanıyorduk.

Bugün, bir süredir denemek istediğim yeni bir Tool’un deneme sürümünü bilgisayarıma kurup deneme şansım oldu. Softwise .NET Connector, Visual Studio 2005 ile SAP arasında bağlantı kurup BAPI, RFC, vs çağırmaya izin veriyor. Vista, XP, vs dinlemeden mükemmelen çalışıyor, Türkçe karakter problemi de yok. Aşağıda, bu proje ile sadece 10 dakika içerisinde yaptığım bir geliştirmenin örnek kodları ve ScreenShot’ları var:

Console.WriteLine(“Program başladı”);

// Bağlantı
SAP.Connector.Connection conn = SAP.Connector.Connection.GetNewConnection(“ASHOST=10.0.0.5 SYSNR=00 CLIENT=050 USER=KEREMK PASSWD=PICASSO”);

// 1. Fonksiyon: ++
BAPIZKKTEST.BAPIZKKTEST z1 = new BAPIZKKTEST.BAPIZKKTEST();
z1.Connection = conn;
string res = “”;
string tur = “”;
z1.Zkktest(“12”, out res, out tur);
Console.WriteLine(“Fonksiyon Sonucu: ” + res);
Console.WriteLine(“Türkçe Karakterler: ” + tur);

// 2. Fonksiyon: Türkçe karakter parametre alma
BAPIZKKTEST2.BAPIZKKTEST2 z2 = new BAPIZKKTEST2.BAPIZKKTEST2();
z2.Connection = conn;
string hello = “”;
z2.Zkktest2(“üğıişçöÜĞIİŞÇÖ”, out hello);
Console.WriteLine(“2. Fonksiyon Sonucu: ” + hello);

// 3. Fonksiyon: Internal Table yollamak ve geri almak
BAPIZKKTEST3.BAPIZKKTEST3 z3 = new BAPIZKKTEST3.BAPIZKKTEST3();
z3.Connection = conn;
BAPIZKKTEST3.T001Table ti = new BAPIZKKTEST3.T001Table();
BAPIZKKTEST3.T001 tl = new BAPIZKKTEST3.T001(); tl.Bukrs = “1000”; ti.Add(tl);
tl = new BAPIZKKTEST3.T001(); tl.Bukrs = “1100”; ti.Add(tl);
tl = new BAPIZKKTEST3.T001(); tl.Bukrs = “1200”; ti.Add(tl);
BAPIZKKTEST3.T001Table te = new BAPIZKKTEST3.T001Table();
z3.Zkktest3(ref te, ref ti);

Console.WriteLine(“Şirket Kodları:”);
for (int n = 0; n < te.Count; n++) Console.WriteLine(te[n].Bukrs + ": " + te[n].Butxt);

// Bağlantıyı kapatalım
conn.Close();

// Press any key
Console.ReadKey();

Bu ürünü .NET platformunun nimetleriyle de birleştirip, siyah konsol ekranlarından daha ilginç uygulamalar da geliştirebilirsiniz:

Visual Studio 2005 ile SAP arasında bağlantı kurmak isteyenlere tavsiye ederim. Ancak şunu da unutmayın: Softwise, bu ürünü alanlara sadece bir yıllık lisans veriyor. Lisans, her sene ücretsiz olarak yenileniyor. Bu ilk bakışta kötü bir durum gibi gözükmese de; Softwise kapanacak olursa bir sene sonra lisanssız kalabilirsiniz. Bu durum Deploy edilmiş projeleri etkilemese de, geliştirme yaptığınız makinada Connector’u tekrar çalıştıramazsınız. Ya da 30 günde bir formatlayıp tekrar kurulum yapmanız gerekebilir. Softwise’ın kapanıp kapanmayacağı konusunda birşey söyleyemem, ama bu riski göz ardı etmeyin lütfen. Yaptığınız projeleri ileride modifiye etmek / geliştirmek gerektiğinde, Connector’u tekrar kullanıp kullanamayacağınız Softwise’ın varlığına bağlı olacak – ya da 30 günde bir format atma konusundaki sabrınıza…

Kalıcı bir çözüm arayanlar için Java Connector hala tek alternatif sanırım.

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