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.