二维码

[基础语法] ABAP CHECK, EXIT, RETURN, LEAVE PROGRAM 用法

SIMON发表于 2016-10-14 11:18SIMON 最后回复于 2016-10-14 11:18 [复制链接] 3065 0

  1. TYPES:BEGIN OF ty_data,
  2.   num1 TYPE i,
  3.   num2 TYPE i,
  4.   END OF ty_data.
  5. DATA: gt_data TYPE STANDARD TABLE OF ty_data,
  6.       gs_data TYPE ty_data.
  7. DATA: the_index TYPE i .

  8. CLEAR gt_data[].
  9. CLEAR gs_data.
  10. CLEAR the_index.
  11. "赋值
  12. DO 10 TIMES.
  13.   the_index = the_index + 1 .
  14.   gs_data-num1 = the_index .
  15.   gs_data-num2 = the_index * the_index.
  16.   APPEND gs_data TO gt_data .
  17.   CLEAR gs_data .
  18. ENDDO.
  19. *IF sy-uname = 'HAND.CXM'.
  20. *  BREAK-POINT.
  21. *ENDIF.
  22. LOOP AT gt_data INTO gs_data.

  23. *    CHECK sy-tabix = 4."当表达式值为假(false)时,CHECK发生作用 ,即只输出4

  24.   IF sy-tabix = 3."3 是没有输出的
  25.     CONTINUE.     "直接结束当前循环,跳到下个循环,IF后面的语句不执行
  26.   ENDIF.
  27.   IF sy-tabix = 6."3 是没有输出的
  28.     EXIT.         "直接结束循环,后面的循环不执行,后面的语句也不执行
  29.   ENDIF.
  30.   WRITE:/ gs_data-num1 .
  31. ENDLOOP.
复制代码

补充:
  • EXIT
    如果出现在循环之外,退出的是当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,其作用与RETURN类似
  • RETURN
    用来退出当前执行的程序块(processing block),例如一个FORM,METHOD,或EVENT,不管是否出现在循环(LOOP)中,RETURN都会退出当前执行的程序块,而不仅仅是退出循环。
    虽然ABAP中EXIT 和RETURN都可以用来实现退出当前执行的语句块(PROCESSING BLOCK),但SAP的帮助文件建议只在循环中使用EXIT ,其他情况下要退出当前执行进程,使用RETURN 。
  • LEAVE PROGRAM.  
    直接退出主程序
回复

使用道具 举报

SIMON

SAP初级小粉

  1. 1 主题
  2. 11 回帖
  3. 119 积分

Ta最近发表

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表