碰到这样一个需求,从文件读到的某个时间数据是:12:02:03;4:5:6;现在我要根据这个字段排序,发现按照升序排列4:5:6排到了12:02:03后面,实际上我要4:5:6排到前面,所以我必须要将该字段转换成一个内部的时间格式,找到了这个function :CONVERT_TIME_INPUT可以干这件事

 

看实例:

DATA: g_data(8) TYPE c,
      g_time TYPE sy-uzeit,
      g_hhmmss(6) type c.

g_data = '8:15:1'.

START-OF-SELECTION.
  CALL FUNCTION 'CONVERT_TIME_INPUT'
    EXPORTING
      input                     = g_data
    IMPORTING
      output                    = g_time
    EXCEPTIONS
      plausibility_check_failed = 1
      wrong_format_in_input     = 2
      OTHERS                    = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ELSE.
    g_hhmmss = g_time.
    WRITE: g_hhmmss.
  ENDIF.