abap etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
abap etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

10 Haziran 2014 Salı

Veri tabanı ile iletişim


SAP sistemleri çeşitli işletim sistemlerinde, farklı veri tabanı yönetim sistemleri ile çalışabilmektedir. Veri tabanlarındaki uygulama verilerine platform bağımsız ABAP programları ile erişilir.  ABAP programlarındaki veri çekme komutları temel veri tabanı sorgularına dönüştürülür ve bu şekilde veri tabanı farklılığı ABAP programı yazana farketmez.

SAP programlama dili ABAP'ta, veri tabanındaki uygulama verilerine erişebilmek için SAP Open SQL kullanılmaktadır.  Veri tabanı arayüzü ABAP komutlarındaki Open SQL komutlarını, veri tabanının kullanacağı "Native SQL" komutlarına çevirir. Native SQL komutları veri tabanının üreticisine göre değişkenlik gösterebilir. Bu durum, ABAP programlarına platform-bağımsızlık özelliği vermektedir.
 
Open SQL  komutları girildiğinde  SAP veri tabanı arayüzü kodu kontrol eder ve kodun derlenme aşamasında varsa hata verir. Ayrıca sık kullanılan veriler buffer dediğimiz ara bir katmanda bulunurlar. Böylece veri tabanını yormadan veriye hızlıca erişmek mümkün olmaktadır. ABAP programlarında Native SQL komutları da girmek mümkündür. EXEC SQL ... END EXEC komutları arasında Native SQL komutları verilir. Ancak buffer kullanılmaz. Ayrıca kodu derleme aşamasında kontrol yapmaz ve program çalıştırma sırasında hataya düşer. Native SQL komutları veri tabanının üreticisine göre değişkenlik gösterdiği için ABAP programının platform bağımsızlığı da ortadan kalkar.





21 Mayıs 2014 Çarşamba

Komut satırı kullanımı

İşlem kodları

SAP sisteminde işlemlere ulaşmak için diğer bir yol da komut satırını kullanmak demiştik. İşlem kodunu direk komut satırına girip "Enter" tuşuna bastığımızda işleme direk bağlanmış oluyoruz. İşlem kodlarını, "SE93" işlem kodundan görüntüleyebiliyoruz. İsimlendirme kurallarına uygun işlem kodları oluşturup bunların bakımını da buradan yapabiliyoruz. Bu konuya daha sonra değineceğiz.

Özel anahtarlar

İşlem kodu dışında komut satırında özel anahtarlar da kullanabiliyoruz. Bunlar şu şekildedir:
  • /n: mevcut işlemi sonlandırır ve ilk ekrana yani "SAP Easy Access" ekranına döner.
  • /nXXXX: mevcut işlemi sonlandırır ve sanki ilk ekranda "XXXX" işlem kodu girilmiş gibi o işleme gider. Mevcut işlemdeyken "XXXX" işlem kodu ile başka bir işleme geçiş yapılamaz. Bunun için işlem kodunun başına /n özel karakteri girilir. Bu şekilde mevcut ekrandan çıkış yapıldığında, çıkış yapıldığına dair onay mesajı gelmez ve kaydedilmemiş veriler kaybolur.
  • /o: yeni bir pencere (oturum) açar ve ilk ekran gelir.
  • /oXXXX: "XXXX" işlem kodlu işlemi yeni oturumda açar.
  • /nend: Onay mesajı gelir ve olumlu cevap verildiği taktirde tüm oturumlardan çıkar.
  • /nex: Onay mesajı olmadan tüm oturumlardan çıkar.

  • /i: Birden fazla aktif oturum varsa onay mesajı olmadan aktif oturumdan çıkar.  Yoksa onay mesajı gelir ve olumlu cevap verildiği taktirde aktif oturumdan çıkar.
  • /* ve /*XXXX: /n gibi çalışır. Bazı durumlarda işlemin ilk ekranı gözükmez (skip initial screen). 

SAP Sistemine Giriş


SAP GUI Çeşitleri

Daha önce bahsettiğimiz 3 seviyeli SAP mimarisindeki son seviye olan sunum katmanı, SAP sisteminin kullanıcıya gözüken kısmıdır. Bu katmana SAP Graphical User Interface (SAP GUI) denir. SAP GUI ile kullanıcı, veri girebilir veya görüntüleyebilir.
SAP GUI programı birçok platformda çalışabilmektedir. Farklı platformalarda aynı kullanıma sahip olduğundan bir platforma alışık olan kullanıcılar diğer platformlara da hemen adapte olabiliyorlar. Platform özelliği taşıyan GUI özellikleri ise platformlar arası gözüken farklılıklardır. Uygulama katmanı ile sunum katmanı arasında oluşan veri akışı, KB’lar seviyesindedir. Böylece SAP GUI kullanımı WAN’lar üzerinden gerçekleşebilmektedir.
SAP GUI çeşitleri aşağıdaki gibidir:
  • SAP GUI for Windows
  • SAP GUI for Java
  • SAP GUI for HTML
En yaygın kullanılan çeşit SAP GUI for Windows’tur. Microsoft Windows işletim sistemlerinde çalışmaktadır. C ve C++ yazılım dilleri kullanılmıştır.
SAP GUI for Java, java yazılım dili kullanarak yazılmış, platform bağımsız bir SAP GUI çeşididir.
Bu 2 çeşit de son kullanıcı pclerine ve terminal sunucularına yüklenebilir.
SAP GUI for HTML ise, sunucu tarafında Internet Transaction Server (ITS) ile istemci tarafında Web Browser’ın birleşmesinden oluşur. ITS, SAP Web Uygulama Sunucu’nda SAP GUI den gelen veri akışını HTML’e dönüştürür. SAP GUI for HTML’in en büyük avantajı kuruluma ihtiyaç duymamasıdır. Bunun için bir browser yeterli olacaktır. Genel tecrübeye göre Microsoft Internet Explorer uygun oluyor fakat Internet Explorer’ın son sürümü pek kullanılamıyor. Bunun nedeni, yeni gelen browserın SAP GUI for HTML ile uyumsuzluklarla karşılaşılması olmaktadır. SAP, bunun için yeni güncellemeler ile uyumsuzlukları gidermektedir ancak bu durum, biraz vakit almaktadır. SAP GUI for HTML’de, SAP’nin tüm fonksiyonları yoktur ancak kullanıcıların ihtiyaçlarını çoğu karşılanır.
Detaylı bilgi için SAP’nin aşağıdaki sunduğu notları inceleyebilirsiniz:
66971 - Supported SAP GUI platforms.
314568 - SAP GUI for HTML functionality / Limitations / Sp. Behaviour
146505 - SAP GUI for the Java environment (Platform Independent GUI)

Not: SAP notları, SAP ürünleri için işlevler, kullanım notları ve düzeltmelerden oluşur.  Notlara SAP Service Marketplace’ten S-User (partner kullanıcıları) kullanıcılarıyla erişebiliyoruz: http://service.sap.com/notes


SAP Sistemine Giriş (SAP Logon)

SAP GUI programına giriş yapmak için, bu programla beraber gelen SAP Logon programı kullanılır. Burada erişim sağlanabilecek sistemler liste halinde bulunur. Bu listeye SAP sistemine logon olunan PC üzerindeki saplogon.ini dosyasından erişilir.



SAP sistemine giriş yaptığınızda karşınıza kullanıcı ve şifre ekranı gelmektedir. Eğer Single Sign-On hizmeti varsa bu girişi yapmaya gerek olmayacaktır. Bunun yanında üst birim girişi mevcuttur. Genelde kullanıcı ön tanımlı üst birime girer.
Üst birim, SAP sisteminde bir şirkete denk gelmektedir. Böylece bir SAP sisteminde birden fazla üst birim ile birden fazla firma temsil edilir. Fakat günümüzde, farklı amaçlar için de çoklu üst birim stratejileri kullanılmaktadır. Bu konuya daha sonra  tekrar değineceğiz. Üst birim bilgisi SAP sistemininin kullandığı veri tabanlarında anahtar alan olarak kullanılır. Böylece başka üst birimlere ait bilgliler erişilemez.
Bir diğer logon seçimi dil bilgisidir. SAP, birçok dil için destek vermektedir.
Yeni parola tuşu ile yeni parola girilir.
Sistem yöneticisi bu giriş ekranına ek metin de girebilir. Detaylı bilgi için 205487 nolu nota bakabilirsiniz.

Kullanıcı bilgisi, kullanıcı ana veri kayıtlarında bulunur ve üst birim bazındadır. Bir üst birimde olup diğer üst birimde olmayabilir, dolayısıyla diğer üst birime bu kullanıcı ile logon olunamaz.
SAP sisteminde aynı kullanıcı ile birden fazla giriş yapıldığında bunun kaydı tutulur. Bunun nedeni hem güvenliği sağlamak hem de lisans takibi yapabilmektir.
Kullanıcı giriş yaptıktan sonra yeni şifre tanımlar çünkü ilk girişte kendisine verilen şifre tek kullanımlıktır. Güvenlik sebebiyle kulanıcının dönemsel olarak şifresini değiştirmesi uygun olacaktır.

Ekran Yapısı

Sisteme başarıyla giriş yaptıktan sonra karşımıza "SAP Easy Access" ekranı gelir. Ekranın sol tarafında ağaç yapısında menü bulunmaktadır. Sağ kısmında ise şirketin logosu bulunur. Burada sistem yöneticisi  gerekli değişiklikleri yapar.


Sahip olduğumuz kullanıcının verilerini değiştirmek için, Sistem -> Kullanıcı Değerleri -> Kişisel Veriler adımını kullanıyoruz. Burada bazı varsayılan değerleri değiştirebiliriz.

SAP ekranlarında şu elemanlar bulunabilir:
  • Menu bar, standart toolbar, title bar, uygulama toolbarı, status bar
  • Komut alanı
  • Sekme sayfaları
  • Seçme kutuları, giriş alanları

Komut alanına ekranlara erişmek için işlem kodu girilir. Örneğin yukarıdaki örnekte kişisel verilere menuden ulaşmak yerine komut alanına "SU3" işlem kodu yazılıp "Enter" tuşuna basabilirdik. Aynı ekran karşımıza çıkacaktır. İşlem kodunun çeşitli bulma yöntemleri vardır. Genel menüden işleme girdikten sonra status barda işlem kodu gözükür veya menüden Sistem -> Durum adımından işlem kodu bilgisine ulaşabiliriz.

  • Menu bar ekranın en üstünde bulunur. Aşağıya doğru açılır. Uygulamaya göre değişkenlikler gösterir.
  • Standart toolbar her SAP ekranında mevcuttur. Tuşların yeri sabittir ancak uygulama bazlı aktifliği değişebilir. Her tuşun kendine özgü fonksiyon kodu bulunmaktadır.
  • Title bar, o ekrandaki uygulamanın başlığını verir.
  • Uygulama toolbarı uygulamaya özgü tuşları barındırır.
  • Status bar, mevcut sistemin durumunu gösterir. Uyarı ve hata mesajlarını da gösterir.
  • Seçme kutuları ile bağımsız seçimler yapabiliriz.
  • Radyo tuşları ile radyo grubu içerisinden sadece bir seçim yapabiliriz.
  • Sekmeler birçok alt ekranı düzenler.
  • Giriş elemanları ve tuşlar, ekranın diğer elemanlarıdır.


Sistemden çıkma (SAP Log-off)

SAP sisteminde işimiz bittiğinde sistemden çıkmamız gerekmektedir. Bunu farklı yöntemlerle gerçekleştirebiliriz.


  1. Sistem -> Oturumu kapat. Onay mesajına olumlu cevap verildiği taktirde tüm ekranlar kapanır.
  1. Komut satırına "/nend" yazdığımızda aktif ekran, "/nex" yazdığımızda tüm ekranlar onay mesajı çıkmadan kapanır. Bu yüzden kaydedilmemiş veriler kaybolabilir.
  2. Alt+F4 veya sol üstteki çarpı işareti ile çıkış yapılır. Tüm ekranlar tek tek bu şekilde kapatılır. Son ekran  kapanmadan önce onay mesajı gelir. Olumlu cevap verildiği taktirde  son ekran da kapanır.


9 Şubat 2014 Pazar

SAP NetWeaver


SAP NetWeaver, mevcut sistemlere entegre edilebilir, kapsamlı bir teknoloji platformudur. SAP NetWeaver ile iş süreçleri uygulanır, geliştirlir ve yürütülür.

Entegrasyon 4 ana temelde ele alınır. Üstten alta doğru önce kişi entegrasyonu gelir. Burada kullanıcının SAP NW sistemine erişimi temel amaçtır. SAP Enterprise Portal fonksiyonları kilit önem taşır. Bilgi entegrasyonu ile sistemdeki verilerin işlenerek veya ham hali ile kullanıcıya servis edilmesi amaçlanır. SAP Business Information Warehouse modülü bu servisi sağlar. Knowladge Management Enterprise Portal’in bir bileşenidir. Master Data Management modülü ise ana verilerin kullanıcılara servis edilmesini sağlar. Süreç entegrasyonu ile iş süreçleri yönetilir. XML veri paketleri ve iş akış senaryoları bu bölümün temellerini oluşturur. Temel modül SAP Process Integration (SAP PI)dır. Bunları gerçekleştirmek için son olarak uygulama platformu kullanılır. SAP Web Application Server ile J2EE ve ABAP geliştirme ortamlarına sahiptir. Aynı zamanda web uygulamaları ve web servis geliştirmeyi destekler.

SAP Web Apllication Server (SAP Web AS):

SAP Web AS’ın ABAP geliştirme ortamının yanı sıra Java bazlı programlar için J2EE geliştirme ortamı da vardır. SAP Web AS veri tabanı ile beraber SAP NetWeaver’ın uygulama platformudur.


28 Haziran 2011 Salı

SAP Geliştirme (Workbench) Ortamları - 3

Veri Öğeleri (Data Elements):

Veri öğeleri SAP için temel bir veri tipidir. Program yazarken, tablo veya yapı oluştururken veriler tanımlarız. Bu verileri tanımlama esnasında tam sayı, karakter gibi bir veri türüne bağlamak isteriz. SAP'de bu görevi çoğunlukla veri öğeleri üstlenir.

Veri öğeleri tanımlarken ismi, tanımı ve alan isimleri veririz. Veri türü ve uzunluğu "Domain" ya da ABAP dilinin tanıdığı ön tanımlı temel veri türü ile belirleriz. Ayrıca bu tanımlanan veri öğesine "Arama yardımı" da istersek verebiliriz. Eğer yine istenirse bu veri türünün ne işe yaradığı, nerede kullanıldığı gibi bilgileri dokümantasyon bölümüne girebiliriz.Veri öğesi için girilen bütün metinlere çeviri yapmak da mümkündür.

Tablo - Veri öğesi - Domain ilişkisi


Tablo Tipi:

Tablo tipi bir yapı verilerek oluşturulan ABAP sözlük tablo tipidir. Kodlama içinde de dahili tablo tanımlama için kullanılır.

Tablonun görevine göre erişim tipi seçilir. Erişim tipleri; standart, sıralı, hash, index ya da belirsiz olarak seçebiliriz.

En son olarak anahtar alanlar tanımlanır ve tablo tipimiz hazır olur.

Tip grubu:

Aynı zamanda tip havuzu da denir. Burada tanımlanacak tipler kod olarak yazılır ve program yazarken bu havuz kullanılır. Tip havuzunu birçok programda da kullanılır. Böylece kod tasarrufu sağlanmış olur.

Etki Alanı (Domain) :

Domainlerin veri öğelerine atanan veri tipleri olduğunu yukarıda görmüştük. Domainler tek başlarına veri tanımlaması için kullanılamazlar. Ancak bir veri öğesine bağlanabilirler. Domainler ise temel ABAP veri tipleri üzerine kurulur. Burada bu domaine atanacak verinin alabileceği değerleri sınırlandırabiliriz. 2 yöntem vardır. Birincisi sabit değer vermektir. İkincisi ise anahtar alanı bu domaine atanmış bir veri öğesi olan bir tablo vermektir. Böylece bu domaine atanmış bir veri öğesinin alabileceği değer tablodaki değerler ile sınırlandırılmış olur.

Örnek bir Domain - Veri Öğesi - Tablo ataması:

Bu örnekte alanların veri tipi ve uzunluğu daima uyumludur.

Arama Yardımı (Search Help):

Arama yardımı R/3 sisteminin standart fonksiyonlarındandır. F4 tuşu bu amaç için kullanılır. Böylece kullanıcı, F4 bastığı alanın alabileceği değerleri bir liste halinde görür.

2 tür arama yardımı vardır: Temel arama yardımı, kollectif arama yardımı. Kollektif arama yardımı, temel arama yardımlarından oluşur. Temel arama yardımı tablo ve o tablonun alanları üzerinde kurulur. Bu şekilde istenen değerleri arama yardımında görürüz.

Örnek: İkincil anahtarlar sayesinde arama yardımı şeması.

Kilit nesneleri (Lock Objects):

R/3 sisteminde bütün kullanıcılar aynı işleme aynı anda ulaşabilir. Bazen bu durum çakışmalara neden olur. Hangi işlemin geçerli olması gerektiğini sistem tayin edemez. Bu yüzden kilit nesneleri kullanılır. Böylece bir kullanıcı bir veri tabanına erişim sağlarken bir başka kullanıcı o veri tabanına erişmek isterse bu kilit nesnesi ile karşılaşır ve hata alır. Sonuç olarak veri kaybı yaşanmaz.

Kilit nesnesini oluşturduktan sonra sistem iki tane fonksiyon üretir. Bu fonksiyonlar kilitlemeyi ve kilidi kaldırmayı sağlarlar.

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.

30 Mayıs 2011 Pazartesi

SAP Geliştirme (Workbench) Ortamları - 1

SAP'de Kod Düzenleyicileri:

- SE80 - Gelişmiş ABAP kod editörü:
- SE38 - ABAP düzenleyicisi:

Repository Browser üzerinden >Program< seçilir. Program ismi girilir. Program isimleri X,Y veya Z harfi ile başlamalıdır. Diğer harflerle başlayan programların sahibi SAP’dir. Eğer X,Y veya Z ile başlamayan bir program ismi oluşturduysanız ve SAP de aynı program ismi ile müşterilerine program yayınlamak istediğinde SAP’nin programı, sizin programı ezer ve yaptığınız geliştirme kaybolmuş olur. Bu yüzden SAP için X,Y veya Z harfleri ile başlayan programları müşteriye özgü program olarak kabul eder ve bu programlara dokunmaz. SAP’de kod yazacağımız ortam burasıdır. Bu yüzden bu işlem kodlarını (SE80 veya SE38) iyi bilmek gerekir. SAP’de programlar etkin olduğunda çalışır. Bu yüzden oluşturduğumuz program şimdilik etkin değildir. Etkinleştirme işlemi ile aynı zamanda hem programı kaydetmiş, hem sözdizimi (Syntax) kontrolü yapmış hem de etkinleştirmiş olursunuz (Kısayol tuşu Ctrl+F3). Bu işlemleri ayrı ayrı da yapabilirsiniz. Kod yazarken okunabilirlik çok önemlidir. Bu geliştirme editörleri tek tuşla bu hassasiyeti sizin için sağlar. Bu tuşun ismi "Pretty Printer"'dır (Kısayol tuşu Shift+F1). Ayarları Yardımcı Programlar dan yapılır. Okunabilirliğin arttırmak için yorum satırları da kullanabiliriz. (*) karakteri satır başında (“) karakteri ise satırın herhangi bir yerinde kullanılır.

Hata Ayıklıyıcı (Debugger):

Program çalışırken hata ayıklama moduna "/h" komutu ile girilir. Programcı, program üzerinde kesme noktası koyarak veya
break username
komutunu kullanarak hata ayıklama moduna girilir. Burada adım adım ilerleme (F5), blok atlayarak ilerleme (F6), bir üst bloğa atlama (F7) ve sonuna kadar ilerleme (F8) seçenekleri mevcuttur. Kod üzerinde değişkenin aldığı değerler yeni modda iken sağ tabloda, eski modda iken alt tabloda gözükür. Yeni modda o anki veriler Excele aktarma seçeneği de mevcuttur.

Paket Hiyerarşisi:

Workbench nesnelerine belli bir gruplama stratejisi uygulanabilir. Bu, paketleme sayesinde olur. Paketler alt paketlerden de oluşabilir. Senaryoya göre hiyerarşi yapısı kurulabilir. Genelde modül bazlı gruplama yapılır. SE21 işlem kodundan da paketler oluşturulur.

Bir sonraki konumuzda SAP'de veri tabanlarından bahsedeceğiz.

12 Temmuz 2010 Pazartesi

SPEKT Nedir?

Spekt nedir?

Orjinal ismi "Technical Specification" dur. "Functional Specification", "Program Specification" da denir. Teknik Spekti sistem analistleri (SAP'de modülcü de deriz) tarafından hazırlanır ve program geliştiricilerine (SAP'de genellikle ABAP danışmanları olur) sunulur. Bu dokümanla analistler, geliştiricilerden ne istediğini anlatmış olur.

Spekt neden gerekli?

Analistin hazırladığı spekt dokümanı, istenilen şekilde hazırlandığı taktirde geliştirici için gereken kaynak belgesi olur. Geliştirici, programı yazarken sadece bu belgeye ihtiyaç duyup, analiste sadece program bittiğinde haber verir.
Yapılan geliştirme spekt üzerinden takip edilir. Ek istek olduğu taktirde spekt güncellenir ve yayınlanır. Programın son hali ile spekt uyumlu olduğunda bu belge ileride, program üzerinde çalışacak analistler ve geliştiriciler için de kaynak belgesi olur.

Spekt adımları:

1- Geliştirme özellikleri:

Program ismi:
Başlık:
Program Tipi:
Çalıştırma Modu:
(...)

2- Program işlevi:

3- Seçim ekranı:

4- Seçim seçenekleri, hata yakalama:

5- Veri çekim algoritması, kullanılacak tablolar, fonksiyonlar:

6- Çıktı alanları:

7- Gerekiyorsa veri tabanı gereksinimleri:

8- Gerekiyorsa kullanılacak dosyalar ve dosya tipleri

9- Test verisi ve senaryoları:

10- Analiz yorumları:


SAP de Spekt Nasıl Yazılır?

SAP'de çeşitli geliştirme tipleri vardır. En çok kullanılan geliştirme tipleri, raporlama, çıktı alma, dialog geliştirmeleri, belge işleme ve entegrasyonlardır. Önceikle nasıl bir geliştirme olduğu belirtilip programın giriş ve çıkışları verilmelidir. Örneğin eğer bu geliştirme raporlama ise programın girişi olarak seçim ekranında girilecek alanları, program çıkışında ise raporda olacak kolon isimleri verilir. Kullanılacak alanların teknik isimleri verilir. Veriler hangi tablolardan nasıl çekilir gibi detay bilgiler verilir.

Not: Okuyuculardan gelen yorumlar üzerine bu notu yazma ihtiyacım oldu. TDK'nın sözlüğünde "Spekt", "Spek", "Spec"diye kelimeler yoktur. Bu kelimelere karşılık teknik tarif ve şartname kelimeleri vardır. Ancak SAP ekosisteminde genel olarak "Spekt" kelimesi kullanıldığı için bu şekilde yazdım.

8 Temmuz 2010 Perşembe

ABAP Nedir?

ABAP

ABAP (Advanced Business Application Programming), Alman yazılım şirketi SAP AG tarfından geliştirilen üst seviye bir nesne tabanlı programlama dilidir. SAP'ın, iş uygulamaları geliştirmek için kullanılan son zamanlarda java'nın da içerisinde kendine yer bulduğu NetWeaver platformunun parçası olan Web Uygulama Sunucu'sunu programlama için kullanılır.

Kimler ABAP yazabilir?

ABAP temel veritabanı seviyesinden yüksek seviyeli bir soyutlama sağlayan mantıksal veritabanı kavramını içeren ilk dillerden biridir.
ABAP proglama dili ilk olarak geliştiriciler tarafından SAP R/3 platformunu geliştirmek için kullanıldı. SAP müşterileri ABAP'ı, müşterilerin özel raporlar ve arayüzler geliştirebilecekleri SAP uygulamaları geliştirmek için kullanmayı tasarlıyorlardı.
Yazılımcılar için öğrenmesi oldukça kolaydır fakat yazılımcı olmayanlar için direkt kullanılabilecek bir araç değildir. ABAP programları oluşturabilmek için ilişkisel veritabanı tasarımı ve tercihen nesne odaklı kavram bilgisini içeren programlama yetenekleri gereklidir.

ABAP Nerede Çalışır?

Tüm ABAP programları SAP veritabanında bulunur. Java ve C++ programları gibi ayrı dış dosyalarda depolanmazlar. ABAP programları, SAP çekirdeğinin(kernel) parçası olan çalışma zamanı sisteminin kontrolü altında çalışırlar. Çalışma zamanı sistemi ABAP ifadelerini işlemekten, ekranların akış mantığını kontrol etmekten ve olaylara(kullanıcının ekran butonuna tıklaması gibi) cevap vermekten sorumludur. ABAP çalışma zamanı sisteminin anahtar bileşenlerinden biri, veritabanından bağımsız ABAP ifadelerini("open sql") tabanda yer alan dbms(veri tabanı yönetim sistemi) in anlayabileceği ifadelere("native sql") çeviren veritabanı arayüzüdür. Veri tabanı arayüzü, ABAP programları adına, ilişkisel veri tabanıyla olan tüm iletişimi ele alır, aynı zamanda uygulama sunucusunun yerleşik belleğinde sık erişilen veriyi ara belleğe almak gibi ekstra özellikler içerir.
SAP'nin üç farklı katman vardır. Bunlar sunum katmanı(gui), uygulama katmanı(programlar bunun üstünde çalışır) ve kullanıcının hazırladığı durumlardan ve son kullanıcının sunum katmanından verdiği komutlardan tüm verinin kazanıldığı ve depolandığı veri tabanı katmanıdır.

ABAP ile SAP Üst Birimleri arasındaki bağlantı nedir?

SAP'de temel olarak 3 üst birim sistemi vardır: Geliştirme, Test, Canlı. ABAP kodları geliştirme sisteminde yazılır. Test sisteminde kontrol edilir. Onaylanırsa kodlar canlı sisteme taşınır. Kodların performans testi için gerekirse canlı sistemi ile aynı özellikleri olan bir sunucuda kalite sistemi adı altında bir üst birim daha açılır. Belirli periyodlarda canlı sisteminden veriler kalite sistemine kopyalanır. Zaman geçtikçe yeni geliştirmelerin testleri kalite sisteminde yapıldığı için daha önce kululmuş olan test sistemi önemini yitirir ve kapatılır. Artık kalite sistemi test sisteminin yerine geçmiş olur. Böyle olmaması için bazı projelerde sistem tasarımı Geliştirme-Kalite/Test-Canlı şeklinde yapılır.
Bazı projelerde ise Geliştirme ve Test üst birimleri aynı sunucuda olabilir. ABAP nesneleri (Workbench) sunucu bazında tutulduğu için geliştirme sisteminde yazılan kodlar, oluşturulan tablolar vs. test sisteminde de geçerli olur. Sadece üst birim bağımlı olan tablolardaki (Tabloda MANDT alanı varsa) veriler, uyarlamalar farklıdır. Yine aynı şekilde test sisteminde onaylanan kodlar canlı sisteme taşınır.