避免CONVT_NO_NUMBER的Runtime Errors

来源:互联网 发布:网络中的亲社会行为 编辑:程序博客网 时间:2024/05/21 23:33

DATA: pp TYPE p DECIMALS 2.
DATA: cxroot TYPE REF TO cx_root,
      exception_msg(1000),
      msg(1000).

PARAMETERS: str(6) .

**方法1
TRY .
    pp = str.
  CATCH cx_root INTO cxroot.
    msg =  cxroot->get_text( ).
    WRITE:/ msg.
ENDTRY.

**方法2
CATCH SYSTEM-EXCEPTIONS convt_no_number = 1.
  pp = str .
ENDCATCH.
IF sy-subrc <> 0.
  WRITE / 'Error!'.
ENDIF.

**方法3
DATA str_tmp TYPE string .
str_tmp = str.
IF NOT str_tmp CO '0123456789.-'.
  WRITE / 'Err'.
ELSE.
  pp = str_tmp.
ENDIF.

WRITE / pp.

**方法1和方法2不可以在同一个程序使用