$show=home

Alanlar ve Hesaplamalar İçin Örnek Kod

ABAP ile ilgili yayınlar birbirlerini takip eden konular içerir. Tüm ABAP yayınlarının listesine ulaşmak için  tıklayınız . Aşağıdaki ko...

ABAP ile ilgili yayınlar birbirlerini takip eden konular içerir. Tüm ABAP yayınlarının listesine ulaşmak için tıklayınız.
Aşağıdaki kodda bazı basit aritmetik işlemler gösterilmektedir:
[1  *&--------------------------------------------------------* 2  *& Report  Z_BASIC_ARITHMETICS 3  *& 4  *&--------------------------------------------------------* 5  *& 6  *& 7  *&--------------------------------------------------------* 8 9  REPORT  Z_BASIC_ARITHMETICS. 10 11 * Define fields 12 DATA number01 TYPE p DECIMALS 2 VALUE '4.56'. 13 DATA number02 LIKE number01 VALUE '5.67'. 14 DATA result_addition LIKE number01. 15 DATA result_subtraction LIKE number01. 16 DATA result_multiplication LIKE number01. 17 DATA result_division_exact LIKE number01. 18 DATA result_division_integer LIKE number01. 19 DATA result_division_rest LIKE number01. 20 21 * Processing 22 number01 = number01 + 1. 23 number02 = number01 + 2. 24 result_addition = number01 + number02. 25 result_subtraction = number01 - number02. 26 result_multiplication = number01 * number02. 27 result_division_exact = number02 / number01. 28 result_division_integer = number02 DIV number01. 29 result_division_rest = number02 MOD number01. 30 31 * Output 32 WRITE: / 'number01', number01, 33       / 'number02', number02, 34       / 'result_addition:', result_addition, 35       / 'result_subtraction:',result_subtraction, 36       / 'result_multiplication:',result_multiplication, 37       / 'result_division_exact:',result_division_exact, 38       / 'result_division_integer:',result_division_, 39       / 'result_division_rest:',result_division_rest. ]
ABAP Kodu: Z_BASIC_ARITHMETICS Raporu

Kaynak Kod İle İlgili Notlar

1-8. Satırlar
Bu satırlar otomatik olarak sistem tarafından oluşturulur.

11. Satır
Kaynak kodu, okunabilirliği artırmak için bölümlere ayrılmıştır. Kod 4.1’de, bu bölümler üç açıklama satırı kullanılarak oluşturulur: Alanların bildirimi (satır 11-19), işlem (satır 21-29) ve çıktı (satır 31-39).

12. Satır
NUMBER01 değişkeni iki ondalık basamak içeren bir ondalıklı sayı olarak deklare edilir. Başlangıç değeri olarak 4.56 atanır.

13. Satır
NUMBER02 değişkenine başlangıç değeri olarak 5.67 ve NUMBER01 ile aynı nitelikler atanır.

14-19. Satırlar
Sonuç alanları deklare edilir ve her sonuç için ayrı bir alan yaratılır. Tabi ki, tek bir RESULT alanı oluşturmak ve daha sonra tekrar tekrar onun değerinin üzerine yazmak ta mümkündür, ancak daha sonraki bir aşamada içerik veya bir alanı yeniden kullanmak isteyebilirsiniz. Buna ek olarak, farklı hesaplama sonuçlarının çıktılarını hemen görmek isteyebilirsiniz.
  • [message]
    • Değişken Kullanımında Cömert Olun
      • Mevcut bellek ve donanım artık değişkenler konusunda tutumlu olmak için bir neden değildir, çünkü okunabilirlik ve şeffaflık çok daha önemli kalite kriterleridir. Eğer kaliteyi artırabiliyorsanız değişkenlerin kullanımı için cömert olmayı göze almalısınız.
21. Satır
İşlem bölümü bu satırda başlar.

22. Satır
NUMBER01 alanının değeri 1 artar. Bu ifadeden önce, içerik 4.56 idi; sonra 5.56 olur.

23. Satır
NUMBER02 alanına NUMBER01 ve 2 sayısının toplanması sonucu elde edilen içerik atanır. Daha önce, NUMBER02 içeriği 5.56 idi; şimdi 7.56 olur.

24. Satır
RESULT_ADDITION alanına NUMBER01 artı NUMBER02 işleminin sonucunu atanır. (Bu, 5.56 + 7.56 dır ve 13.12'ye eşittir)

25. Satır
NUMBER01 ve NUMBER02'nin çıkarma sonucu negatif 2 sayısıdır. Bu sayı RESULT_SUBTRACTION sonuç alanında 2.00- değeri ile temsil edilmektedir. (Sayının eksi işaretinden önce geldiği notasyonu kullanıyoruz çünkü ABAP Debugger ve liste ekranlarının her ikisinde de sistem negatif sayıları bu şekilde gösterir.)

26. Satır
NUMBER01 değeri şimdi 5.56 ve NUMBER02 değeri 7.56 olduğundan, bu iki değerin çarpılması ve çıkan rakamın iki ondalık basamağa yuvarlanması sonucu 42.03 olur.

27. Satır
7.56'nın 5.56'ya bölünmesi ve çıkan rakamın yuvarlanması sonucu 1.36 olur. Aynı zamanda, bu RESULT_DIVISION_EXACT alanının yeni içeriğidir.

28. Satır
Tam sayılardan oluşan bölme işleminin sonucu 1.00 olur. Biçimlendirme nedeniyle, aslında gereksiz olan ondalık basamak buraya dahil edilmiştir.

29. Satır
Tam sayılardan oluşan bölme işleminin kalanı 2.00 olur. Bu değer RESULT_DIVISION_REST alanına kopyalanır.

31. Satır
Çıktıları hazırlayacağımız bölüm bu satırda başlar.

32-39. Satırlar
WRITE ifadesi yeni bir satırın 1. sütununda sabit metin ve ardından bir boşluk karakteri ile değişkenin içeriğini çıktı olarak sunar. WRITE ifadesi zincir ifade (chain statement) olarak yazılmıştır ve aslında 16 ayrı WRITE ifadesi içerir. WRITE komutundan sonra iki nokta üst üste gelir ve her bir ifade virgül ile ayrılır. Zincir ifadenin sadece son ifadesi nokta ile sona erer.

Raporu tarif edildiği gibi düzenleyip, kaydedip, kontrolleri yapıp, aktive ettikten sonra çalıştırabilirsiniz. Liste ekranı Şekil 1'de gösterildiği gibi görünmelidir.
Şekil 1. Temel Aritmetik İşlemler İçin Program Çıktısı
Her şey yapı ve mantık olarak doğrudur ancak çok estetik değildir. Her satırın başındaki sabit metnin uzunluğu farklı olduğu için, çıktı değişkenleri farklı sütunlarda bulunmaktadır. Bu nedenle, son aşamada sütun dağılımını değiştirmekle ilgileneceğiz.

Geliştirilmiş Liste Formatı

Bu küçük sorunu WRITE komutuna ilgili değişkenin çıktısını nerede (yani, satırın hangi konumunda) sunması gerektiğini söyleyerek çözebilirsiniz. Eğer değişkenin çıktısını 30. sütundan itibaren istiyorsanız, sayfanın başındaki kod'da satır 32'yi aşağıdaki şekilde değiştirmeniz gerekir:

WRITE: / 'number01', 30 number01.

Yapmanız gereken tek şey yazdırılan satırın sütun konumunu söz konusu değişkenin hemen önünde belirtmektir. Sütun konumu ve değişken arasında en az bir boş karakter olması gerektiğini unutmayın.
  • [message]
    • Karmaşık Listeler
      • Diğer satıları da aynı şekilde her ilgili değişkenin önüne çıktı pozisyonunun ekleyerek düzenleyebilirsiniz. Çıktı listeleri kısaysa ve çok karmaşık değilse, bu işlem kullanışlıdır. Ancak, liste daha karmaşık ise başka bir yöntem deneyebilirsiniz: Veri bildirimlerinde LIKE ile yapılan referans bildirimi hatırlayın.
Çıktı konumu ile ilgili başka bir nesneye başvurabilirsiniz. Bunun için sadece diğer değişkenin pozisyonunu refere edersiniz. Eğer öncü değişkenin konumu değişirse, sonrasında onu refere eden tüm diğer değişkenler buna göre değişecektir. WRITE komutu ile biçimlendirme seçeneği olan UNDER kullanmanız gerekir. 33-39. satırları şu şekilde düzenleyiniz:

33 / 'number02', number02 UNDER number01,
34 / 'result_addition:', result_addition UNDER number01,
35 / 'result_subtraction:', result_subtraction UNDER number01,
36 / 'result_multiplication:', result_multiplication UNDER number01,
37 / 'result_division_exact:', result_division_exact UNDER number01,
38 / 'result_division_integer:', result_division_integer UNDER number01,
39 / 'result_division_rest:', result_division_rest UNDER number01.

Raporu kaydedip, kontrolleri yapıp, aktive ettikten sonra çalıştırabilirsiniz. Liste ekranı Şekil 2'de gösterildiği gibi görünmelidir.
Şekil 2. Sütun Halinde Çıktı Görünümü

YORUM

Ad

/N/SAPTR/KDVB,1,AB03,1,AB08,1,ABAP,24,ABAVN,1,AFAB,1,AR02,1,AR03,1,AS01,1,AS02,2,AS03,1,AS11,1,AW01N,1,CO Kullanıcı,1,CO Uyarlama,1,CONCATENATE,1,CONDENSE,1,e-book,3,EC01,1,Excel,3,F-02,7,F-22,1,F-32,1,F-43,1,F-44,1,F-90,1,F-92,1,F110,2,FAGLL03,1,FB01,1,FB02,1,FB03,2,FB08,2,FB50,1,FB60,3,FB70,2,FBCJ,8,FBCJ3,1,FBCJC0,1,FBCJC1,1,FBCJC2,1,FBKP,1,FBL1N,3,FBL3N,1,FBL5N,4,FBN1,1,FBRA,2,FBV0,2,FBV2,1,FBV3,1,FBZP,1,FD01,1,FD08,1,FD09,1,FGI3,1,FI Kullanıcı,73,FI Uyarlama,41,FI01,1,FICO,1,FIT_DUE_DATE_SEL,1,FK01,1,FK02,1,FK08,1,FK09,1,FK10N,1,FS00,2,FS10N,1,FTXP,1,Gallery,4,LSMW,1,MIRO,2,Muhasebe,1,Nasıl,10,OB05,1,OB13,2,OB16,1,OB22,1,OB29,2,OB37,1,OB40,1,OB41,1,OB45,1,OB52,2,OB53,1,OB62,1,OB96,1,OBA0,1,OBA3,1,OBA4,1,OBA7,2,OBAR,1,OBAS,2,OBB8,1,OBB9,1,OBBO,1,OBBP,1,OBBU,1,OBC4,2,OBC5,1,OBCL,1,OBD2,1,OBD3,1,OBD4,1,OBWS,1,OBWW,1,OBXR,1,OBXT,1,OBXY,1,OBY6,1,OBYM,1,OBYN,1,OBYR,1,OKB2,1,OKB3,1,OLMRLIST,1,OX03,1,OX15,1,PFCG,1,REPLACE,1,S_ALR_87010175,1,S_ALR_87011965,1,S_ALR_87011990,1,S_ALR_87012004,1,S_ALR_87012050,1,S_ALR_87012052,1,S_ALR_87012082,1,S_ALR_87012090,1,S_ALR_87012172,1,S_ALR_87012183,1,S_ALR_87012357,1,SAP,3,SE11,5,SE38,6,SE71,1,SHCD,1,SHIFT,1,SKIP,1,SM30,1,SM35,1,SPLIT,1,Stopaj,3,ULINE,1,VN01,1,VOFA,1,WRITE,1,XD01,1,XDN1,1,XKN1,1,
ltr
item
SAP Muhasebe: Alanlar ve Hesaplamalar İçin Örnek Kod
Alanlar ve Hesaplamalar İçin Örnek Kod
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEr0NOPTpILo8XIlkL7iJqXXOrWokNQ_c78zTibRZcLqP1DjF-JUYWFOxRkFG0MSrInCR1UI1SaU1elCH7ta_buvOgyzkuylNXQqnkqvk1vfGmH2QCNYvNhCxPq1Wm7mpWYTDDodLe4YI/s1600/Depositphotos_162797866_m-2015.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEr0NOPTpILo8XIlkL7iJqXXOrWokNQ_c78zTibRZcLqP1DjF-JUYWFOxRkFG0MSrInCR1UI1SaU1elCH7ta_buvOgyzkuylNXQqnkqvk1vfGmH2QCNYvNhCxPq1Wm7mpWYTDDodLe4YI/s72-c/Depositphotos_162797866_m-2015.jpg
SAP Muhasebe
https://www.sapmuhasebe.com/2017/11/alanlar-ve-hesaplamalar-icin-ornek-kod.html
https://www.sapmuhasebe.com/
https://www.sapmuhasebe.com/
https://www.sapmuhasebe.com/2017/11/alanlar-ve-hesaplamalar-icin-ornek-kod.html
true
2532429962024234885
UTF-8
Loaded All Posts Not found any posts TÜMÜNÜ GÖSTER Devamı Yanıtla Cancel reply Sil By Ana Sayfa SAYFALAR KAYITLAR Tümünü Göster BENZER YAYINLAR ETİKET ARŞİV SEARCH TÜM KAYITLAR İsteğinize Uygun Kayıt Bulunamadı Ana Sayfaya Dön Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi Paz Pzt Sal Çrş Prş Cum Cmt Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık Oca Şub Mar Nis Mayıs Haz Tem Ağu Eyl Eki Kas Ara az önce 1 dakika önce $$1$$ minutes ago 1 saat önce $$1$$ hours ago Dün $$1$$ days ago $$1$$ weeks ago 5 haftadan fazla Takipçiler Takip Et THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content