Mungkin ada situasi saat Anda perlu melakukan pengulangan kode / Looping. Dalam SAP ABAP, pernyataan dieksekusi secara berurutan: Pernyataan pertama dalam sebuah fungsi dijalankan pertama, diikuti oleh yang kedua, dan seterusnya. Pernyataan loop memungkinkan kita untuk mengeksekusi pernyataan atau kelompok pernyataan beberapa kali dan berikut adalah bentuk umum dari sebuah pernyataan loop di sebagian besar bahasa pemrograman.
Bahasa pemrograman ABAP menyediakan 3 Jenis statement Loop seperti:
Format umum perintah WHILE adalah sebagai berikut:
Blok pernyataan bisa berupa pernyataan tunggal atau satu blok pernyataan. While Loop mengeksekusi pernyataan yang dilampirkan oleh perintah WHILE dan ENDWHILE sampai logical expression menjadi false.
Contoh:
Syntax
'Times' memberlakukan pembatasan jumlah lintasan loop, yang diwakili oleh 'n'. Nilai 'n' tidak boleh negatif atau nol. Jika nol atau negatif, pernyataan dalam loop tidak dapat dieksekusi
Syntax
Dalam contoh ini, loop DO luar diproses dua kali dan loop DO dalam diproses 10 kali, setiap kali loop DO luar diproses. Jadi dalam kasus ini, inner loop diproses 20 kali.
Bahasa pemrograman ABAP menyediakan 3 Jenis statement Loop seperti:
- WHILE loop
- Do loop
- Nested loop
WHILE loop
WHILE loop statement berulang kali mengeksekusi pernyataan target selama kondisi tertentu benar.Format umum perintah WHILE adalah sebagai berikut:
WHILE
.
ENDWHILE.
Blok pernyataan bisa berupa pernyataan tunggal atau satu blok pernyataan. While Loop mengeksekusi pernyataan yang dilampirkan oleh perintah WHILE dan ENDWHILE sampai logical expression menjadi false.
Contoh:
REPORT YS_SEP_15. DATA: a type i. a = 0. WHILE a <> 8. Write: / 'This is the line:', a. a = a + 1.Outpunya adalah
This is the line: 0
This is the line: 1
This is the line: 2
This is the line: 3
This is the line: 4
This is the line: 5
This is the line: 6
This is the line: 7
Do loop
Loop tanpa syarat berulang kali melakukan beberapa pernyataan tanpa menentukan kondisi apapun. Pernyataan DO menerapkan loop tanpa syarat dengan mengeksekusi satu set blok pernyataan beberapa kali tanpa syarat.Syntax
'Times' memberlakukan pembatasan jumlah lintasan loop, yang diwakili oleh 'n'. Nilai 'n' tidak boleh negatif atau nol. Jika nol atau negatif, pernyataan dalam loop tidak dapat dieksekusi
Contoh:
Report YH_SEP_15. Do 15 TIMES. Write: / 'Hello'. ENDDO.Outputnya adalah:
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Hello
Nested loop
Pernyataan DO dan WHILE dapat diuji serta digabungkan dengan bentuk loop lainnya. Setiap nested loop akan memiliki sendiri SY-INDEX yang dibuat dan dipantau oleh sistem.Syntax
DO [n TIMES].
.
DO [m TIMES].
.
ENDDO.
ENDDO.
Contoh:
REPORT YS_SEP_15. Data: a1 type I, b1 type I. a1 = 0. b1 = 0. Do 2 times. a1 = a1 + 1. Write: /'Outer', a1. Do 10 times. b1 = b1 + 1. Write: /'Inner', b1. ENDDo. ENDDoOutputnya adalah:
Outer 1
Inner 1
Inner 2
Inner 3
Inner 4
Inner 5
Inner 6
Inner 7
Inner 8
Inner 9
Inner 10
Outer 2
Inner 11
Inner 12
Inner 13
Inner 14
Inner 15
Inner 16
Inner 17
Inner 18
Inner 19
Inner 20
Dalam contoh ini, loop DO luar diproses dua kali dan loop DO dalam diproses 10 kali, setiap kali loop DO luar diproses. Jadi dalam kasus ini, inner loop diproses 20 kali.
EmoticonEmoticon