Çarşamba, Ağustos 12, 2020

,

 

ABAP Programı oluşturma işlemi SE38 ekranından yapılmaktadır. Yazılacak ilk program ile ekranda ‘Merhaba SAP ABAP’ yazısı yazdıracağız.

1.    Ekrana Giriş

     İlk olarak SE38 kodu görselde ki alana yazılır ve ABAP Editor ekranı açılır.


2.    Program Yarat

    Açılan ekranda yeni bir proje oluşturulabileceği gibi daha önce yazılan programlarda kidüzenlemelerde yapılabilir. Program olarak ifade edilen alana oluşturacağımız program teknik adı yazılır. SAP sisteminde yeni bir program geliştirilecek ise bu programın teknik adı Z ya da Y ile başlamalıdır. Ayrıca küçük harf yazılsa dahi sistem tamamını büyük harfe çevirecektir. Bu program için Z_TEST_RAPOR adını veriyoruz.

Alt nesneler olarak gruplanana alanda Kaynak Metin alanı seçili olarak gelecektir. Bu seçimi değiştirmiyoruz. Ardından Yarat butonuna basıyoruz.



3.    Program Özelliklerini Belirle

    Yarat tuşuna bastıktan sonra programın başlığı ve tipi belirlenecektir. Başlık olarak “Test Raporu” type olarak “Yürütebilir Program” seçiyoruz. Statü olarak “Deneme Programı” olduğu belirtiyoruz. Diğer seçimler ilerleyen konularda anlatılacaktır.



 



5.    Paket Belirle

    SAP Sistemleri genellikle Geliştirme Ortamı (DEV), Test Ortamı (QA) ve Canlı Ortam (PROD) olmak üzere kurulurlar. İsimlerinden de anlaşıldığı üzere DEV sistemlerinde geliştirme, QA sistemlerinde testler ve Prod sisteminde gerçek kullanımlar yapılmaktadır. Bir program geliştirmek için öncelikle DEV sisteminde işlemi tamamlamak ve ardından diğer sistemlere taşımak gerekir. Bu işlem Request Taşıma olarak bilinmektedir.

    Yapılan bu deneme programı herhangi bir sisteme taşınmasına gerek yoktur. Bu nedenle bu seçimde taşıma ile ilgili herhangi bir package seçimi yapılmayacaktır. Bunun yerine Local Object tuşuna basılacaktır.



6.    Kodun Yazılması

    Yukarıda ki işlemler yapıldıktan sonra karşımız aşağıdaki ekran gelecektir. Kodlar bu ekran üzerinde yazılmaktadır. “Merhaba SAP ABAP” yazısını ekrana yazdırmak için write komutu kullanılacaktır.

 



7.    Programın Çalıştırılması

    Program F8 tuşuna basılarak yada butonuna basılarak program çalıştırılır. Böylelikle ilk program tamamlanmış olur.


Pazartesi, Mayıs 13, 2019

,

SE10 Transport Organizer

SE10 İşlem kodu ile Transport Organizer ekranına girilir. Bu ekranda tüm requestler incelenebilmektedir. Transport Tuşuna basarsanız taşınan requestler görünecektir. Request taşımak için ise Display tuşuna basılır ve taşınması bekleyen requestler karşımıza çıkar.
Bir önceki (002.04.) konuda yapılan paketin taşınması için bir request numarsı almıştık. Bu requestin adını ya da numarasını biliyor olmalıyız.
Çalışma yapacağımız Request No: EEDK904006



Display tuşuna bastığımızda karşımıza aşağıdaki ekran gelecektir. Bu ekrandan taşıma işlemlerini yapacağız. Resimde belirtilen işlem sırasına göre, Request Id seçilir, kamyon simgesine basılır. Bir üst satırda bulunan request Id seçilir ve tekrar kamyon işaretine basılır.

Bu işlemler sonunda ekranda aşağıdaki görsel gelecektir.

STMS Transport Management System

  • 1. Adım

T_Code alanına STMS yazılır. Kamyon simgesine tıklanır.

  • 2. Adım
Açılan ekranda taşınmak istenen requestin taşınacağı bir üst sistem seçilmelidir. Bu işlem için System EEQ adı ile tanımlanan QA sistemini seçiyoruz. Bunun için işaretli alan çift tıklanır.





  • 3. Adım

Karşımıza sistemdeki tüm requestler çıkacaktır. Buradan Request Id yardımıyla taşımak istediğimiz request bulunur. Bunu yerine Number alanını büyükten küçüğü sıralanır ve sayfa sol başta bulunan yenileme butonu tıklanırsa son request olarak üst sırada çıkacaktır.
Request bulunduktan sonra Request ID seçilir import queue tuşuna basılır. Açılan pop-up ekranın da evet tuşuna basılır.


  • 4. Adım

Taşınacak sistemin giriş ekranı karşımıza gelecektir. Bu ekranda Kullanıcı numarası ve şifresi giriyoruz. Burada Üst Birim olarak gösterilen alan 000 gelmektedir. Sisteminizin üst biriminin (client) girilmesi gerekmektedir.
  • 5. Adım

Gelen ekran da taşınacak Request seçimi yapılarak, kamyon işaretine basılır.
  • 6. Adım

Bir önceki ekranda girilen üst birim girişi yapılır.

Options sekmesi açılır. Seçimler aşağıdaki görselde ki yapılır ve ardından ok tuşuna basılır.
Gelen Ekran da evet butonuna basıyoruz.
  • 7. Adım

Taşıma işleminin durumu ekranda bulunan status alanında gözükmektedir. Yenile tuşuna basarak durum kontrol edilir.


Böylelikle Request DEV sistemden QA sisteme taşınmış oldu. Eğer Canlı sisteme taşınması gerekiyorsa 1. adımdan itibaren işlemler tekrarlanır. Dikkat edilecek nokta üst birim olarak PROD sistem seçilmelidir.

Çarşamba, Nisan 17, 2019

,

SAP Paket (Packages)

ABAP ile oluşturulan her geliştirme nesnesi (Program kodu, fonksiyon, ekran, smartform gibi) bir pakete bağlanır ya da yerel nesne olarak tutulur.  Yerel nesneler de $TMP paketine bağlanmaktadır. Yerel Nesneler başka sistemlere taşınamazlar. Farklı sistemlere taşımak için bu nesne bir pakete bağlanmalıdır.
SAP Sistemleri genellikle geliştirmenin yapıldığı DEV Sistem, testlerin yapıldığı QA sistemi ve kullanıcıların işlem yaptığı Prod sistem olarak kurulmaktadır. Bazı uygulamalarda ise DEV ve Prod sistemleri kurulmaktadır. Tüm program geliştirme işlemler DEV sistemde yapılır ve diğer sistemlere buradan taşınır.

SAP Request

Yapılan değişikliklerin sistemler arasında taşınmasını sağlamaktadır. Değişikliklerin takip edilmesi için Request oluşturulmaktadır. Bu requestlere de sistem tarafından numara verilmektedir.
ABAP Geliştirmeleri için Workbench Request leri oluşturmaktadır. Bunlar dışında Uyarlama (Customizing) Requestleri en sık kullanılanlardır. Bunların dışında kalanlar genellikler BASIS (SAP Sistem Yönetimi) için kullanılmaktadır. SAP Request tipleri aşağıdaki tabloda verilmiştir.
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

SAP Paket (Packages) ve Request Oluşturma

Paketler her uygulama için tekrar oluşturulmasına gerek yoktur. Genel bir mantık ile oluşturulan paketler kullanılarak request oluşturulup, taşıma işlemleri yapılabilir. Örnek olarak ZEGITIM adında bir paket oluşturulacaktır. Bundan sonra eğitim konusunda başka sisteme alınması gereken bir çalışma yapılırsa bu pakete alabiliriz.

SE21 Ekranı İle Paket (Packages) Oluştur

ZEGITIM paketi oluşturmak için SE21 işlem kodu kullanılacaktır. Karşımıza aşağıdaki ekran gelecektir. Bu ekrandan yeni paket oluşturmanın dışında düzenleme ve görüntüleme işlemleri de yapılabilmektedir. $TMP paketini inceleyerek sistemde local olarak tutulan programlar incelenebilir. Detaylar için iletişim menüsünde ulaşabilirsiniz.
Aşağıdaki ekrana gelecek olursak Package alanına ZEGITIM yazıyoruz. Ardından yarat butonuna basıyoruz.

Paket için Başlık Belirle

Short Descrition alanına paket hakkında bir açıklama yazılmalıdır. ZEGITIM için Egitim Çalışmaları adını veriyoruz. Diğer alanları da görselde ki gibi dolduruyoruz.

Request Numarası Al

Her bir requestin requset numarası bulunmalıdır. Bu işlemde request numarası atama işlemi anlatılacaktır. Yukarıda ki işlem onaylandığında karşımıza aşağıdaki ekran gelecektir. Request alanının yanında bulunan arama yardımına basılır.

Yeni bir ekran açılacaktır. Aşağıdaki görsel de kırmızı çerçeve içerisinde bulunan YENI (NEW) tuşuna basılır. Pop-up çıkacaktır, ekranda Request için bir başlık isteyecektir. Bunun için Eğitim Paketi Request adı verilir ve kaydet tuşuna basılır.

Request Onayla

Son olarak gelen pop-up ekranında onay butonuna basarak işlemi tamamlamış oluyoruz. Bu aşamada 3.3. nolu içerikte aradığımız request numarsını oluşturmuş olduk.

Yukarıda ZEGITIM adından bir paket tanımlandı. Bu tanımı herhangi bir değiştirme olarak düşünelim. Oluşturulan bu paketin diğer sistemlere taşınması için sistem bir request tanımlamamızı istedi. Bunun içinde bir request oluşturduk ve bu requeste numara aldık.

SAP Paket (Packages) Görüntüle

Onaylanan işlemin ardından gelen ekranda oluşturulan paker gözükmektedir. Paket için oluşturulan bu request hakkında ki detayları açılan ekrandan inceleyebilirsiniz. Bu ekran aynı zaman SE21 ekranına görüntüle ile girilmiş durumu göstermektedir.

Request taşıma işlemi SAP Request Taşıma konu başlığı altında açıklanacaktır.


Pazar, Mart 17, 2019

,


SQL, Veri işleme (DML) ve Veri Tanımlama (DDL) olarak iki kısma ayrılmaktadır. Veri işleme kısmında SELECT, INSERT, UPDATE, DELETE vb. gibi sorgu komutları kullanılmaktadır. Veri Tanımlama kısmında ise CREATE TABLE, CREATE INDEX, DROP TABLE, ALTER TABLE gibi komutlar kullanılmaktadır. Bu durumu daha basit bir dil ile anlatmak gerekirse, öncelikle verilerin tutulacağı tablolar tanımlanır. Örnek olarak CREATE TABLE komutu ile tablo oluşturulur. Ardından bu tablodan istenilen veriler seçilerek gerekli raporlar hazırlanır. SAP ABAP olarak konuya bakacak olursak veri işleme kısmı ileride öğreneceğimiz ABAP kodları ile yapılmaktadır. Veri tanımlama (DDL) işlemleri ise ABAP Dictionary (Sözlük) ekranı kullanılmaktadır.


ABAP Sözlük içerisinde sistem tarafından tanımlanmış veri türleri, tablolar bulunmaktadır. Bu tabloları ileride yapılacak projelerinde kullanılacaktır. Yapılacak olan raporda sistemde olmayan bir tablo kullanmak gerekiyorsa bu ekran aracılığı ile ekleme ve düzenleme işlemleri yapılmaktadır.
SAP Modül danışmanları bu alanları kullanırken dikkatli olmalıdır. Yeni bir alan ya da tablo eklemeden önce bu alanlarda ilgili tablonun olup olmadığı iyi analiz edilmelidir. İyi analizler neticesinde ABAP Sözlük tüm sistemde ki veri bütünlüğünü sağlanmış olacaktır.
Veri tipleri konusunda açıklanan kullanıcı tanımlı veri türleri ABAP Dictionary ekranlarını aracılığı ile yapılmaktadır. Bunun dışında görünüm oluşturma, dizinler gibi veri tabanı nesneleri ABAP Dictionary aracılığı ile oluşturulmaktadır. ABAP Dictionary ekranına SE11 kısa yolu ile ulaşılmaktadır.
Konuyu bir örnek üzerinden anlatmak gerekirse, MARA tablosunda bulunan MATNR alanını inceleyelim.
SE11 Ekranından ABAP Sözlük açılıp, Database Table alanına MARA yazalım. (Burada Radio Buttonu tıklamak gerekir.) Ardından Display tuşu ile görüntüleme tuşuna basalım.


Karşımıza MARA tablosuna ait alanlar çıkacaktır. Bu alanlardan MATNR (Malzeme Numarası) alanını incelediğimizde Data Element olarak MATNR kullanıldığını görmekteyiz.

Data Element kısmında bulunan MATNR yazısını çift tıklarsak detay bilgilere ulaşacağız. Data Element (Veri Öğesi) MATNR açıklamasının Malzeme Numarası olduğunu görmekteyiz. Bu veri öğesinin Domain olarak da MATNR den oluştuğu gözükmektedir.


Domain üzerindeki MATNR alanına çift tıklarsak Domain detayları açılacaktır. Bu Domain in Data Tipinin CHAR ve veri uzunluğunun 18 olduğunu görmekteyiz.


Bizlerde tablo oluştururken kullanacağımız alanlar için bu yapıyı oluşturmamamız gerekmektedir


ABAP Dictionary bulunan temel türler aşağıda verilmiştir. Bu türler hakkında detaylı bilgi ise ilgili konu başlıkları altında anlatılacaktır.
  • ABAP Sözlük Domain (Alanlar)
  • ABAP Sözlük Veri Tipleri
  • ABAP Sözlük Tablolar