Temel ABAP Eğitim Kılavuzu. Yazan: Kerem Köseoğlu



Benzer belgeler
Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

VERİ TABANI ve YÖNETİMİ

YZM 2105 Nesneye Yönelik Programlama

MUĞLA SITKI KOÇMAN ÜNİVERSİTESİ SMS. Sms Sistemi. Bilgi İşlem Daire Başkanlığı YAZILIM GRUBU

ASP.NET ile Bir Web Sitesi Oluşturma

Dinamik Kodlama. [X] [X] Yeni Fonksiyon

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

App İnventor-Pide Sipariş Uygulaması

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

AOSB 2017 EĞİTİM PROGRAMI

HSancak Nesne Tabanlı Programlama I Ders Notları

Luca NET Kobi Ticari Yazılımında ilk yapılacaklar

TSN Portal. Kullanım Kılavuzu

Kod Listeleri Genel Yapısı

PERSONEL BANKA IBAN BİLGİSİ DEĞİŞİKLİĞİ UYGULAMA KILAVUZU

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Verimlilik İçin ETKİN BİLGİ YÖNETİMİ KENDİ FONKSİYONUMUZU YAZALIM

Response : Sunucunun istemciye veri yollamasını

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

2- Kontrol Sil En Öne Getir En Arkaya Gönder Resim Özellikler: Genel Özellikler...

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Sunum İçeriği. Programlamaya Giriş

e-icraproplus UYAP Takip Açma ve Sorgulama Uygulaması Kullanım Kılavuzu

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

TAKSİ-DURAK MÜŞTERİ TAKİP PROGRAMI

İÇİNDEKİLER VII İÇİNDEKİLER

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU

NB Macro Kullanımı Hakkında Genel Bilgiler

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Kullanım Kılavuzu

Kurulum; Ana Bilgisayar ve Tahtalara ayrı ayrı yapılmaktadır. KURULUM ŞEMASI x.x x.x x.x x.

Seri Takibi Yenilikleri

Resim 7.20: Yeni bir ileti oluşturma

EndNote Web Hızlı Başvuru kartı

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

2018 YENİ YIL İŞLEMLERİ

EKOM WEB DESIGNER PROGRMI KULLANMA KILAVUZ. 1 - Web Sayfası Tasarımı Oluşturma / Var Olan Tasarımı Açma:

Zirve Bilgi Tenolojileri TUİK A101 Form Giriş Klavuzu V1.1.1

BEUN VPN Hizmeti. VPN Nedir?

GOOGLE DRİVE KULLANARAK FORM OLUŞTURMA

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Seri Numarası Takibi Destek Dökümanı

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

OPARWEB VE MMWEB YENİ B2B SİSTEMLERİ

VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI

PROGRAMLAMA DERSİ 1. İNTERNET

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

Ecat 8. Hakbim Bilgi İşlem A.Ş. Versiyon

MODÜL 4 HESAP TABLOSU UYGULAMALARI 2

AXA OTOMATİK KATILIM KURUMSAL İŞLEMLER EKRANI KULLANIM KILAVUZU AXA HAYAT VE EMEKLİLİK A.Ş.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Flow Kullanım Klavuzu Mart 2014

İÇİNDEKİLER

Microsoft SQL Server Sorgulama

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

Nesneye Dayalı Programlama Laboratuvarı

AXA OTOMATİK KATILIM KURUMSAL İŞLEMLER EKRANI KULLANIM KILAVUZU AXA HAYAT VE EMEKLİLİK A.Ş. 2017

İSGBYS (İş Sağlığı Güvenliği Bilgi Yönetim Sistemi Yazılımı) OSGB/Firma Yetkilisi Kullanım Kılavuzu

E-fatura Yenilikler. E-fatura uygulaması ile ilgili çeşitli yenilikler seti ile birlikte yayınlandı:

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Kelime işlemcilerin işlevlerini öğrenmek. Başlıca kelime işlemcileri tanımak. Microsoft Word 2010 programı hakkında temel bilgileri öğrenmek.

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

Ürün Profil ve Yapılandırma Kodu Tanımlama

SD - Satış ve Dağıtım (SD) Modülü Kullanıcı Eğitim Belgesi - Faturalama İşlemleri

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Outlook ta Mail Arama

VERİTABANI. SQL (Structured Query Language)

OPERATÖR SERVİSLERİ. Kullanıcı Kılavuzu

Öğrenci Hızlıbaşlama Kılavuzu, Turnitin i kullanmaya başlamanızda ve ilk ödevinizi göndermenizde adım adım size yardımcı olacaktır.

Barkomatik. Stok Yönetimi. Ürün Yönetimi. Kullanım Kılavuzu

2. HTML Temel Etiketleri

«BM364» Veritabanı Uygulamaları

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

PostgreSQL ve PL/pgSQL

PORTAL WEB RAPORLAMA SİTEMİ KULLANIM REHBERİ (Rev-09)

MAHALLİ İDARE BİRİMLERİNİN BÜTÇE TAHMİNLERİ GİRİŞİNE İLİŞKİN UYGULAMA KILAVUZU

CARİ MODÜL. Cari Kart Nasıl Açılır.

BQ101 GSM Access Kontrol Ünitesi Windows Programı. Kullanım Kılavuzu. Doküman Versiyon: BQTEK

Şifre Almak için tıklayın bağlantısı ile şifre talebinde bulunulur.

ESNEK YAPILANDIRMA UYGULAMASINDA YENİLİKLER

AGSoft Okul Aidat Takip Programı Kullanım Kılavuzu

İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3

PERFORMANS TAKİP SİSTEMİ (PTS) KULLANIM KILAVUZU

AXA OTOMATİK KATILIM KURUMSAL İŞLEMLER EKRANI KULLANIM KILAVUZU AXA HAYAT VE EMEKLİLİK A.Ş. 2017

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

T.C. MĠLLÎ EĞĠTĠM BAKANLIĞI EĞĠTĠM TEKNOLOJĠLERĠ GENEL MÜDÜRLÜĞÜ BĠLĠġĠM HĠZMETLERĠ DAĠRESĠ MEZUN ÖĞRENCĠ SORGULAMA MODÜLÜ KULLANIM KILAVUZU

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

Kullanım Kılavuzu. ÖNEMLİ: Bildiriyi yükleyen yazarın yanısıra bildirideki tüm yazarlar sisteme üye olmak zorundadır.

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile

MUĞLA SITKI KOÇMAN ÜNİVERSİTESİ. ECTS Info Pack. ECTS Bilgi Paketi Çalışmaları. Bilgi İşlem Daire Başkanlığı YAZILIM-WEB GRUBU

ASELSAN TEDARİKÇİ PORTALI DENETÇİ FİRMA DOKÜMANI


JLR EPC. Hızlı Başlangıç Kılavuzu. İçidekiler. Turkish Version 2.0. Adım Adım Kılavuz Ekran Kılavuzu

BİL-142 Bilgisayar Programlama II

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

Transkript:

Temel ABAP Eğitim Kılavuzu Yazan: Kerem Köseoğlu

Giriş Bu doküman, temel ABAP eğitimi verecek olan danışmanlar için bir kılavuz niteliğinde hazırlanmıştır. Eğitim sırasında bu kılavuzun çizdiği yola ve sıralamaya sadık kalmanız tavsiye edilir. Öğrencilerin bilgisine ve sorularına göre inisiyatif kullanabilirsiniz. ikonu, öğrenciye verilecek ödevleri işaret eder. Eğitimin kendisi kadar, öğrencinin örnek çözmesi de önemlidir. Bu yüzden; öğrenciye, dokümanda belirtilenden daha fazla ödev vermeniz daha iyi olacaktır. Eğer eğittiğiniz kişi bir programcı değil de modülcü ise, ödevleri vermenize gerek yoktur. ikonu, söz konusu başlığın ABAP programcılarını ilgilendirdiğini gösterir. ikonu, söz konusu başlığın modül danışmanlarını ilgilendirdiğini gösterir. Eğitim sırasında eksik / yanlış gördüğünüz noktaları veya ekstradan çözdüğünüz örnekleri doküman içerisinde farklı bir renkte yazarak dahil etmeniz ve eğitim bittikten sonra Supervisor ınıza göndermeniz, ilerideki eğitimlerin kalitesini arttırmak ve içeriğini zenginleştirmek açısından faydalı olacaktır.

Temel BC Bilgisi Bu konunun amacı, SAP deki geliştirme ortamının yapısını ve çerçevesini tanıtmaktır. Kodlamaya ve teknik detaylara girmekten ziyade, ekranların dolaşılacağı genel bir tur olarak ele alınmalıdır. Geliştirme Sınıfı SE80 ekranı Geliştirme sınıfı nedir? Bu ekrana girerek, örnek bir geliştirme sınıfı gösterin ve geliştirme sınıfının altına ortak amaca hizmet eden nesnelerin bağlandığının üzerinde durun. Her bir geliştirme nesnesi mutlaka bir geliştirme sınıfına bağlanır. Bir geliştirme sınıfında ne gibi öğeler yer almaktadır? Geliştirme sınıfı altına program, fonksiyon, tablo, işlem kodu, sınıf gibi farklı öğelerin bağlanabildiğini anlatın. Bir geliştirme sınıfı ne zaman ve neden yaratılır? Amaç, geliştirme nesnelerini mantıklı bir şekilde gruplamaktır. Bazı müşteriler her bir modül için ayrı bir geliştirme sınıfı açmayı tercih eder. Bazıları konu bazında geliştirme sınıfı açar. Birçok program, tablo ve fonksiyon içerecek yeni bir Z li modül hazırlanıyorsa, bu modüle tek bir geliştirme sınıfı açmak gerekebilir. Rollout / Upgrade projelerinde tek bir geliştirme sınıfı açıp bütün yeni geliştirmeleri orada toplamak tercih edilebilir. Öğrenci, kendine ait bir geliştirme sınıfı yaratsın. Bu sınıfı, yeni yaratacağı bir Transport Request içine atsın. Program SE38 ekranı Program nedir? Bu ekrana girerek örnek birkaç program gösterin. Programın amacı, SAP içerisindeki çeşitli görevleri kullanıcının gerçekleştirmesini sağlamaktır. Ne tür programlar vardır? Rapor (Executable) & diyalog (Module Pool) programlar olduğunu söyleyin. Örnek bir rapor ve diyalog ekranı gösterin. Raporların genel amacının veri görüntüleme, diyalog programlarının ise kullanıcıdan veri alıp kayıt atma olduğunu belirtin bunun genel bir kural olmadığını, kayıt atan raporlar veya sadece veri görüntüleyen diyalog programları olduğunu anlatın. Bir program neler yapabilir? Bir program ile neler yapılabileceğini örnekler çerçevesinde anlatın. Veri okuma: Malzeme belgelerini tablolardan okuyan program Veri yazma: Çalıştırma bilgilerini bir günlük dosyasında saklayan program Veri görüntüleme: Müşteri bazında siparişleri listeleyen program Dosya yükleme: Dışarıdaki bir HR sisteminden maaş bilgilerini yükleyen program Dosya indirme: Ödeme emirlerini bankalara göndermek üzere metin dosyasına indiren program Kullanıcıdan girdi alma: FB01 ekranı Toplu girdi işlemleri: Ay sonunda muhasebe belgesi yaratan program

Fonksiyon SE37 ekranı fonksiyon nedir? Örnek bir fonksiyon açarak, bir fonksiyonun yapısını anlatın. Importing / Exporting gibi parametreleri üzerinde durun. Fonksiyon grubu fonksiyon bağlantısına değinin. Fonksiyon neden yazılır? Fonksiyon yazma amacı, değişik programlar arasındaki ortak bir algoritmayı merkezi bir yerde toplamaktır. Aynı işin Include dosyaları ile de yapılabileceğini açıklayın. Fonksiyonun farkı, daha özerk bir yapı sunmasıdır. Aynı amaca hizmet eden birden fazla fonksiyonun bir fonksiyon grubu içinde kendi global değişken & formlarıyla birlikte tam ve özerk bir yapı oluşturabileceğini anlatın. Örnek olarak; SALV (ALV fonksiyonları) grubunu SE80 de gösterin. Sınıf SE24 ekranı sınıf nedir? Örnek bir sınıf açarak, bir sınıfın yapısını anlatın. Method / Property kavramlarından bahsedin. Object Oriented Programming kavramlarından bahsedin. Sınıf neden yazılır? Fonksiyon yazma sebepleri ile paralellik kurun ve sınıf kullanmanın avantajlarını belirtin. Fonksiyon yerine tercih edilmesi gerektiğini belirtin (RFC, WorkFlow gibi özel durumlar hariç). İşlem Kodu SE93 ekranı işlem kodu nedir? İşlem kodu; programlara ve ekranlara kolay ulaşım sağlayan kodlardır. Menüye alternatiftir. Program, diyalog ve parametre işlem kodlarından bahsedin. Birkaç örnek işlem kodu gösterin. Mesajlar SE91 ekranı mesaj nedir? Mesajlar, programlar içerisinden çağırılıp kullanıcıya gösterilebilen iletilerdir. Farklı programlar tarafından ortak kullanılabilir, tercüme edilebilir ve parametre alabilirler (&1 &2 gibi). Mesaj sınıflarından bahsedip, birkaç örnek mesaj gösterin. Uzun metinleri gösterin, parametre eklemeyi öğretin. Uzun metinlerin tercümesinin SE63 te olduğunu gösterin. Öğrenci, kendi başına birkaç tane mesaj yaratsın. Bu mesajları İngilizce diline tercüme etsin. Tablolar SE11 ekranı tablo nedir? Tablolar, standart bir biçimde veri taşıyan yapılardır. Örnek birkaç tablo gösterin. Tablo Structure View arasındaki farklara değinin.

Tablo hiyerarşisi Table à Field à Data Element à Domain yapısından bahsedin. Domain, programcının tanımladığı bir veri tipidir. Data Element, Domain i sarar ve farklı dillerde metin atamayı mümkün kılar. Field, Data Element i saran tablo alanıdır. Aynı Domain i kullanan birçok Data Element; aynı Data Element i kullanan birçok Field olabilir. Genel Veritabanı Mantığı Tablolar arasındaki ilişkileri genel olarak anlatın. Key kavramından ve Public & Private Key kavramlarından bahsedin. Tablo Tespiti F1 F9 yönteminden bahsedin. Where Used List ile bir Data Element in veya Domain in kullanıldığı tabloların nasıl bulunabileceğini gösterin.

Rapor Geliştirme Bu konunun amacı, programcıya rapor geliştirmeyle ilgili temel beceriyi kazandırmaktır. Raporların Genel Yapısı Bir raporun genel olarak nasıl bir yapıya sahip olduğunu, detaylara girmeden anlatın. Tablo tanımı, veri tanımlama, seçin ekranı, akış mantığı ve Form sırasının izlenmesi gerektiğinden bahsedin. İlk Hello World programını birlikte yazın. Hello World Öğrenci, ekrana haftanın günlerini alt alta yazdıran bir program yazsın. Temel Veritabanı Sorguları Select Veritabanı bağlantısından ve SELECT * ENDSELECT mantığından bahsedin. SELECT komutunun amacının, tablodan veri çekmek olduğunu anlatın. Select Öğrenci, T001 tablosundaki bütün şirket kodlarını ve şirket kodu metinlerini dökecek bir program yazsın. Koşullar Sorgularda koşulların WHERE komutu yardımıyla nasıl kullanıldığından bahsedin. WHERE sonrasındaki koşulların parantezler yardımıyla gruplanabileceğini anlatın. Kosullar Öğrenci; MAKT tablosundan, dili TR veya EN olan bütün malzeme metinlerini ve malzeme kodlarını döksün. Alan Belirleme Bir sorguda, işe yarayacak alanların nasıl belirtilebileceğini anlatın. Belirtilmeyen alanların SELECT ENDSELECT arasında kullanılamayacağını belirtin. Alan belirtmek, performansı arttıracaktır. Alan Belirleme Öğrenci, KNA1 tablosundaki kod ve isimleri listeleyen bir program yazsın. Sorgu içerisinde seçmek istediği alanları belirtsin.

Sıralama ORDER komutu yardımıyla dönen verilerin nasıl sıralanabileceğini anlatın. DESCENDING yardımıyla ters sıralanabileceğini belirtin. Siralama Ters Siralama Ters ve Duz Öğrenci, LFA1 tablosundan bütün satıcıların kodlarını ve isimlerini listeleyen bir program yazsın. Liste; satıcı koduna göre artan, satıcı adına göre azalan sırada olsun. Veriler Temel veri tanımlama Verilerin kullanım amacından bahsedin. DATA, TYPE ve LIKE komutlarını tanıtın. ABAP içerisindeki temel veri tiplerini tanıtın (C, I, N, P). Global ve yerel değişkenler arasındaki farkı anlatın. GFD_ LFD_ gibi isimlendirme standartlarından bahsedin. Programların metin havuzlarından da bahsedin ve TEXT-001 şeklinde metin kullanmanın avantajlarını anlatın (merkezilik, tercüme). Veri Tanimlama SY nesnesinden kısaca bahsedin. Program; belli bir malzemenin adını ve ölçü birimini MARA dan, önceki dönem kapanış stok miktarını ve değerini MBEW den, ilgili şirket kodunun para birimini T001 den çekip birer değişkene atasın ve ekrana döksün. Öğrencinin seçim ekranı kullanmasına şu noktada gerek yok, malzeme kodu ve şirketi kodunu Hard Coded girebilir. Internal Table kullanımı Internal Table kavramını anlatın hafızada duran tablo diye bahsedebilirsiniz. Internal Table tanımlama yollarını anlatın. Header Line kavramından bahsedin. APPEND ve LOOP komutlarını tanıtın. MODIFY ve DELETE komutlarına değinin. REFERENCE INTO kullanımını gösterebilirsiniz. Internal Table Internal Table içerisinde HEADER LINE kullanmayı gösterin. Bunun yanı sıra, Header Line sız bir tabloda LIKE LINE OF komutu yardımıyla nasıl Loop yapılabileceğini anlatın. REFERENCE INTO kullanımını gösterebilirsiniz. CLEAR ve REFRESH komutlarına değinin. Öğrenci, T001W tablosundaki üretim yeri kodlarını ve isimlerini bir Internal Table a doldurup, sonra bu değerleri Loop yardımıyla ekrana yazdırsın. Internal Table a aktarım işini SELECT ENDSELECT arasında yapsın (SELECT INTO kullanmasın). Program, TCURC tablosundan bütün para birimi kodlarını ve metinlerini toplayıp bir Internal Table a doldursun. Doldurduktan sonra, A veya T diye başlamayan bütün kodları Internal Table dan silsin. Bu işlemden sonra, A diye başlayan bütün kodların metnini aaaaa diye değiştirsin. Son olarak, Internal Table içeriğini ekrana döksün.

Sorgu Internal Table ilişkisi Bir sorgudan dönen değerlerin Internal Table a nasıl aktarılabileceğini anlatın. APPEND ve COLLECT komutlarının farkından bahsedin. Sorgu - ITAB Collect Öğrenci, KNA1 tablosundaki bütün müşterilerin kod ve isimleri bir Internal Table a toplayıp ekrana dökecek bir program yazsın. Bu noktada SELECT INTO kullansın. Öğrenci, MBEW tablosundaki SALK3 değerlerini BWKEY bazında kümüle etsin ve değerleri ekrana döksün. Sabitler Constant kavramı üzerinde durun. C_ standardını öne çıkarın. Hard-Coded değerlerin mutlaka Constant olarak girilmesi gerektiğini anlatın. Aralıklar Range kavramı üzerinde durun. SIGN alanının I / E değerlerini, OPTION alanının EQ, CP, LE, LT, GE, GT değerlerini tanıtın. LOW & HIGH alanlarını tanıtın. Öğrenci; belli bir şirket kodu & yıla ait olup numarası 1 ve 2 ile başlayan bütün muhasebe belge numaralarını BKPF den çeksin ve ekrana döksün. Şirket kodu Constant olmalı, yıl SY-DATUM dan alınmalı, muhasebe belge numaraları ise bir Range içerisinde belirtilmelidir. İpucu olarak, belge numaralarının başına 0 koyması gerekebileceğini hatırlatabilirsiniz. Öğrenci, içinde bulunulan yılın ilk iki ayında kaydedilmiş bütün malzeme belgelerini listelesin. Şirket kodu Constant olmalı, yıl SY-DATUM dan alınmalı, malzeme belgelerinin kayıt tarihi ise bir Range içerisinde belirtilmelidir. Seçim Ekranı Seçim ekranı kullanma amacının kullanıcıdan bilgi alarak programları daha parametrik hale getirmek olduğunu anlatın. Örnek bir seçim ekranı gösterin. Tekli ve aralık şeklinde iki tür alan olduğunu gösterin. Seçim ekranı parametrelerine ait metinlerin nerede belirlendiğini gösterin. Parameters PARAMETERS komutunu anlatın. P_ standardını gösterin. OBLIGATORY ve DEFAULT takılarından bahsedin. Parameters Select Options SELECT-OPTIONS komutunu anlatın. Range ile olan benzerliğine dikkat çekin. S_ standardını gösterin. OBLIGATORY ve DEFAULT takılarının pek tercih edilmeyeceğini söyleyin. Select Options

Diğer INITIALIZATION olayından bahsedin. BEGIN OF BLOCK WITH FRAME TITLE komutu ile kutu çizmeyi gösterin. Öğrenci, seçim ekranından girilen malzeme aralığına ait VVSAL tutarını MBEW tablosundan okuyup, malzeme bazıda kümüle edip ekrana dökecek bir program yazsın. İpucu olarak sorgudaki IN komutunu verebilirsiniz. Cevap Öğrenci, seçim ekranından girilen malzeme aralığına ait VVSAL tutarını MBEW tablosundan okuyup, malzeme bazıda kümüle edip ekrana dökecek bir program yazsın. Programda, VVSAL değeri 0 olan malzemeler devre dışı bırakılsın. Cevap Gelişmiş Sorgular İç İçe Sorgu Kullanma İç içe birden fazla SELECT komutunun kullanılabileceğinden bahsedin. Performans açısından dezavantaj, hata yakalama açısından avantaj getirebileceğini belirtin. Ic Ice Sorgu Öğrenci, MBEW tablosundaki LBKUM değerlerini MATNR ve MEINS bazında kümüle etsin ve değerleri ekrana döksün. MEINS değeri, MARA tablosundan okunmalıdır. Bu ödev için, SELECT SINGLE ve iç içe sorgu ipuçlarını verebilirsiniz. Inner Join Inner Join ile birden fazla tablodan aynı anda nasıl veri çekilebileceğini gösterin. Örnek olarak MKPF & MSEG tablolarından birlikte veri çekin. BSEG gibi Pooled Table larda Inner Join kullanılamayacağını anlatın. Çok büyük bir veri söz konusuysa Join kullanmanın hafıza hatasına yol açabileceğini söyleyin. Debug etmenin daha zor olduğunu söyleyin. Outer Join Inner Join ile aynı şekilde kullanıldığını, ama 2. tabloda karşılığı olmayan verilerin de geleceğini anlatın. Öğrenci, sistemdeki malzemelerin kodunu ve metnini MARA & MAKT tablolarından Inner Join yardımıyla çekip listeleyeceği bir program yazsın. Malzeme numara aralığı ve metinlere ait dil, seçim ekranında parametre olsun.

Temel ABAP Komutları Form / Perform Form kullanmanın avantajı, programın içindeki ortak algoritmaları merkezi bir noktaya toplayıp tekrarı önlemektir. FORM ve PERFORM komutlarından bahsedin. Form ların alabileceği parametrelerden bahsedin. TABLES USING CHANGING takılarından ve sırasının önemli olduğundan bahsedin. SE38 ekranının Pattern düğmesini kullanarak Form lara ait Perform ların koda otomatik olarak ve doğru formatta eklenebileceğini açıklayın. Form ların, programların akış mantığını daha anlaşılır hale getirmek için de kullanıldığını söyleyin. Form Parametrik Form If & Case If komutunun kullanım amacını ve şeklini anlatın. Koşulların parantezler yardımıyla gruplanabileceğine değinin ve uzun koşullara sahip birkaç alıştırma yapın. Case komutunun getirdiği avantajları gösterin. If Program, seçim ekranında bir tarih sorsun. Girilen tarihe göre, kullanıcının burcunu bulup söylesin. Call Function Fonksiyon çağırmanın amacını anlatın. IMPORTING / EXPORTING / TABLES içerisinde aktarılacak parametrelerin tiplerinin fonksiyonda tanımlanan tiple birebir aynı olması gerektiğini belirtin. Pattern düğmesinin kullanılabileceğini gösterin. SE37 ekranında * ve F4 yardımıyla fonksiyon bulmayı öğretin. Call Function Program; MONTH_NAMES_GET fonksiyonunun yardımıyla, seçim ekranında verilen dilde bütün ayları listelesin. İleri ABAP Komutları Abs Sayının mutlak değerini alır. Concatenate Birden fazla metin tek bir metinde birleştirilir. SEPARATED BY takısına değinin. Öğrenci, TEXT-001 TEXT-002 gibi metin öğeleriyle bir cümle oluşturacağı bir program yazsın. Program; kullanıcının Login olduğu dile göre Türkçe ve İngilizce destekliyor olsun.

Split Bir metni belli bir ayraç kullanarak iki parçaya ayırır. Öğrenci yeni bir program yazsın. Kullanıcı, seçim ekranından bir FI belge numarası (+şirket kodu +yıl) girsin. Program, bu belgeye ait WRBTR tutarlarının tamsayı ve ondalık kısımlarını iki ayrı alan haline getirerek, kalem bazında ekrana döksün. Pack Sayının başındaki 0 ları temizler. Unpack Sayının başına 0 ekler Strlen Metin uzunluğunu hesaplar. Bu program, seçim ekranında aralık olarak girilen her bir malzemenin numarasını ve (kullanıcının diline bağlı olarak) metnini listelesin. 3. bir sütunda, malzeme metninin uzunluğu yazsın. ALV ALV Temelleri Basit bir ALV programı üzerinde ALV kullanımının temellerini anlatın. Gruplama, toplam, ara toplam, Excel Download gibi özellikleri gösterin. GRID ile LIST arasındaki farkı anlatın. Görüntü ekranında varyant kaydetmeyi öğretin. Buradaki amaç ALV programlamayı değil, ALV yi tanıtmak olsun. Temel ALV ALV Kullanımı Buradaki amaç, ALV nin program içinde nasıl kullanılacağını öğretmek olsun. Alan katalogu kavramından bahsedin ve REUSE_ALV_FIELDCATALOG_MERGE fonksiyonunu tanıtın. Bu fonksiyonu kullanabilmek için, Internal Table ın BEGIN OF END OF şeklinde tanımlanmış olması gerektiğini belirtin. ALV ALV Olayları ALV LIST ın TOP_OF_LIST, END_OF_LIST ve USER_COMMAND olaylarından bahsedin. SALV içerisindeki STANDARD statüsünü programa kopyalayarak kendi düğmelerini eklemeyi öğretin. Program, seçim ekranından girilen şirket kodu & mali yıl & kayıt tarihi aralığı & belge numarası aralığına uyan bütün malzeme belgelerini çeksin ve kalemlerini ALV LIST formatında ekrana döksün. Raporun başında (TOP_OF_LIST) şirket kodu ve adı, sonunda ise (END_OF_LIST) geri dönen kayıt sayısı yazsın. SAVE düğmesine tıklandığında, kullanıcıya POPUP ile HELLO metni gösterilsin. İpucu olarak, POPUP_TO_DISPLAY_TEXT fonksiyonunu kullanmasını söyleyebilirsiniz.

Diğer Geliştirmeler Tablo Tablolar SE11 ekranını ve tablo yaratmanın temellerini anlatın. Birlikte bir tablo yaratın ve INSERT & UPDATE & DELETE komutlarıyla bu tablodaki verileri modifiye edecek örnekler yapın. Key alanlarının anlamını ve öneminin üzerinde durun. Field à Data Element à Domain zincirinin iyice anlaşıldığından emin olun. Tabloda MANDT alanının mutlaka bulunması gerektiğini söyleyin. Bir tablo içerisine bir diğer tablo / yapının Include edilebileceğini gösterin. Tablo bakım ekranı yaratmayı öğretin. Öğrenci; içinde ID, ad, soyad ve doğum tarihi bulunan bir tablo yaratsın. Bu tabloya bir bakım ekranı yaratsın ve bakım ekranına bir işlem kodu bağlasın. Tabloya işlem kodu aracılığıyla birkaç kayıt girsin. Yapılar SE11 ekranından yapı (Structure) yaratmayı öğretin. Yarattığınız yapıyı referans alan bir Internal Table içeren bir örnek yapın. Öğrenci, MARA tablosundaki bazı alanları içeren bir yapı yaratsın. Yazacağı programda, bu yapıya referans verilerek yaratılmış bir Internal Table olsun. Bu Internal Table ı MARA dan doldursun ve ALV kullanmadan ekrana döksün. Tablo Tipi SE11 ekranında tablo tipi (Table Type) Yaratmayı öğretin. Yarattığınız tablo tipini referans alan bir Internal Table içeren bir örnek yapın. Fonksiyon Fonksiyon yazma Fonksiyon yazmanın temellerini anlatın. Birlikte bir fonksiyon yazın. IMPORTING / EXPORTING parametrelerinin hepsi dolu olsun. TABLES parametresinin artık geçersiz olduğunu belirtin. RFC fonksiyonlarının dışarıdan Connector / Web Service üzerinden çağırılabildiğini ifade edin. Yazdığınız fonksiyonu bir program içinden çağırın. Öğrenci, gönderilen belge numarası & yıl & şirket koduna ait FI kalemlerini döndüren bir fonksiyon yazsın. Bu fonksiyonu; seçim ekranından girilen yıl & şirket & belge numarası için çağırıp kalemleri ALV formatında ekrana döken bir program yazsın. Hata yakalama EXCEPTIONS bölümünü tanıtın. İçinde RAISE komutu geçen bir fonksiyon yazıp örnek bir programdan çağırın. Fonksiyonun döndürdüğü hataları SY-SUBRC ile yakalayabileceğinizi gösterin. EXCEPTIONS bölümünü programa koymazsanız herhangi bir hatada Short Dump alacağını gösterin. Öğrenci, gönderilen malzeme belge numarası & yıla ait malzeme kalemlerini döndüren bir fonksiyon yazsın. Bu fonksiyonu; seçim ekranından girilen yıl & malzeme belgesi için çağırıp kalemleri ALV formatında ekrana döken bir program yazsın. Eğer belge veritabanında bulunamazsa, fonksiyon bir hata üretiyor olsun. Program bu hatayı SY-SUBRC ye bakarak yakalasın ve ALV nin END_OF_LIST inde göstersin.

Sınıf Sınıf yazma Sınıf yazmanın temellerini anlatın. Birlikte SE24 işlem kodunda bir sınıf yazın. Sınıf içerisinde Method / değişken tanımlayın ve Public / Private kavramlarından bahsedin. Method içerisindeki parametre türlerini gösterin. Sınıfı program içerisinde kullanmayı, fonksiyonel formatı öne çıkararak gösterin. Öğrenci, gönderilen belge numarası & yıl & şirket koduna ait FI kalemlerini döndüren bir Method yazsın. Bu Method u; seçim ekranından girilen yıl & şirket & belge numarası için çağırıp kalemleri ALV formatında ekrana döken bir program yazsın. Hata yakalama EXCEPTION ve EXCEPTION CLASS kavramlarından bahsedin. EXCEPTION kullanıldığı durumda hatanın fonksiyon gibi yakalandığını, EXCEPTION CLASS kullanıldığı durumda ise TRY...CATCH kullanıldığını anlatın. Öğrenci, gönderilen malzeme belge numarası & yıla ait malzeme kalemlerini döndüren bir Method yazsın. Bu fonksiyonu; seçim ekranından girilen yıl & malzeme belgesi için çağırıp kalemleri ALV formatında ekrana döken bir program yazsın. Eğer belge veritabanında bulunamazsa, Method bir hata üretiyor olsun (Exception Class). Program bu hatayı TRY...CATCH ile yakalasın ve ALV nin END_OF_LIST inde göstersin. Inheritence Super Class ve Final Class kavramlarından bahsedin. Bir sınıftan bir başka sınıf türetilebileceğini, Parent sınıftaki değişken ve Method ların Child sınıf tarafından devralındığını, Method ların Redefine edilebildiğini gösterin. Super-> takısı ile Parent a ait kodların çalıştırılabildiğini gösterin. Child sınıfın Parent sınıfa?= ile Casting yapılabildiğini gösterin. Öğrenci, BANKA adında bir sınıf oluştursun. Bu sınıf, ödemeleri okuyan ve Download eden Method lar içersin. Bir de dosya formatını oluşturan Method u olsun. Garanti, Akbank ve Yapı Kredi için 3 alt sınıf türetin ve format Method unu ezip söz konusu bankanın formatında dosya oluşturun. SE38 de yazacağı program, seçim ekranındaki bankaya göre doğru sınıfı yaratıp BANKA referanslı ana sınıfa Cast etsin ve onun üzerinden verileri okutup, formatlatıp Download etsin. Diğer Kavramlar Interface ve Abstract Class kavramlarından bahsedin. Bir sınıfın sadece bir Parent sınıfı olabildiğini, ama birden fazla Interface uygulanabildiğini gösterin. Toplu Girdi Toplu Girdi Temelleri Toplu girdinin ekran simülasyonu anlamına geldiğini anlatın. SM35 de bir toplu girdi kaydı yapın ve bunun arkasında yapılan kayıtları inceleyin. Ekran, alan ve OK_CODE arasındaki farkı anlatın. OK_CODE un, hemen öncesindeki ekrana ait ve bir sonraki ekrana kadar geçerli olduğunu vurgulayın. Call Transaction Basit bir Batch Input kaydı yapın ve bu kayda uygun bir program yazın. Bu program, Batch Input u Call Transaction komutuyla yürütüyor olsun. A, N ve E modları arasındaki farkı anlatın. OPTIONS FROM takısını tanıtın ve Dynpro Default Size ın önemini anlatın. MESSAGES INTO takısını tanıtın ve Batch den dönecek mesajları yakalayın. MESSAGES INTO takısı ile,

kaydedilen bir belgenin numarasını alma veya ortaya çıkan hatayı yakalama gibi işlerin yapılabileceğini anlatın. SM35 oturumu yaratma Basit bir Batch Input kaydı yapın ve bu kayda uygun bir program yazın. Bu program, Batch Input için SM35 den yürütülecek bir oturum yaratıyor olsun. Batch Input u yürütün ve yarısında kesip tekrar başlatın. Tamamlanamayan adımların tekrar işlenebildiğini gösterin. Öğrenci, ekrandan belge numarası & mali yıl & şirket kodu bilgisi verilen bir FI belgesini FB08 de toplu girdi ile ters çeviren bir program yazsın. Programın Call Transaction / SM35 ile çalışması seçim ekranından belirlenebiliyor olsun. Call Transaction yapılırsa, geri dönen mesajlar WRITE ile ekrana dökülsün. SM35 yapılırsa, yaratılan toplu girdi oturumunun adı MESSAGE komutuyla görev çubuğunda görüntülensin. User Exit User Exit kavramından ve ne işe yaradığından bahsedin. CMOD & SMOD ekranlarını gösterin ve (varsa) sistem üzerinde aktif olan birkaç User Exit gösterin. User Exit lerin genelde fonksiyonlar içerisinde bulunduğunu ve Import & Export parametrelerine bakılarak işe yarayıp yaramadığının anlaşılacağını belirtin. BADI BADI kavramından ve ne işe yaradığından bahsedin. SE18 / SE19 işlem kodlarını gösterin ve (varsa) sistem üzerinde aktif olan birkaç BADI gösterin. BADI oluşturma mantığını anlatın ve birden fazla Class türetildiği durumda hepsinin birden çalışacağını söyleyin. Numara Aralığı SNRO işlem kodunu gösterin ve numara aralığı yaratmayı öğretin. Birlikte, bu aralıktan NUMBER_GET_NEXT fonksiyonu yardımıyla sayı çekip ekran gösteren bir program geliştirin. Çekilen sayının her seferinde bir arttığına dikkat çekin. Öğrenci, Z li bir tablo ve numara aralığı yaratsın. Tabloda MANDT, ID, ERNAM, ERDAT, UZEIT alanları olsun. Yazacağı program her çalıştırıldığında; bu Z li tabloya numara aralığından alınmış yeni bir sayı ve çalıştırılma bilgileri kaydedilsin.

Debug Bu bölümün amacı; öğrenciye Debug ile ilgili temel becerileri kazandırmaktır. Öğrencinin, en azından rapor ve fonksiyonları Debug edebilir hale gelmesi gerekmektedir. Debug a Giriş Debug Başlatılması /H komutuyla programın nasıl Debug edilebileceğini gösterin. Fonksiyonların Debug modunda doğrudan nasıl test edilebileceğini gösterin. Popup ekranlarının nasıl Debug edilebileceğini açıklayın. popup.txt Değerlerin Görüntülenmesi Değerlerin ekranda nasıl görüntülendiğini gösterin. Alan, tablo ve Header Line kavramları üzerinde durun. Navigasyon Debug ekranının üzerinde yer alan Watchpoints, Calls gibi bölümleri tanıtın. Debug Teknikleri BreakPoint Yönetimi Break-point ve break <USERNAME> komutlarını gösterin. Programlara kod yazmadan Break Point eklemenin yolunu gösterin. Kodu Debug ederken yeni Break Point koymayı, eklenen Break Point leri kalıcı kılmayı gösterin. Deactive All / Delete All gibi komutları gösterin. Değer Değiştirme Akış esnasında değişken değerleriyle nasıl oynanabileceğini gösterin. Watchpoint Değişkenlere Watchpoint koymanın mantığını anlatın. Break On Command Belli bir komut çalıştırıldığında veya fonksiyon çağırıldığında programın nasıl durdurulabileceğini gösterin. Bunun özellikle hata mesajlarında nasıl işe yaradığını anlatın.

Layout Geliştirme Sapscript SE71 Sapscript kavramı Öğrenciye Sapscript in ne olduğunu anlatın. SE71 ekranına girip birkaç Sapscript i birlikte inceleyin. Page, Window, Page Window kavramlarını tanıtın. Paragraph, Font gibi bölümlerin üzerinden geçin. Ölçülendirme mantığını anlatın. Sapscript geliştirme Birlikte basit bir Sapscript yaratın. Bir Header, bir de Main bölümü olsun. Header içinde /E diye tanımlanmış iki bölüm, Main bölümünde ise bir bölüm olsun. Bu bölümlerde yer alan değişkenleri dolduracak bir program yazın. OPEN_FORM, WRITE_FORM ve CLOSE_FORM fonksiyonlarını tanıtın. Temel Sapscript kavramları Sapscript içinde değişik paragrafların nasıl uygulanacağını gösterin. If ve NEW-PAGE komutlarını anlatın ve birlikte uygulayın.,, ile TAB yapılabileceğini, &GV_TEST& şeklinde değişken yazılabileceğini anlatın. NEXT PAGE kavramını ve nasıl çalıştığını anlatın. Aynı pencereleri farklı sayfalar üzerine koyarak nasıl bir etki yaratacağını gösterin. Öğrenci, seçim ekranından belge & yıl & şirket kodu verilen bir muhasebe belgesinin bazı başlık bilgilerini tepede ve kalem bilgilerini aşağıda görüntüleyen bir Layout & program hazırlasın. Gelişmiş kavramlar Sapscript içinde adres yazdırmayı öğretin. IF ve PERFORM komutlarını kullanmayı öğretin. Parasal alanların ölçeklendirerek nasıl yazdırılabileceğini gösterin. Sapscript Sembolleri Sapscript Kontrol Komutları Öğrenci, seçim ekranından numarası verilen bir müşterinin adresini Sapscript ile yazdıran bir program yazsın. SmartForms SMARTFORMS SmartForm kavramı Öğrenciye Smarform un ne olduğunu anlatın. Sapscript ile aynı amaca hizmet ettiğini, ama daha pratik bir ekran sunduğunu belirtin. Yeni geliştirmelerde Smartform u tercih etmesi gerektiğini belirtin. SMARTFORMS ekranına girip birkaç formu birlikte inceleyin. Style kavramını ve SmartForm ile ilişkisini anlatın. Smartform ların giriş çıkış parametrelerini ve bunun fonksiyonlar ile olan benzerliğini gösterin. SmartForm geliştirme Smartform a tablo göndermenin yolunun Table Type / Structure yaratmaktan geçtiğini anlatın. Birlikte basit bir SmartForm yaratın. Bir Header, bir de Main bölümü olsun. Header içinde IMPORTING ile gönderilen bir metin, Main içinde ise TABLES ile gönderilen bir tablo gösterilsin bu çerçevede, Text ve Table öğelerinden bahsedin. Bu formu çağıracak bir program yazın.

SSF_FUNCTION_MODULE_NAME fonksiyonundan bahsedin ve programdan Smartform u çağırın. Temel SmartForm kavramları Graphic, Text, Address, Program Lines kavramlarını anlatın. Loop öğesini gösterin ve Table ile olan benzerliğine dikkat çekin. Bütün bu kavramları içeren bir örneği birlikte yaratın. Gelişmiş kavramlar İkinci bir sayfa içeren bir SmartForm yaratın. Bir sayfada yapılan pencere modifikasyonunun diğer sayfadaki pencereyi de etkilediğini gösterin. Öğrenci, seçim ekranından belge & yıl & şirket kodu verilen bir muhasebe belgesinin bazı başlık bilgilerini tepede ve kalem bilgilerini aşağıda görüntüleyen bir Layout & program hazırlasın. Belge başlığında, (varsa) belgenin ait olduğu satıcı veya müşterinin adres bilgisi de olsun. Eğer satıcı varsa tepede SATICI FATURASI, müşteri varsa MÜŞTERİ FATURASI yazsın.

Diyalog Geliştirme Bu konunun amacı, programcıya diyalog programlama ile ilgili temel beceriyi kazandırmaktır. Temel Kavramlar Program oluşturma Birlikte Module Pool tipinde bir program yaratın. Ekrana basit birkaç nesne ekleyin, ekrana bir işlem kodu bağlayın ve programı yürütün. Programlara SAPGUI veya (ITS üzerinden) Web tarayıcısı / mobil cihazlardan erişilebildiğini belirtin ve BSP / Web Dynpro alternatiflerinden bahsedin. PBO / PAI PBO / PAI mantığından bahsedin. Örnek bir program üzerinde hata ayıklama ekranına girerek PBO / PAI nin ne zaman ve nasıl aktive olduğunu gösterin. Araç çubuğu üzerine ekleyeceğiniz 1-2 basit düğme ile USER-COMAND ı, ve BACK & EXIT düğmeleri ile EXIT-COMMAND I PAI içerisinde kullanmayı öğretin. Öğrenci; iki metin kutusu ve bir KOPYALA düğmesi içeren bir diyalog yaratsın. Metin kutusuna bir yazı yazıp KOPYALA düğmesine tıklandığında; metin, diğer kutucuğa kopyalansın. Rapor ekranları Raporlar içinde de ekran oluşturup çağırabileceğinizden bahsedin. Executable bir program oluşturup, program içerisinde bir ekran yaratın. Program içinde CALL SCREEN komutunu kullanarak yarattığınız ekranı çağırın. PBO / PAI mantığının değişmediğini gösterin. Program içerisinde bir de Popup ekranı yaratın. CALL SCREEN STARTING AT ENDING AT komutuyla Popup ekran çağırın. Öğrenci, seçim ekranında girilen metni aynen görüntüleyen bir diyalog ekranı oluştursun. Ekran modifikasyonu PBO / PAI içindeki komutlar yardımıyla ekrandaki öğeleri görünür / görünmez veya erişilebilir / erişilemez hale getirebildiğinizi gösterin. Öğrenci, Belge Numarası & Mali Yıl & Şirket Kodu bilgilerini içerecek üç kutucuk ve Belgeye Git yazısına sahip bir düğme içeren bir ekran yaratsın. Kutucuklar doldurulup Enter a basıldığında; program, böyle bir belge olup olmadığını kontrol etsin. Belge yoksa, Belgeye Git düğmesi tıklanamaz hale gelsin. Belge varsa, düğme tıklanabilir hale gelsin. Gelişmiş Nesneler Subscreen Subscreen kavramını anlatın. Subscreen lerin kendi özerk PBO / PAI leri olduğundan bahsedin. Subscreen kullanma amacının, farklı ekranlarda ortak olarak kullanılacak öğe gruplarını merkezi hale getirmek olduğunu söyleyin. Yeni bir Module Pool programı içinde bir Screen, bir de Screen içinde Subscreen yaratın, her iki ekranda da çeşitli öğeler olsun. Araç çubuğuna ekleyeceğiniz bir düğme yardımıyla Debug a girin ve PBO / PAI lerin hangi sırayla & nasıl çalıştığını birlikte inceleyin.

Table Control Table Control u gösterin ve amacının kullanıcıya kalem mantığında veri girişi yaptırmak olduğunu anlatın. Salt veri gösterme amacıyla ALV nin de diyalog içine gömülebileceğini (sadece) söyleyin. Birlikte Table Control içeren bir örnek yapın. Öğrenci, mali yıl & şirket kodu girilebilecek iki kutucuk ve iki adet Table Control içeren bir ekran yaratsın. Mali yıl & şirket kodu girilip düğmeye tıklandığında, o yıl ve şirket koduna ait bütün muhasebe belgeleri soldaki tablo kontrolünde listelensin. Soldaki tabloda bir(kaç) kayıt seçilip bir diğer düğmeye tıklandığında, seçilen belgelere ait kalemler sağdaki tabloda listelensin. Tabstrip Tabstrip kontrolünü gösterin. Her bir TAB içerisinde ayrı bir Subscreen bulunması gerektiğini anlatın. Birlikte, içinde farklı öğeler bulunan bir Tabstrip barındıran bir örnek yaratın. Öğrenci; malzeme numarası girilebilecek bir kutu ve üç Subscreen içeren bir Tabstrip yaratsın. Kutuya bir malzeme numarası girilip düğmeye tıklandığında; malzeme metni farklı Subscreen ler içerisinde Türkçe, İngilizce ve Almanca dilinde görüntülensin.

OSS Not Arama OSS e nasıl girileceğini gösterin. Not aramayı öğretin. Bulunan nottaki sistem / Patch seviyesi ile söz konusu sistemin nasıl karşılaştırılacağını gösterin. OSS Uygulama OSS uygulamanın 2 yönetmini gösterin (doğrudan uygulama / SNOTE). Doğrudan yapılan müdahelelerde Assistant kullanmanın önemine değinin. SNOTE uygulamasında notun tamamının otomatik olarak uygulanamayabileceğinin üzerinde durun. SNOTE Kullanım Kılavuzu

Web Geliştirme Bu konunun amacı, programcıya Web tabanlı programlama ile ilgili temel beceriyi kazandırmaktır. Karşılaştırma ITS, BSP ve Web Dynpro alternatiflerinden bahsedin. BSP nin eski (ASP) ve DynPro nun yeni (ASP.NET) olduğundan bahsedin. BSP de daha fazla kodlamaya karşılık daha az kod ve daha esnek formatların mümkün olduğunu, Web Dynpro da ise daha az kodlama olmasına karşılık standart kontrolleri kullanmak gerektiğini anlatın. Alternatif Teknolojiler BSP BSP Tag lerini gösterin. ABAP ve BSP nin iç içe kullanıldığını gösterin. Ekranlar arası veri transferi için request->get_form_field kullanımını gösterin ve Request nesnesinden bahsedin. Öğrenci; ilk ekranda sorulan şirket kodunun detaylarını ikinci ekranda listeleyen örnek bir uygulama geliştirsin. Web Dynpro Context, Window, View kavramlarından bahsedin. Flow ve Grid Layout alternatiflerinden bahsedin. Sayfa üzerindeki (WDOINIT gibi) kritik Method ları gösterin. TextBox, Button ve Table kontrollerini, arkalarına değişken bağlama mantığıyla birlikte anlatın. Group içerisinde Parameter ve Select Option kullanımını gösterin. Fonksiyon çağırmanın kolay yolunu gösterin. User Component kavramına değinin. Öğrenci; bir metin kutusu ve bir Buton barındıran bir ekran yaratsın. Butona tıklandıkça, metin kutusundaki sayı artsın.

Bitirme Projeleri Fihrist projesi. Bu projede; ad, soyad, telefon numarası ve doğum tarihi girilebilecek bir fihrist sistemi geliştirilecektir. Verilerin girişi, güncellenmesi ve silinmesi diyalog üzerinde yapılacaktır. Her bir kayda ait tekrarsız bir ID alanı bulunmalıdır (Number Range ile çözülebilir). Fihrist tablosundaki kriterlere göre listeleme yapılabilen bir de ALV destekli rapor geliştirilecektir. Sayısal Loto projesi. Bu projede; tarih bazında Sayısal Loto sonuçlarının girilebileceği bir tablo yaratılacak ve tablo bakımı, kullanıcı tarafından SM30 üzerinden yapılabilecektir. Tarih aralığına göre çekiliş sonuçlarını listeleyen bir ALV raporunun yanı sıra, bir TXT dosyasından yüklenecek loto tahminlerinin her bir tarihte kaç tutturmuş olduğunu listeleyen ikinci bir rapor daha yazılacaktır. İhracat ek verileri projesi. Satış belgesi bazında (VBAK) İhracat Gümrük Numarası, Taşıt Numarası ve İhracat Yetkilisi bilgilerinin saklanacağı bir Z li tablo yaratın. Bu alanların metinleri (gümrük adı, taşıt adı, yetkili adı); 3 farklı tabloda ana veri şeklinde saklanıyor olmalı. Ana veri tablolarının bakımı, SM30 ekranında yapılabiliyor olmalıdır. Belge bazındaki ihracat verileri, bir diyalog ekranı üzerinde Ekle / Güncelle / Sil mantığıyla modifiye edilebiliyor olmalıdır. Bir başka raporda; kullanıcı satış belgesi numarası girerek bazı VBAP kalem bilgilerini listeleyen bir Layout yazdırabiliyor olmalıdır. Bu Layout un başlık kısmında, Z li tabloda bulunan ihracat verileri ve metinleri de bulunmalıdır. Toplu ters kayıt programı. Bu program, seçim ekranından girilen parametreler doğrultusunda (ters kaydı bulunmayan) muhasebe belgelerini okuyacak ve ALV formatında ekrana dökecektir. Ters kaydı zaten olan belge numaraları, END_OF_LIST de bilgi amaçlı gösterilecektir. Kullanıcı, dilediği belgeleri tıklayıp SAVE düğmesine tıkladığında, bu belgeler toplu girdi yardımıyla FB08 de ters çevrilecektir. Herhangi bir belgeyi seçip Görüntüle düğmesine tıkladığında ise; program, belgeyi FB03 de görüntülemelidir.