21 Eylül 2010 Salı

Hello World

Klasik "Hello World" programımızı yazmadan önce bir iki ufak ayar:

Üst menüden; Ekler->Ayarlar->Teknik adları görüntüle işaretli olacak.


Ayrıca tooltiplerin kolayca görünebilmesi için aşağıdaki resimdeki butona basıp seçeneklerden hızlı bilgi->hızlı olarak işaretlenecek:

  
fgfdgdfSap modüllerini menüden çalıştırabileceğimiz gibi transaction penceresinden de yazarak girebiliriz. Bu pencere kapalı olursa paniğe kapılmayın. Pencerenin yerinde bir üçgen vardır, onu tıklayın. Açılır.
İlk programımızı yazmak için SE80 - Object Navigator transactionunu kullanacağız. "Repository Browser" butonunu tıklıyoruz ve comboboxtan "Package"'yi seçiyoruz. Alta da yeni oluşturacağımız package ismini yazıyoruz. Bu package dediğimiz şey bir nevi proje. bu arada SAP sisteminde her türlü kullanıcı dosyası sadece "Z" veya "Y" harfiyle başlayabilir. Package ismini yazarken buna dikkat ediyoruz. Package türünü "not a main package" olarak seçiyoruz. Main package birden fazla paketin birleştirilmiş halidir. Bir sonraki ekranda Request soracak. Kendi requestinizi oluşturun. Request, yaptığınız değişiklikleri takip etmenize yarıyor. Eğer ABAP developer geliştirmek için kullanılan 60 günlük demo versiyonu değilse kullandığınız SAP, bir "Developer Key"'e ihtiyacınız olacak. Bunu normalde SAP'tan almanız gerekir. Ancak daha kolay bir illegal yol biryerlerden SAPKEY.EXE bulmanız ve formaliteleri azaltmanız olabilir.
Package'yi oluşturduktan sonra. Object Name'nin altında package bir tree yapısıyla belirir. Bu treede packageyi sağ tıklayıp create->program ile ilk programınızı açıyoruz. With TOP INCL. check boxunun işaretsiz olmasına dikkat ediyoruz.




Write komutunun yanındaki "/" işareti CR karakteri yerine geçiyor. En baştaki Report komutunu sistem kendisi oluşturuyor:

REPORT  Z_HELLO.
*Bu bir açıklama satırıdır.

write / 'Hello World'"Bu da bir açıklama satırıdır.
 

write yerine message komutunu da kullanabilirdik:
 
MESSAGE 'Hello World' TYPE 'I'.

Bu arada bir komutu yazarken ilk birkaç harfini yazınca üstte bir önerme çıkar. Eğer istediğimiz komut oysa tab tuşuna basarak kalanını tamamlamasını sağlayabiliriz. Bir nevi ilkel bir intellisense denebilir. :)

TYPE 'I' parametresi mesajın bir popup kutusu şeklinde çıkmasını sağlar. Parametre daima büyük harfle yazılmalıdır. Message komutunun farklı parametreleri için "Help"'e bakabilirsiniz. komutun üzerindeyken F1 tuşuna basınca ilgili help başlığı çıkar.


Pretty Printer (Shift-F1) butonu diğer dillerdeki beauty benzeri kodları okunaklı bir şekilde düzenler. Kontrol butonu (Ctrl+f2) kodları kontrol eder. Etkinleştir - Active (Ctrl+f3) programı active eder (Bu, program dışında birçok farklı dosya türünde de gereklidir). Doğrudan (F8) ile de program çalıştırılır. Bu arada oluşturduğunuz herşey aslında birer dosya değil, database içinde birer kayıt. 




Aşağıdaki kod örneğinde. Tipi integer olan sicilno, char olan 20 karakterlik adı ve soyadı, tipi number olan maas, tipi date olan giris_tarihi ve tipi time olan saati değişkenleri tanımlanıyor. ABAP'ta bir komutta birden fazla tanım varsa bu örnekte olduğu gibi ":" ile belirtilir.
sy-uzeit sistem saatini, sy-datum da sistem tarihini verir. sy yapısının daha birçok parametresi vardır. Görüldüğü gibi ABAP satır sonlarında "." kullandığı için yapılarda ve classlarda ayraç olarak "." yerine "-" kullanmış.


REPORT  z_a001.

DATA sicilno TYPE i.
DATA: adi(20), soyadi(20TYPE c.
DATA maas TYPE p DECIMALS 2.
DATA: giris_tarihi TYPE d, saati TYPE t.


TYPES telefon_tipi(20TYPE c.

DATA tel TYPE telefon_tipi.


maas = 30000 / 20.

adi = 'metin'.
soyadi = 'emre'.

giris_tarihi =  '20080531' .


saati = sy-uzeit.

WRITE: / sicilno, adi, soyadi.
WRITE: / giris_tarihi  DD/MM/YYYY , saati.
write: / 'bugünün tarihi' , sy-datum.


 












8 Haziran 2010 Salı

Kurulum

Dünyanın tartışmasız bir numaralı ERP'si SAP gerçekten bir ERP'den hiç beklemediğim kadar iyi bir geliştirme ortamı sunuyor. ABAP çok güçlü bir dil ve ilgili diğer geliştirme araçları da çok iyi. proje yöneticisi aynı zamanda takım çalışmasını da destekliyor. Öyle güçlü ki ABAP geliştirme ekranı bile ABAP'ta yazılmış. SAP kernel dışında herşey ABAP ile yazılmış.
ABAP kodları diğer programlama dillerinde olduğu gibi fiziksel dosyalara saklanmıyor. Herşey databaselerde saklanıyor. Ve ABAP geliştirme ortamı bağımsız çalışamıyor. Eğer bir SAP server kullanıcı erişimine sahip değilseniz ABAP Trial'ı indirebilirsiniz. Google'da "Download ABAP Trial" yazınca hemen çıkıyor. Eğer bilgisayarınız bir networke bağlı değilse "Microsoft loopback adapter" kurmanız gerekiyor. ABAP kurulum ekranlarında bunu da anlatıyor. İçinden SAP'ın artık kullanmadığı kendi database server'i "Maxdb" çıkıyor. Yani SQL-SERVER gibi birşey de kurmanız gerekli değil.



SAP_NetWeaver701SR1_2008_Installation_Master\IM_WINDOWS_I386 klasöründen sapinst.exe dosyasını çalıştırın:

Burda Central System'i seçeceksiniz. Size Java 1.4.2 versiyonunun kurulu olduğu klasörü soracak. Daha eski veya daha yeni bir versiyonu kabul etmiyor. Sizde kurulu değilse buradan indirebilirsiniz.



Eğer sanal belleğiniz yeterince büyük değilse aşağıdaki gibi bir uyarı gelebilir:

Ayarlaması çok kolay:

Tüm bunları tamamladıktan sonra. Sap Gui'yi kuracaksınız.
Uygulama sunucusu : localhost
Sistem numarası: 00
Sistem Tn.: NSP
şeklinde ayarlayıp kaydedin ve lokal SAP ABAP sunucunuza bağlanın.