31 Mayıs 2011 Salı

SAP Geliştirme (Workbench) Ortamları - 2

SAP Sisteminde Veri Tabanları:

Daha önce de bahsettiğimiz gibi R/3 sisteminde 3 sunucu sistemi vardır. 1.si sunum 2.si derleyici ve 3.sü ise veri tabanı sunucusudur. Oluşturulan her tablo SAP sisteminin kullandığı veri tabanı yönetim sisteminde de oluşturulur.

SE11 işlem kodu SAP tablosu oluşturmak için kullanılır. Bunun haricinde bu işlem kodunda; birleştirilmiş tablolar (View), yapılar (Structure), veri öğeleri, tablo tipleri, tip havuzları, alan adları, arama yardımları ve kilit nesneleri oluşturulur. Bunlara ABAP sözlük nesneleri denir.

Tablolar:

Tabloların çeşitli görevleri vardır. Ana veri tutmak, işlemsel veri tutmak gibi... Alanlar verilmeden önce görev belirlenir. Tablolar her üst birimde farklı veriler tutar ama istenilirse üst birim bağımsız, yani bütün üst birimlerde ortak olan verilerden oluşan tablo da yapılabilir. Bunu MANDT parametresi belirler çünkü MANDT üst birim bilgisini tutar.

Alanlar verilirken önce anahtar alanlar verilir. Böylece veri tabanındaki tekillik şartı sağlanmış olur. Anahtar alansız bir tablo olamaz. Dolayısıyla hangi alan grubunun bu veri tabanında tekilleşeceğini önceden karar vermek gerekir. Veriler bu tabloda tutulmaya başladıktan sonra anahtar alanlarda değişiklik yapılamaz. Bu yüzden anahtar alanlara müdahale etmek istenildiğinde önce tablonun boş olduğundan emin olmak gerekir. Doğal olarak bu da veri kaybına yol açar.

Alanlar veri öğeleri ile beraber verilir. Veri öğelerinden bir sonraki makalemizde daha detaylı bahsedeceğiz. Veri öğesi vererek o alanın hangi veri tipinde ve ne kadar uzunlukta olacağı tayin edilir. İstenilirse o alanın alacağı değerler de sınırlandırılır. Bu işlem kontrol tablosu (Check Table) sayesinde olur. Bu şekilde ikincil anahtarlar (foreign key) ile başka tablolar bağlanmış olur. Aynı zamanda yine istenilirse alanın alabileceği değerleri gösteren arama yardımı da verilir.

Tabloları oluşturmadan önce, tabloların ne kadar veri tutacağını belirlemek gerekiyor. SAP buna göre sunucuda yer açıyor. Burada verilen değer herhangi bir sınır teşkil etmez şöyle ki eğer veri sayısı ön görülen veri sayısından fazla olursa SAP ona göre yeri genişletebiliyor.

Ana veri tabloları için bakım ekranları oluşturulur. Böylece verilere müdahale edilir (eklenir, değiştirilir, silinir). Genel itibari ile bu bakım ekranı oluşturulduktan sonra SM30 işlem kodu ile tablo ismi verilerek bakım gerçekleştirilir. SM30 genel bir işlem kodu olduğu ve her tablonun bakımının yapılmaması gerektiği için yetkilendirme aşamasında SM30 kullanma yetkisi genelde kısıtlandırılır. Alternatif olarak tabloya özel bir işlem kodu oluşturulur ve kullanıcının tablo ismi vermeksizin bu tabloya müdahale etmesi sağlanır. Bu işlemlerin SAP'de nasıl yapıldığını daha sonra göreceğiz.

SE16 işlem kodu ile verileri görebiliriz ama her zaman müdahale edemeyiz. Müdahale edebilmek için tablo oluştururken gerekli izinleri vermek gerekiyor.

Birleşik Tablolar (Views):

Adından da anlaşılacağı gibi birden fazla tablonun ortak alanları sayesinde birleşmesinden oluşmaktadır. Birleşme esnasında veri filitrelemesi de yapılabilir. Birleşen her tablonun bütün alanlarının gösterilmesine de gerek yoktur. İhtiyaç duyulan alanlar viewlarda gözükür.

Bakım, arama yardımı gibi çeşitli amaçlar için kullanılır. Genel itibari ile ABAP programlarında daha kolay veri çekebilmek için kullanılır. Tablolardaki gibi SE16 ile veriler gösterilir, SM30 ile verilere müdahale edilir.

Yapılar (Structures):

Tablolar ve viewlar aslında bütün veri tabanı yönetim sistemlerinde mevcuttur. Ama yapılar SAP için özel bir kavramdır. Birçok yerde kullanılmaktadır. Yapılar veri tutmaz ama aynı tablo ve viewlardaki gibi alanlar, veri öğeleri ile beraber girilir. Bu şekilde ABAP programında kullanılan herhangi bir dahili tablonun veri tipi olarak bir yapı verilebilir. Aynı şekilde birden fazla tabloda ortak alanlar mevcut ise, bu alanlar bir yapıda toplanır ve bu tablolara dahil edilir. Böyle olduğu zaman ortak alanlara müdahale edildiğinde veya alan eklenip çıkarılmak istenildiğinde yapı üzerinden işlem yapılır ve bu tablolara otomatik işlenmiş olur.

SAP ve SAP olmayan sistemler arasındaki entegrasyon yapıları için de bu yapılar kullanılır.

Bir sonraki konumuzda diğer sözlük nesnelerinden bahsedeceğiz.

Hiç yorum yok: