SAP ABAP - If...Else Statement الجملة الشرطية إذا واذا لو في ساب

 SAP ABAP - If...Else Statement الجملة الشرطية إذا واذا لو في ساب

SAP ABAP - If...Else Statement الجملة الشرطية إذا واذا لو في ساب

SAP ABAP - If...Else Statement الجملة الشرطية إذا واذا لو في ساب

في حالة عبارات IF… .ELSE ، إذا كان تقييم التعبير صحيحًا ، فسيتم تنفيذ كتلة IF من الكود. خلاف ذلك ، سيتم تنفيذ كتلة أخرى من التعليمات البرمجية.

يتم استخدام بناء الجملة التالي لبيان IF… .ELSE.

IF<condition_1>.  
   <statement block 1>.  
ELSE.   
   <statement block 2>.  
ENDIF.

مخطط تدفق

بيان آخر

مثال

Report YH_SEP_15.
  
Data Title_1(20) TYPE C.  
     Title_1 = 'Tutorials'.
	
IF Title_1 = 'Tutorial'.  
   write 'This is IF Statement'.  
ELSE.  
   write 'This is ELSE Statement'.
  
ENDIF.

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

This is ELSE Statement.

إذا… .ELSEIF…. بيان آخر

في بعض الأحيان ، قد يؤدي تداخل عبارات IF إلى صعوبة فهم الشفرة. في مثل هذه الحالات ، يتم استخدام عبارة ELSEIF لتجنب تداخل جملة IF.

عند استخدام عبارات IF و ELSEIF و ELSE ، هناك بعض النقاط التي يجب مراعاتها -

  • يمكن أن تحتوي عبارة IF على صفر أو عبارة ELSE واحدة ويجب أن تأتي بعد أي عبارة ELSEIF.

  • يمكن أن تحتوي عبارة IF على صفر للعديد من عبارات ELSEIF ويجب أن تأتي قبل عبارة ELSE.

  • إذا نجحت جملة ELSEIF ، فلن يتم اختبار أي من عبارات ELSEIF المتبقية أو بيان ELSE.

يتم استخدام الصيغة التالية لعبارة IF .... ELSEIF… .ELSE.

IF<condition_1>.
  
<statement block 1>.
  
ELSEIF<condition_2>.
  
<statement block 2>.
  
ELSEIF<condition_3>. 
 
<statement block 3>. 
...... 
...... 
...... 
...... 
ELSE.
  
<statement block>.  

ENDIF.

في الصيغة أعلاه ، يعتمد تنفيذ كتلة المعالجة على نتيجة شرط منطقي واحد أو أكثر مرتبط بكتلة المعالجة. هنا -

  • يمثل condition_1 من عبارة IF شرطًا منطقيًا يقوم بتقييم حالة صواب أو خطأ.

  • يعرض condition_2 الشرط الثاني المحدد في جملة ELSEIF ، والذي يتم تنفيذه عندما يتبين أن شرط جملة IF غير صحيح.

  • يشير ENDIF إلى نهاية كتلة عبارة IF.

مثال

Report YH_SEP_15.  
Data Result TYPE I VALUE 65.  
   IF Result < 0.  
	
Write / 'Result is less than zero'.  
   ELSEIF Result < 70.  
	
Write / 'Result is less than seventy'.  
ELSE.  

Write / 'Result is greater than seventy'.
  
   ENDIF.

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

Result is less than seventy.