ABAP学习(2):控制语句

ABAP控制语句

1分支语句

语法:

     if  ( <比较表达式> ) .

         代码块.

 else.

         代码块.

     endif.

   

    多个else if

    if ( <比较表达式> ).

         代码块.

     elseif ( <比较表达式>).

         代码块.

     else.

         代码块.

     endif.

示例:

"if else语句

Data: ifnum1 type I value 5,

      ifnum2 type I value 100,

      ifnum3 type I value 30,

      ifLarge type I.

 

if ( ifnum1 > ifnum2 ) and ( ifnum1 > ifnum2 ).

   if ifnum1 > ifnum3.

      ifLarge = ifnum1.

   else.

      ifLarge = ifnum3.

   endif.

elseif ifnum2 > ifnum3.

  ifLarge = ifnum2.

else.

  ifLarge = ifnum3.

ENDIF.
View Code

 

语法:case 条件.

         when 条件1.

              代码块.

         when 条件2.

              代码块.

         when others.

              代码块.

       endcase.

示例:

"case when语句

Data:caseNum1 type I value '7'.

case caseNum1.

  when '1'.

    write:/'星期一'.

  when '2'.

    write:/'星期二'.

  when '3'.

    write:/'星期三'.

  when '4'.

    write:/'星期四'.

  when '5'.

    write:/'星期五'.

  when '6'.

    write:/'星期六'.

  when '7'.

    write:/'星期日'.

  when OTHERS.

    write:/'duang'.

ENDCASE .
View Code

 

2循环语句

Do语句:

    语法:do [<数字> times].

            代码块.

  enddo.

可以指定循环次数,也可以不指定,通过代码块内部使用循环退出语句,跳出循环。

 

一些退出关键词:

return:退出当前代码执行块,在循环里,不仅仅跳出循环,循环所在代码块也会结束。

exit:在循环里,仅仅跳出当前循环。不在循环中,退出当前代码执行块。

stop:退出当前代码执行块,和return类似。

check <条件>,条件为假,循环中,跳过本次循环。循环外,跳出当前代码块。

continue:循环中跳过本次循环,继续下一次。

示例:

DO 3 TIMES.

  "check在循环中,条件为假,跳过本次循环

  CHECK sy-index < 2 .

  WRITE:/ 'hello',sy-index.

ENDDO.

 

While语句:

    语法:while <条件>.

            代码块.

          endwhile.

示例:

"while循环

DATA: i type I value 0,

      sum1 type I value 0.

while i <= 100.

  sum1 = sum1 + i.

  i = i + 1.

endwhile.

write:/'0-100求和sum1=',sum1.

 

posted @ 2019-09-28 14:11  渔歌晚唱  阅读(855)  评论(0编辑  收藏  举报