碰到这样一个需求,从文件读到的某个时间数据是: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.