SAP ABAP - Nested Loop حلقات التكرار المتداخلة او المركبة

 SAP ABAP - Nested Loop حلقات التكرار المتداخلة او المركبة

SAP ABAP - Nested Loop حلقات التكرار المتداخلة او المركبة


SAP ABAP - Nested Loop حلقات التكرار المتداخلة او المركبة

يمكن اختبار عبارات DO و WHILE بالإضافة إلى دمجها مع نماذج الحلقة الأخرى. سيكون لكل حلقة متداخلة SY-INDEX الخاصة بها والتي تم إنشاؤها ومراقبتها بواسطة النظام.

بناء الجملة

صيغة حلقة DO المتداخلة هي -

DO [n TIMES]. 
<statement block n>. 
   DO [m TIMES]. 
   <statement block m>. 
   ENDDO. 
ENDDO.

مثال

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. 
ENDDo

ينتج الكود أعلاه الناتج التالي -

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

في هذا المثال ، تتم معالجة حلقة DO الخارجية مرتين ويتم معالجة حلقة DO الداخلية 10 مرات ، في كل مرة تتم معالجة حلقة DO الخارجية. لذلك في هذه الحالة ، تتم معالجة الحلقة الداخلية 20 مرة.