SAP ABAP - Temel Sözdizimi
İfadeler
ABAP kaynak programı yorumlardan ve ABAP ifadelerinden oluşur. ABAP'deki her ifade bir anahtar kelimeyle başlar ve bir nokta ile biter ve ABAP büyük / küçük harfe duyarlıdır 'Değil'.
Bir programdaki ilk yorum olmayan satır REPORT kelimesiyle başlar. Rapor, her zaman yaratılan çalıştırılabilir programların ilk satırı olacaktır. İfadenin ardından, daha önce oluşturulan program adı gelir. Hat daha sonra bir tam durma ile sonlandırılır.
Sözdizimi -
REPORT [Program_Name].
[Statements…].
Bu, ifadenin düzenleyicide ihtiyaç duyduğu kadar çok satırı almasını sağlar. Örneğin, RAPOR şöyle görünebilir -
REPORT Z_Test123_01.
İfadeler bir komut ve nokta ile biten tüm değişkenler ve seçeneklerden oluşur. Açıklamanın sonunda nokta göründüğü sürece herhangi bir sorun çıkmayacaktır. İfadenin bittiği yeri işaretleyen bu dönemdir.
Kodu yazalım.
REPORT ifadesinin altındaki satıra şu ifadeyi yazın: 'ABAP Eğitimi' yazın.
REPORT Z_Test123_01.
Write 'This is ABAP Tutorial'.
Four things to consider while writing statements -
Write deyimi, tırnak içindeki her şeyi çıktı penceresine yazar.
ABAP düzenleyicisi, tek tırnak işaretleriyle çevrili metin dizeleri dışında tüm metni büyük harfe dönüştürür.
Bazı eski programlama dillerinden farklı olarak, ABAP, bir satırda bir ifadenin nerede başladığıyla ilgilenmez. Bundan faydalanabilir ve kod bloklarını belirtmek için girinti kullanarak programınızın okunabilirliğini artırabilirsiniz.
ABAP, ifadelerin düzeninde herhangi bir kısıtlamaya sahip değildir. Yani, birden çok ifade tek bir satıra yerleştirilebilir veya tek bir ifade birden çok satıra yayılabilir.
Kolon Notasyonu
Her bir ifadenin başlangıcı aynıysa, ardışık ifadeler birbirine zincirlenebilir. Bu, iki nokta üst üste (:) operatörü ve virgülle yapılır; bunlar, dönemlerin normal ifadeleri sonlandırması gibi, tek tek ifadeleri sonlandırmak için kullanılır.
Aşağıda, bazı tuş vuruşlarını kurtarabilecek bir program örneği verilmiştir -
WRITE 'Hello'.
WRITE 'ABAP'.
WRITE 'World'.
İki nokta işaretini kullanarak bu şekilde yeniden yazılabilir -
WRITE: 'Hello',
'ABAP',
'World'.
Diğer herhangi bir ABAP ifadesi gibi, düzen önemli değildir. Bu eşit derecede doğru bir ifadedir -
WRITE: 'Hello', 'ABAP', 'World'.
Yorumlar
Satır içi yorumlar, bir programın herhangi bir yerinde iki yöntemden biri ile bildirilebilir -
Tam satır yorumları, satırın ilk konumuna bir yıldız işareti (*) koyarak belirtilir, bu durumda tüm satır, sistem tarafından bir yorum olarak kabul edilir. Yorumların belirli bir süre ile sonlandırılmasına gerek yoktur çünkü birden fazla satıra yayılamazlar -
* This is the comment line
Kısmi satır açıklamaları, bir ifadeden sonra çift tırnak (") girilerek belirtilir. Çift tırnağı izleyen tüm metin, sistem tarafından bir yorum olarak kabul edilir. Kısmi satır açıklamalarını bir noktaya kadar sonlandırmanız gerekmez çünkü daha fazla uzanmayabilirler. birden fazla satır -
WRITE 'Hello'. "Here is the partial comment
Note - Yorumlanan kod, ABAP editörü tarafından büyük harfle yazılmaz.
Boşlukları Bastırma
NO-ZERO komutu DATA ifadesini izler. Boşluklar içeren bir sayı alanının başındaki tüm sıfırları bastırır. Çıktı genellikle kullanıcıların okuması için daha kolaydır.
Misal
REPORT Z_Test123_01.
DATA: W_NUR(10) TYPE N.
MOVE 50 TO W_NUR.
WRITE W_NUR NO-ZERO.
Yukarıdaki kod aşağıdaki çıktıyı üretir -
50
Note - NO-ZERO komutu olmadan çıktı: 0000000050
Boş Satırlar
SKIP komutu, sayfaya boş satırlar eklemeye yardımcı olur.
Misal
Mesaj komutu aşağıdaki gibidir -
WRITE 'This is the 1st line'.
SKIP.
WRITE 'This is the 2nd line'.
Yukarıdaki mesaj komutu aşağıdaki çıktıyı üretir -
This is the 1st line
This is the 2nd line
Birden fazla boş satır eklemek için SKIP komutunu kullanabiliriz.
SKIP number_of_lines.
Çıktı, satır sayısı ile tanımlanan birkaç boş satır olacaktır. SKIP komutu, imleci sayfada istenen bir satıra da konumlandırabilir.
SKIP TO LINE line_number.
Bu komut, imleci sayfada dinamik olarak yukarı ve aşağı hareket ettirmek için kullanılır. Genellikle, bu komuttan sonra çıktıyı istenen satıra koymak için bir WRITE deyimi oluşur.
Satır Ekleme
ULINE komutu, çıktı boyunca otomatik olarak yatay bir çizgi ekler. Hattın konumunu ve uzunluğunu kontrol etmek de mümkündür. Sözdizimi oldukça basit -
ULINE.
Misal
Mesaj komutu aşağıdaki gibidir -
WRITE 'This is Underlined'.
ULINE.
Yukarıdaki kod aşağıdaki çıktıyı üretir -
This is Underlined (and a horizontal line below this).
Mesajlar
MESAJ komutu, programın başında REPORT deyiminde belirtilen bir mesaj kimliği ile tanımlanan mesajları görüntüler. Mesaj kimliği, MESAJ komutu kullanıldığında programın hangi 1000 mesajlık diziye erişeceğini tanımlayan 2 karakterli bir koddur.
Mesajlar 000 ila 999 arasında numaralandırılmıştır. Her numara ile ilişkilendirilen maksimum 80 karakterlik bir mesaj metnidir. Mesaj numarası arandığında, ilgili metin görüntülenir.
Mesaj komutuyla kullanılacak karakterler aşağıdadır -
İleti | Tür | Sonuçlar |
---|---|---|
E | Hata | Mesaj belirir ve uygulama mevcut noktasında durur. Program arka plan modunda çalışıyorsa, iş iptal edilir ve mesaj iş günlüğüne kaydedilir. |
W | Uyarı | Mesaj görünür ve uygulamanın devam etmesi için kullanıcının Enter tuşuna basması gerekir. Arka plan modunda, mesaj iş günlüğüne kaydedilir. |
ben | Bilgi | Mesaj metnini içeren bir açılır pencere açılır ve kullanıcının devam etmek için Enter tuşuna basması gerekir. Arka plan modunda, mesaj iş günlüğüne kaydedilir. |
Bir | Abend | Bu mesaj sınıfı, kullanıcının o anda kullanmakta olduğu işlemi iptal eder. |
S | Başarı | Bu, ekranın altında bir bilgi mesajı sağlar. Görüntülenen bilgiler doğası gereği olumludur ve yalnızca kullanıcı geri bildirimi içindir. Mesaj, programı hiçbir şekilde engellemez. |
X | İptal | Bu mesaj programı iptal eder ve bir ABAP kısa dökümü oluşturur. |
Hata mesajları normalde kullanıcıların yapmamaları gereken şeyleri yapmalarını engellemek için kullanılır. Uyarı mesajları genellikle kullanıcılara eylemlerinin sonuçlarını hatırlatmak için kullanılır. Bilgi mesajları, kullanıcılara faydalı bilgiler verir.
Misal
AB kimliği mesajı için bir mesaj oluşturduğumuzda, MESAJ komutu - MESAJ E011 aşağıdaki çıktıyı verir -
EAB011 This report does not support sub-number summarization.