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.
语法: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 .
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.