Teknik

ABAP PROGRAMLAMA DİLİNE GİRİŞ

17/01/2013

Merhaba arkadaşlar,bugün SAP ın programlama dili olan ABAP’a giriş yapıp temel kavramlardan bahsedeceğiz.

GENEL BİLGİLER :

ABAP(Advanced Business Application Programming ) yazılım şirketi SAP tarafından geliştirilmiş bir programlama dilidir.Java,C#…gibi yüksek seviyeli diller arasında yerini almaktadır.ABAP ın en temel kullanım amacı SAP üzerinde müşterinin isteklerine uygun uyarlamanın yapılmasıdır.Yani temel SAP yazılımının üzerine müşterinin istediği herhangi bir eklentinin yapılması gerektiğinde ABAP devreye girer.Bunun dışında ilk ve en çok kullanım amacı ise SAP sistemindeki verilerin istenilen biçimde raporlanarak sunulması,rapor programı yazılmasıdır.Bir rapor programında amaç kullanıcının sisteme girdiği veriler üzerinde işlem yapmaktır.En basit örnekle : bir çikolata şirketiniz olsun 🙂 ve işlerinizi takip etmek için SAP kullannıyorsunuz.İşte belli iki tarih arasında hangi üründen nekadar sattığınızın raporu için ABAP ile raporlama programları yazılır.Toparalayacak olursak ABAP ile gerekli bilgileri veritabanından okuyan ve ekrana sunan report programlar,sisteme bilgi girilmesini sağlayan dialog programlar ve SAP ile diğer sistemler arası veri alışverişini sağlayan Interface ler yazılabilir.

Bana göre ABAP’ın  önemli özelliklerinden biri çevirilebilen bir metin yapısının olması,bu sayede birden fazla dilde çalıştırılabilen programlar elde ediyoruz.Diğer bir özelliği ise OPEN-SQL yapısının olması ve sistem üzerinde direk program satırlarınızı yazarken veri tabanına erişim mümkün  yani connection-stringsiz bir yapı 🙂 SAP sisteminin kendi içerisinde var olan veri tabanı tabloları var.Elbette bununla da sınırlı kalmıyor yani sadece kendi veri tabanını desteklemekle kalmıyor oracle,mssql gibi  veri tabanlarınıda destekliyor.Yani her şekilde şirketinize uyum sağlıyor.Bir diğer özelliği her geçen gün gelişen yapısının eski kodlara zarar vermemesi.Buda bize nesneye dayalı bir programlama(OOP) yapısına sahip olduğunu gösteriyor.

ABAP ile programlamaya başlayacak birinin SAP nin temel işleyişi hakkında bilgi sahibi olması gerekli.Ancak bu işleyişi öğrenmek oldukca uzun bir süreç.Biz basit örnekler ile başlayacağız bunun içinse SAP nin kullandığı R/3 mimarini kavramak yeterli.Temelde bildiğimiz 3 katmanlı mimari yapısı.SAP R/3,3 katmandan oluşan bir client/server mimarisidir.Sırası ile Database Layer(veritabanı katmanı),Application Layer(uygulama katmanı) ve Presentation Layer (sunum katmanı).

-Database Layer : Bu katmanda işletmenin bilgileri,girilen veriler bunun yanısıra metadata yani kullnılan veritabanı  yapısını tarif eden metaveriler saklanır.Verilerle ilgli işlemler için SQL kullanılır ve daha öncede değindiğimiz gibi piyasadaki pek çok veritabanını destekler.

-Application Layer : Bu katmanda SAP tarafından geliştirilmiş uygulamalar,ABAP tarafında yazılmış programlar çalışır.Yani veritabanı üzerine yerleştirilmiş uygulamalar bu katmanda çalışır diyebiliriz.

-Presentation Layer: Kullanıcı tarafından verilerin girildiği,veriler üzerinde işlem yapılabildiği katman bu katmandır.SAP GUI(graphical user ınterface) kullanıcı arayüzümüzdür.En basit hali ile aşağıdaki şekilde karşımıza çıkar.

 

 

  ABAP GELİŞTİRME ORTAMI:

Geliştirmeleri yaptığımız ortam ABAP Workbench.Bu çalışma ortamını tam anlamıyla kullanmak için SAP sistemine erişiminizin olması gerekmektedir.Yani gerçek uygulamalar için bir SAP danışmanlık şirketinin üyesi olmanız gerek.Ancak bu erişime sahip değilseniz ve ABAP programlama dilini öğrenmek istiyorsanız

http://www.sdn.sap.com/irj/scn/downloads adresinden bilgisayınızla uyumlu deneme versiyonlarını indirip kurabilirsiniz.İçinde ABAP workbench i taşıyan en rahat sistem Mini SAP Basis dir.Ancak en kapsamlı olan SAP Netweaver Application Server deneme versiyonu.

 

ABAP Workbench:ABAP kod editörü(ABAP editör),fonksiyon modül editörü(function builder),kullanıcı ekran oluşturucu(screen painter),veri türü sözlüğü(data dictionary) ve sınıf oluşturucudan(class builder) oluşur.SAP pek çok modülü kapsayan,ayrıntısı oldukca fazla olan bir sistemdir.Bu sistem içerisinde ilgili alanlara erişebilmek için transaction kodları dediğimiz kısa yollar mevcuttur.ABAP ın bütün parçalarına eriştiğimiz transaction kodu : SE80 dir.Sadece kod geliştirme ortamına erişmek için kullandığımız kod ise SE38 dir.Şimdi ABAP da kod yazacağımız ortamı tanıyıp ardından programlama klasiği olan ekrana ‘merhaba dünya’ yazan programcığı gerçekleştirelim:)

 

1-İlk adımımız SE38 transaction kodu ile ABAP editörüne geçiş yapmak.

 

 

 

2-Bizi yazacağımız programa dair özellikleri vermemiz bildirmemizin istendiği ekran karşılayacak.

Programımıza İsmini veriyoruz.Burada bilmemiz gereken şey ABAP da sisteme dahil olmayan yani programcı tarafından extra olarak yazılmış programlara isim verilirken ‘Z’ yada ‘Y ‘ ile başlanıyor olması.Bu durum ABAP a özel bir özellik,kural haline gelmiş bir durum.Programa ‘Z_MERHABA’ ismini veriyoruz ve yarat seçeneğine tıklıyoruz.

3-Şimdi ise programa dahil özelliklerin belirleneceği bir alan karşımıza çıkıyor.İlk alanda programla ilgili açıklamayı belirtmemiz gerekiyor.Bunu daha sonra yazdıklarımızla karışmaması yada bizden başka okuyacak olanlara anlaşılma sağlaması için yapıyoruz.İkinci alanda programın tipi devreye giriyor ilk uygulamamız olacağı için ‘yürütülebilir programı’ seçiyoruz.Hemen altında programın statüsü var.Burada ‘deneme programı’nı seçiyoruz ve ‘save ‘ diyoruz.

4-Bir sonraki adımda paket seçimi yapmamız gerekiyor.Ancak şuan yazacağımız program herhangi bir pakete dahil edilemeyeceğiiçin ‘local object’ i seçiyor ve artık kodları yazacağımız editör ortamımıza ulaşıyoruz.

 5-ABAP editöründeyiz artık.Kodlarımızı burada yazıp derleyeceğiz.İlk olarak notepad i andıran kelime işlemci arayüzü bizi karşılar .Programın iilk satırları ABAP ediötürü tarafından otomatik olarak eklenir.Bu satırlar yorum satırıdır ve programın adını belirler.Bir sonraki adıma geçmeden ortamı tanıyalım.

 

 * 1-Düzenleme-görüntüleme modu arası geçiş tuşu (programı daha sonra tekrar çalışmak için kaydettiğimiz zaman değişiklik yapabilmek için düzenleme moduna geçmemiz gerekiyor yoksa kodlarımız üzerinde değişiklik yapmaya imkanımız olmuyor)

* 2- Etkin olan-olmayan sürümler arası geçiş tuşu,

* 3- Programın içinden veya dışından başka bir nesneye erişim tuşu,

* 4- Enhancement kodlamaları,

* 5- Syntax kontolü(varsa hata hangi satırsa onu bulur),

* 6- Programın aktifleştirilmesi.(her program çalışmadan önce aktifleştirilmeli aksi halde hatalara sebep oluyor),Ve bütün ABAP programları ilk yazıldığında inaktiftir.

*7- Run.Programın yürütülmesi gerçekleştiriliyor(kısayolu F8),

*8- Nesne görüntüleme tuşu(oluşturduğumuz nesneleri görüntüler),

*9- Dolaşma pencelesi ,

*10- Programın içine kontrol noktası konulması (yani break point koyarak programımızı adım adım işletmemzi ve varsa hataları bulmamzı sağlıyor)

*12-Programın içerisine dışarıdan aktarma yapmamıza yarayan tuş.Bu tuşla sorgu,fonksiyon kontrol mekanizması oluşturp ekleyebilriz.(örneğin daha önce yazdığımız bir programı yeni program içinde kullanmak için)

*13-Kodlama yaparken güzel görünmesini,büyük küçük harf ayrımını ve blokları düzenlemeyi sağlayan tuş.

(Başlangıçta en çok syntax kontrolü,pretty printer,düzenleme-görüntüleme modları arası geçiş ve run tuşları işimize yarayacak.İlerledikce diğerleri de anlam kazanacak.)

6- İlk programcığı yazmak için artık hazırız.ABAP da string(metin) tipinde bir çıktı alabilmek için “WRITE” komutunu kullanıyoruz.ABAP da her satırın bitimine ‘.'(nokta)  koyuyoruz.-Bu sytax kurallarından birtanesi.- Ayrıca yorum satırı eklemekde mümkün.Bunun içinde tırnak işaretini ‘  ”  ‘ kullanıyoruz.Ayrıca ABAP da büyük/küçük harf duyarlılığı yoktur.

7-Active edip run dediğimizde metnimiz program sonucu olarak gösterilmiş olacaktır.

 

 Böylece ilk ABAP programımızı yazmış ve derleme ortamını kısaca öğrenmiş olduk.

iyi çalışmalar dilerim 🙂

 

 

 

 

 

 

 

 

 

 

 

You Might Also Like

30 Comments

  • Reply sercan 29/05/2013 at 08:39

    merhaba, abap eğitimi almak istiyorum ama adana eğitim veren bir yer yok nasıl oğrenebilirm acaba yardmcı olrsanz cok sevinirim.

    • Reply gulistan 29/05/2013 at 09:50

      Zannediyorum ki kaliteli eğitimler istanbulda, öncelikle bilgisayarınıza Abap workbench kurmalısınız ki uygulamalı öğrenilecek bir şey abap.Sonrasında internet dökümanları ile destekleyebilirsiniz.(abap tutorials)

  • Reply sercan 30/05/2013 at 18:00

    teskurler

  • Reply levent 06/11/2013 at 23:50

    merhaba. abap için programcı olmak gerekiyormu. Aslında bilgisayar donanımı işi yapıyorum ama merakım var. yeterli olur mu

  • Reply Müslüm 16/12/2013 at 22:25

    Merhaba arkadaşim anlatim ve örneklemeler harika olmuş Sap Abap hakkında on bilgi ve daha fazlasini buldum. Teşekkürler çalışma için. .

    • Reply gulistan 10/04/2014 at 15:02

      Aradığınızı bulmanıza çok memnun oldum Müslüm Bey, teşekkür ederim.

  • Reply Özgür 25/02/2014 at 18:04

    Merhabalar abap workbench arıyorum. Şuanda Sap kullanıyoruz ancak kendi programlarımıda yazmaya başlamak istiyorum. yardımcı olabilir misiniz?

  • Reply Hakant 20/03/2014 at 08:39

    Merhaba. Abap için Programcı olmak gerekiyormu veya hangi altyapıya sahip olunmalı ?? “On the Job” öğrenebilinirmi ? Hangi sürede öğrenebilinir ..?

    • Reply gulistan 20/03/2014 at 09:30

      Abapında bir programlama dili olduğunu varsayınca algoritma temeli; nesneye yönelik olduğu içinde oop nin bilinmesi oldukça kolaylık sağlar. Zaten ister istemez on the job modunda öğreniliyor (kursları falan saymazsak). Sürecinse tamamen kişiye bağlı olduğunu düşünüyorum.

  • Reply emre 31/03/2014 at 13:10

    Merhaba Gülistan hanım ABAP hakkında yayınlamış olduğunuz bilgiler çok verimli emeğinize sağlık teşekkür ederim.

    • Reply gulistan 10/04/2014 at 15:01

      Rica ederim Emre Bey, faydası olduğu için memnun oldum.

  • Reply Arda 21/07/2014 at 15:27

    Merhabalar,

    Sap Abap egitimi almak istiyorum, ancak nerede veriliyor ve neresi daha iyi bulamadim. Yardimci olursaniz cok sevinirim.
    Sagesse Bilisim ve Medyasoft veriyor. Sagesse, 7 ser gunden 2 kurda tamamini veriyor. Medyasoft ise haftasonlari 2 ayda bitiriyor.

    • Reply gulistan 21/07/2014 at 16:12

      Arda Bey Merhabalar,

      Dışarıdan herhangi bir eğitim almadığım için yanlış bilgilendirmek istemem. Ancak vaktiniz varsa uzun süreli eğitimin kendinizi geliştirme açısından da faydalı olabileceğini düşünürdüm.

  • Reply ahmet 06/02/2015 at 18:35

    Merhaba ,

    özel bir şirkette istatistikçi olarak çalışıyorum ve SAP kullanıyorum SD BI MM modullerıne hakım bir şekilde SAP bilgi var ancak ben ABAP yazılımı ögrenmek istiyorum istanbulda yaşıyorum ,
    en kaliteli eğitimi veren kurs hakkında bilgi verebilir misiniz

    teşekkürler..

    • Reply gulistan 19/02/2015 at 12:56

      Ahmet Bey kurslar hakkında ne yazık ki bilgim yok. Ama kendi kendinize de öğrenebileceğinizi düşünüyorum.

  • Reply Merve 14/02/2015 at 09:40

    Merhabalar,

    Sap Abap eğitimini kursa gitmeden kendimiz nasil öğrenebiliriz Sap bilgim var fakat Abap kursa gitmeden öğrenebilir miyim? Bilgi verirseniz sevinirim teşekkürler.

    • Reply gulistan 19/02/2015 at 12:54

      Tabi ki öğrenebilirsiniz biraz ilgi ile alakalı bir şey, güzel kaynaklar var internette. Yalnız ABAP çalışırken daha rahat öğrenilen yani on the job modunda bir dil benim kişisel görüşümce. Gerçekten bu alanda çalışmak istiyorsanız junior abap danışmanı yetiştirmek isteyen şirketlere başvurabilirsiniz.

  • Reply Koray 29/05/2015 at 22:53

    Gülistan hanim paylaşımlariniz çok güzel. SAP için workbanch ve kendi calismalarimla bi yol kat edebiliyorum. Junior sap danışmanları arayan sirketler henüz donus yapmadı ama olsun. Soracağım herseyi de sormuş diğer arkadaşlar. Bilgilendiricı ve ilgi çekici paylaşımlar için teşekkürler.

    • Reply gulistan 01/06/2015 at 21:21

      Rica ederim Koray Bey, faydalanmanıza çok sevindim. Dilerim en kısa zamanda dönüş olur şirketlerden 🙂 İyi haberlerinizi almak dileği ile.

  • Reply Serkan Cebeci 24/06/2015 at 13:49

    Merhaba Gülistan Hanım,

    Yazınız çok güzel ve ufuk açıcı, teşekkürler. Kendi başına öğrenilebilir olduğuna inanıyorsunuz ki bu fikrinizi paylaşıyorum. Ancak yukarıda bahsettiğiniz adresten işime yarayacak dosyayı indirip bilgisayarıma kurmayı başaramadım:

    SAP Netweaver Portal Enterprise Workspaces 1.1 SP3 (255 MB) isimli bir dosya indirdim ama içinde .exe dosyası yok.

    ABAP_Trial_7_02_Win_64_bit_1_84_GB isimli dosyayı indirdim ama programın kuruluş mantığını çözemedim.

    Bu konuda da (mümkünse resimli) yardımcı olursanız çok memnun olurum.

    İyi çalışmalar.

    • Reply gulistan 30/07/2015 at 09:49

      Serkan Bey,
      Faydalanmanıza çok sevindim, ancak yazı 2 sene kadar önce yazıldı yani linklerde sıkıntı olması doğal, doğru linkleri SAP’ın kendi sitesinde bulmanız mümkün, ben de uygun vaktimde yardımcı olmak isterim. İyi çalışmalar dilerim.

  • Reply ulker 24/03/2016 at 10:39

    Günaydın Gülistan hanım okuduğum cevaplarınızdan anlaşılıyor ki kendi kendimize de öğreneceğizmiz bir program bu ama bunun kitapları var almaya düşünüyorum sizin bu konuda yazdığınız bir kitap var mı yoksa neden yazmıyorsunuz
    varsa kitapbın ismini öğrenebilirmiyiz
    cevabınız için öncelikli teşekkürler

    • Reply gulistan 28/06/2016 at 17:15

      Ülker Hanım,
      Kitap yazacak yetkinlikte değilim ne yazık ki o yüzden yazamıyorum 🙂 Ben genelde internet üzerindeki ingilizce kaynakları takip ediyorum yeni bir şey öğrenirken. Size de tavsiye ederim.

  • Reply ulker 24/03/2016 at 10:45

    SAP ve ABAP proglama yazılarınızı okudum gerçekten güzel bir açıklamalı yazı olmuş güzel bir yardım sizin tarafınızda teşekkürler
    ben Ankarada oturuyorum Ankara bu yazılımı kullanan şirket vveya kişiler taanıyor musunuz
    teşekkürler Gülistan hanım

  • Reply Fatih 18/05/2016 at 12:51

    Merhaba,

    Paylaşımlarınız için çok müteşekkir olduğumu belirterek, hakkımda sayfanızdaki “burdan yetkililere sesleneyim paylaşmaktan korkmayın! ” cümlenizi de üzülerek sonuna kadar desteklediğimi bilmenizi isterim.
    İyi Çalışmalar,

    • Reply gulistan 28/06/2016 at 17:14

      Ülkemizin en büyük eksiklerinden biri bildiğini paylaşmamak 🙁

  • Reply emre 24/05/2016 at 02:36

    merhaba notlarınız çok güzel benim sorum yeni başlayan sıfırdan başlayacak birine ne tavsiye edersin?

  • Reply Soner 03/06/2016 at 10:32

    Merhaba
    Ben universite 3.sinif okuyorum ABAP ogrenmek istiyorum ve bu alanda calismak istiyorum.Sadece ABAP i bilmem gerekli mi yoksa yanina Java tarzi baska bir dilde bilmem gerekiyor mu? Okudugum forumda ABAP la tek basina uygulama gelistiremessin gibisinden yaziyordu simdiden TESEKKURLER.

  • Reply Rıdvan 14/02/2017 at 10:29

    Paylaşım için teşekkürler. Sap Abap öğrenmeye başladım sizin bilgilerinizin çok faydası oluyor.

  • Leave a Reply

    This site uses Akismet to reduce spam. Learn how your comment data is processed.