SAP ABAP 判斷字符串是否能轉成整數、小數、其他字符串

FUNCTION zhy_fm_check_dic.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(INPUT) TYPE  STRING
*"  EXPORTING
*"     VALUE(E_TYPE) TYPE  ZSTR_TYPE
*"  EXCEPTIONS
*"      NO_INPUT
*"----------------------------------------------------------------------

  DATA lv_str TYPE string.

  lv_str = input.

  IF lv_str IS INITIAL .
    RAISE no_input.
  ENDIF.

  CHECK NOT lv_str IS INITIAL .

  IF lv_str CA ' '.
    e_type = 'O'.
  ENDIF.

  CHECK NOT lv_str CA ' '.

  IF lv_str = '0'.
    e_type = 'I'.
  ENDIF.

  CHECK NOT lv_str = '0'.

  IF lv_str CO '0123456789'.
    "純數字
    IF lv_str+0(1) = '0'.
      "零開頭的純數字
      e_type = 'O'.
    ELSE.
      "非0開頭的純數字字符串 = 整數
      e_type = 'I'.
    ENDIF.

  ELSE.

    IF lv_str CO '0123456789.'.

      IF lv_str+0(1) = '.'.
        ".開頭的純數字
        e_type = 'O'.
      ELSE.
        "小數
        e_type = 'D'.
      ENDIF.

    ELSE.
      e_type = 'O'.
    ENDIF.

  ENDIF.
ENDFUNCTION.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章