Developer Key Alma

Bir SAP sisteminde geliştirme yapabilmek için Developer Key’ e ihtiyaç duyulur. Bu key bir workbench objesini değiştirmeye çalışıldığında sorulur. Geliştirme yapılacak sistemde kullanıcı için bir defa kaydedilmesi yeterlidir.

http://service.sap.com/ sitesine girilir.

SAP Support Portal linkine tıklanır. Açılan pencerede şirkete ait yetkili kullanıcı ve şifre girilir.

Kullanıcı adı ve şifreyi girdikten sonra destek sayfası açılır. Burada kullanıcı adı ve şifre tekrar sorulabilir.

Keys & Requests menüsünden SSCR Keys seçeneği seçilir.

Service Corner kısmından Register Developer linkine tıklanır. Geliştirme yapacak kullanıcının ID’ si girilir ve Installations kısmından hangi sistem için kayıt yapılacağı seçilir.

Register butonuna tıklayarak kullanıcıyı kayıt edebilirsiniz.

Kayıtlı kullanıcıları görmek için Developers Registered by Me butonuna tıklayabilirsiniz.

Gelen listeden kayıtlı geliştiricileri görebilir, silebilir veya listesini bilgisayarınıza indirebilirsiniz.

ABAP Geliştiriciler İşlem Kodları

ABAP geliştiricilerin kullandığı genel işlem kodları aşağıdaki tabloda verilmiştir.

İşlem Kodu İşlem Kodu Tanımı Açıklama
SA38 ABAP/4 raporlama ABAP: Program yürütme
SE01 Transport Organizer (Extended) (Request) Taşıma Düzenleyicisi (Ek seçenekler)
SE03 Transport Organizer Tools (Request) Taşıma Düzenleyici Araçları
SE09 Transport Organizer (Request) Taşıma Düzenleyici
SE11 ABAP Dictionary Maintenance ABAP Dictionary Bakımı
SE14 Utilities for Dictionary Tables Veritabanı Yardımcı Araçları
SE16 Data Browser Tablo Görüntüsü
SE16N Genel tablo görüntüsü Genel tablo görüntüsü
SE18 Business Add-Ins: Definitions BADI: Tanımlar
SE19 Business Add-Ins: Implementations BADI: Uygulamalar
SE20 Enhancements Enhancement Bakımı
SE21 Package Builder Package Bakımı
SE24 Class Builder Sınıf Bakımı
SE30 ABAP Objects Runtime Analysis ABAP Nesneleri Çalışma Zamanı Analizi
SE36 Logical Database Builder Mantıksal Veritabanı Bakımı
SE37 ABAP Function Modules ABAP Fonksiyon Modülleri
SE38 ABAP Editor ABAP Düzenleyici
SE39 Splitscreen Editor: (New) ABAP Düzenleyici – Bölünmüş Ekran
SE39O Splitscreen Editor: Program Compare ABAP Düzenleyici – Bölünmüş Ekran – Program Karşılaştırma
SE41 Menu Painter Menü Tasarımı
SE43N Maintain Area Menu Alan Menüsü Bakımı
SE51 Screen Painter Ekran Tasarımı
SE54 Tablo görünümü üretme Tablo görünümü üretme
SE71 SAPscript form SAPScript Formları
SE72 SAPscript Styles SAPScript Stilleri
SE78 Administration of Form Graphics Form Grafiklerinin Yönetimi
SE80 Object Navigator Nesne Gezgini
SE91 Message Maintenance Mesaj Bakımı
SE93 Maintain Transaction Codes İşlem Kodu Bakımı
SNRO Numara alanı nesneleri Numara alanı nesneleri
SCI ABAP Code Inspector ABAP Code Inspector
SMARTFORMS SAP Smart Forms SAP Smart Formlar
SMARTSTYLES SAP Smart Styles SAP Smart Stiller
SO10 SAPscript: Standard Texts SAPscript: Standart Metinler
SM30 Call View Maintenance Tablo Bakım Görünümü Çağırma
ST05 SQL’i izle SQL İzleme
SAT ABAP Trace ABAP İzleme
SE30 ABAP Objects Runtime Analysis ABAP Çalışma Zamanı Analizi
SM50 Work Process Overview Prosese Genel Bakış
ST22 ABAP dump analysis ABAP Hata Analizi
BAPI BAPI Explorer BAPI Gezgini
SCOT SAPconnect – Administration SAPConnect: Yönetim
SOST SAPconnect gönderme talepleri SAPconnect gönderme talepleri
CMOD Enhancements Enhancement’ lar
SMOD SAP Enhancement Management SAP Enhancement Yönetimi
SU01 User Maintenance Kullanıcı Bakımı
SU21 Maintain Authorization Objects Yetki Nesneleri Bakımı
SU53 Evaluate Authorization Check Yetki Verilerini Görüntüleme
SP01 Output Controller Çıktı denetimi: Kuyruk siparişleri
SPAD Spool Administration Kuyruk Yönetimi
SHDB Transaction Recorder (toplu girdi) Transaction Recorder (toplu girdi)
SM35 Toplu girdi izleme Toplu girdi izleme
SM36 Schedule Background Job Arka Plan İş Tanımı
SM37 Overview of job selection Basit İş Seçimi
SM59 RFC Destinations (Display/Maintain) RFC Bağlantıları (Görüntüle/Bakım)
SHD0 Transaction and Screen Variants İşlem Kodu ve Ekran Variant’ ları
STMS Transport Management System Transport Management System

 

 

Request ve Package

Request

SAP sisteminde yapılan değişikliklerin kaydedilmesini ve bunların başka sistemlere taşınmasını sağlar. Değişiklikler sistemler (Geliştirme/Kalite/Canlı veya uzak SAP sistemleri) arasında taşınabilir. Değişikliklerinin takip edilmesi istenen her nesne için için Request oluşturulur. Oluşturulan her Request’e bir numara verilir. Verilen bu numaraya Request Numarası denir.

ABAP’ la ilgili geliştirmeler için Workbench Request’ leri oluşturulur. Bunun dışında en çok kullanılan Uyarlama (Customizing) Requestleridir. Bu iki Request tipinin dışında kalan Request’ ler genelde Basis (SAP sistem yönetimi) içindir.

Bazı Request Tipleri
Tip Tanım
K Workbench Request (ABAP)
W Customizing Request (IMG)
C Relocation of Objects Without Package Change
O Relocation of Objects with Package Change
E Relocation of Complete Package
T Transport of Copies
S Development/Correction
R Repair
X Unclassified Task
Q Customizing Task
G Piece List for CTS Project
M Client Transport Request
P Piece List for Upgrade
D Piece List for Support Package
F Piece List

Package Nedir?

ABAP’ta oluşturduğunuz her geliştirme nesnesi (program kodu, fonksiyon, ekran, smartform,…) bir package’ a bağlanır veya yerel nesne olarak oluşturulurlar. Yerel nesneler $TMP package’ ına bağlanırlar. $TMP package’ ı dışındaki package’ lar farklı sistemlere taşınabilir.

Geliştirmeler Kalite (QA) ve Canlı (Production) sistemlerine taşınacaksa package oluşturulması veya daha önce oluşturulmuş package’ ın kullanılması gerekir.

Geliştirmeler diğer sistemlere (QA ve Production gibi) taşınmayacaksa package oluşturulmasına gerek yoktur. Geliştirmeler $TMP package’ ına yerel nesne olarak bağlanabilir.

Nesnelerin bağlı olduğu package’ lar daha sonra değiştirilebilirler.

$TMP Package’ ı

Bu package standart bir package’ dır.

SE21 işlem kodu ile $TMP package’ ının özellikleri incelenebilir.

SE21 işlem koduna girdikten sonra “Package” seçili iken metin alanına $TMP yazın ve “Display” butonuna tıklayın.

Short Description alanında parantez içerisinde “never transported!” yani asla taşınmaz ifadesini görebilirsiniz.

Bu package’ a bağlı nesnelerinin transfer edilememe nedeni Transport Layer (taşıma katmanı) alanının boş olmasıdır. Bu package’ a bağlı nesnelerin değişikliği için Request oluşturulmaz.

Package ve Workbench Request Oluşturma

SE21 ve SE80 işlem kodlarından oluşturulabilir. Aşağıda SE21 ile package oluşturma gösterilmiştir.

1. SE21 işlem kodunu çalıştırın.

2. Package Builder programı açılacaktır. Package alanına “ZTESTPACKAGE” yazın.

3. Short Description kısmına Package’ ınızın tanımını girin.

Save butonuna tıklayın.

4. Package için Request oluşturmak gerekecektir.

Save butonuna tıkladıktan sonra Workbench Request seçme ekranı gelir. Create Request butonuna tıklayın.

5. Açılan pencere SAP’nin standart Workbench request yaratma ekranıdır. Yeni Request’in bilgilerini doldurun. Short Description (Request tanımı) alanına Request’in tanımını girin.

Save butonuna tıklayın.

Request seçme ekranına penceresi açılır ama bu sefer Request ve Short Description alanları dolu gelir. Yani yeni oluşturulan Request seçili demektir. Bu bilgilerde yeni oluşturulan Request’in bilgileridir. Request alanının yanında Request numarası ve tipi yazar.

Continue butonuna tıklayın.

6. “ZTESTPACKAGE” Package’ını oluştu. Display butonu ile package’ ı görüntüleyebilirsiniz. Display Object List ikonu ile pakete bağlı bir nesneleri görebilirsiniz. Şu an bağlı nesne olmadığı için için boş görünür.

VARIANT

Variantlar giriş parametrelerini kaydetmeyi sağlarlar. Sık kullanılan giriş parametreleri variant olarak saklanarak program çalıştırılmadan önce alanların dolması sağlanır.

Örnek: Seçim ekranında kullanıcı adı ve tarih alanı olan programda giriş değerlerini saklayan örnek.

PARAMETERS: pa_usnam LIKE sy-uname,
pa_datum LIKE sy-datum.
WRITE : pa_usnam,
/ pa_datum.

Rapor çalıştırıldığında alanlar boş gelecektir. Alanların değerini saklamak için alanları doldurduktan sonra variant olarak sakla ikonuna ( ) tıklayın veya Git menüsünden variant olarak saklayı seçin.

Variant adı ve tanımını girdikten sonra variantı kaydedebilirsiniz.

Variant kaydedildikten sonra yürüt ikonunun yanına variant getir ikonu gelir.

Kaydedilen varaint bir sonraki çalıştırmada buradan seçilebilir.

Dinamik Alanlara Sahip Variant Oluşturma

Bazı alan değerlerinin dinamik olarak belirlenmesi gerekebilir. Örneğin uygulama çalıştığında seçim ekranındaki bir alanın değeri olarak günün tarihi otomatik getirilebilir. Aşağıdaki örnekte tarih alanı içinde bulunan günden 2 gün öncesi olarak dolar.

PARAMETERS: pa_usnam LIKE sy-uname,
pa_datum LIKE sy-datum.
WRITE : pa_usnam,
/ pa_datum.

Rapor çalıştığında kullanıcı adı kısmı doldurulur. Tarih alanı otomatik olarak doldurulacaktır.

Alanlar doldurulduktan sonra variant olarak sakla ikonuna () tıklayın veya Git menüsünden varaint olarak saklayı seçin.

Variant adı ve tanımı doldurulduktan sonra,

Seçim değişkeni alanının arama yardımını seçin.

Değişken türü “D” olarak seçin.

Daha sonra “Değişkenlerin adı” alanı arama yardımını açın.

Açılan listede dinamik belirleme seçenekleri vardır. “Günün tarihi +/- ??? gün” seçeneğini seçin.

Gelen ekranda değer için -2 girin.

Seçim ekranı nesnelerinin son durumu aşağıdaki gibi olur.

Variant kaydedin. Program çalıştırılarak yeni oluşturulan variant seçildiği zaman tarih alanı 2 gün öncesinin tarihini alacaktır.

EKRANDAKİ ALANLARIN ÖZELLİKLERİ

Ekranda bulunan bir alan seçilip, F1 tuşuna basıldığı zaman bu alanla ilgili dokümantasyon açılacaktır.

“Technical Information” ( ) ikonuna tıklandığında alanla ilgili teknik detaylara ulaşılabilir.

Bu ekranda görünen alanlara çift tıklandığında ilgili nesne görüntülenir. Örneğin Tablo adı yazan yere çift tıkarsanız alanın bağlı olduğu tablo veya structure açılır.

ABAP Programları İçin Dokümantasyon Oluşturma

Oluşturulan uygulamalar hakkında kullanıcıları bilgilendirmek için dokümantasyon oluşturulabilir. Kullanıcılar oluşturulan dokümantasyona uygulamaların seçim ekranından ulaşabilirler.

1. Dokümantasyon oluşturmak için SE38 işlem kodu kullanılır.

2. Programın ismi girilir “Dokümantasyon” seçilir ve daha sonra “Değiştir” butonuna tıklanır.

3. Açılan ekranda dokümantasyonla ilgili istenilen bölümler doldurun. Dokümantasyon kaydedin ve aktif edin. SE38 ekranına geri dönün ve program çalıştırın.

Dokümantasyon sorunsuzca oluşturuldu ise programı çalıştırdığınızda yürüt butonunun yanında mavi bir ikon daha belirir. Bu butona tıklanarak dokümantasyon görülebilir.

İşlem Kodu (Transaction)

İşlem Kodu (Transaction) Nedir?

Uygulamaların komut satırı veya kolay erişim menüsünden çalıştırılması için oluşturulan koddur. SE93 işlem kodu ile veya ABAP Düzenleyiciden oluşturulabilirler. Program, tablo bakım ekranı, gibi nesnelerin çağrılması için oluşturulabilir.

ABAP ile uygulama geliştirirken en çok kullanılan işlem kodları aşağıdaki tabloda verilmiştir.

İşlem Kodu Tanım
SE11 ABAP Data Dictionary
SE16 Data Browser
SE37 Function Builder
SE38 ABAP Düzenleyici
SE41 Menu Painter
SE51 Screen Painter
SE71 SAP Script Layout
SE80 ABAP Workbench
SE91 Message Bakımı
SE93 İşlem Kodu (Transaction Bakımı)
SMARTFORM Smartform Bakımı

ABAP Raporları için İşlem Kodu (Transaction) Tanımlama

1. SE93’ e işlem koduna girilir.

2. Oluşturulmak istenen işlem kodu (transaction) yazılır ve Create butonuna tıklanır.

3. Short Text kısmına işlem kodunun kısa açıklaması yazılır. Rapor uygulaması için işlem kodu oluşturulacağından Start object kısmından “Program and selection screen (report transaction)” seçilir. Enter tuşuna veya ok butonuna tıklanır.

Create Report transaction ekranı açılacaktır. Program kısmına işlem kodu oluşturulacak program ismi yazılır. Gui support alanından tüm seçenekler seçilir ve “Save” ( ) ikonuna tıklanır.

Package seçme ve request alma işlemlerini yaptıktan sonra, işlem kodunu test edebilirsiniz.

ABAP Program Özellikleri

ABAP Program Özellikleri (Program Attributes)

Programını oluştururken bazı özelliklerin zorunlu olarak seçilmesi gerekir. Bir program oluşturmak için üç adet zorunlu bilgiye ihtiyaç vardır.

1. Program ismi: Müşteri programlarının isimler “Z” veya “Y” ile başlayabilir. En fazla 30 karakter uzunluğunda olabilir. Alt çizgi (_) ve yüzde işareti (%) kullanılabilir. Diğer özel semboller kullanılamaz.

2. Tanım: Programın tanımı.

3. Program Tipi: Programın çalışma tipi.

Program Tipleri

Yürütülebilir program: Tek başına çalıştırılabilir tiptir. Genellikle rapor programlarında kullanılır. İlk satırında REPORT anahtar kelimesi kullanılır. Program tipi “1” dir.

Modül havuzu: Bir işlem koduna bağlı olarak çalışırlar. İlk satırında PROGRAM anahtar kelimesi kullanılır. Çalıştığında bir ekran çağrılır. Program tipi “M” dir.

Alt rutin havuzu: Başka programlar tarafından kullanılan alt rutinleri barındırır. Kendi ekranları olamaz. PROGRAM anahtar kelimesi ile başlar. ABAP programlarından referans vermek için TYPE-POOLS ifadesi kullanılır. Program tipi “S” dir.

Include programı: Tek başına çalıştırılamayan program tipidir. Diğer programlariçerisinden kullanmak için INCLUDE anahtar kelimesi ile ismi yazılır. Program tipi “I” dır.

İlk ABAP Programı

1. ABAP Düzenleyici (ABAP Editor – SE38) başlangıç ekranında Program alanına ZR_TEST yazın. Kaynak metin seçili iken Yarat butonuna tıklayın.

Program Özellikleri (Program Attributes) ekranı açılır Title kısmına “İlk program” yazdıktan sonra Type alanını “1 Yürütülebilir program” olarak seçip “Save” butonuna tıklayın.

“Create Object Directory Entry” ekranı açılacaktır.

2. Kullanacağınız Package’ ı seçip Save butonuna tıklayın veya yerel nesne olarak çalışmak istiyorsanız Local Object butonuna tıklayın.

Package seçerseniz programın bağlanacağı Request sorulur.

Own Requests ile daha önce oluşturduğunuz Request varsa onu seçebilir veya Create Request ( ) butonu ile yeni Request oluşturabilirsiniz.

ABAP düzenleyici açılacaktır. Şu an program aktif değildir. Programın durumunu rapor isminin sağında görebilirsiniz.

Aşağıdaki satırı REPORT ile başlayan satırın altına ilave edin.

WRITE ‘ABAP ilk program’.

Program kodunu kaydetmek için Save  ikonuna  (veya Ctrl+S) tıklayın.

Daha sonra Check (veya Ctrl+F2) ikonuna tıklayın. Durum çubuğunda aşağıdaki uyarıyı belirir.

Programın eklenen kod ile çalışması için aktif edilmesi gerekir. Bunun için Activate ikonuna (veya Ctrl+F3) tıklayın. Durum çubuğunda aşağıdaki uyarı belirir. Programın durumu Active olarak değişir.

F8 tuşuna basarak veya Yürüt ikonuna tıklayarak programı çalıştırabilirsiniz. Aşağıdaki çıktı oluşacaktır.

Program başlığı olarak, program oluşturulurken “Title” alanına yazılan metin gelir.

Program koduna dönmek için F3 tuşuna veya Back ikonunu kullanabilirsiniz.