CONVERT_DATE_TO_INTERNAL - ooxxvv/MySAPnotes GitHub Wiki
CONVERT_DATE_TO_INTERNAL
-
將日期字串 (例:12/30/2006) 轉成日期變數 (例:20061230)
-
也可用來判斷字串是否為日期
-
類似函數
EXPORTING
- DATE_EXTERNAL => 日期字串
- 要使用和 user profile 中相同格式的字串,否則會出現錯誤
- 日期要正確,否則會出現錯誤
IMPORTING
TABLES
EXCEPTIONS
Attributes
Methods
Code
呼叫範例程式碼
DATA: l_date LIKE syst-datum,
l_date_str(10) TYPE c.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = l_date_str
IMPORTING
date_internal = l_date
EXCEPTIONS
date_external_is_invalid = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
判斷傳入的字串是否為日期範例碼
*&---------------------------------------------------------------------*
*& Form CHECK_DATE_INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM check_date_input USING fi_input
CHANGING fo_date
fo_message.
DATA: l_date_str(10) TYPE c,
l_date TYPE d.
*-將字串轉成日期變數
l_date = fi_input.
*-將日期變數成 User Profile 的格式
WRITE l_date TO l_date_str.
*-呼叫字串轉日期的參數
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = l_date_str
IMPORTING
date_internal = l_date
EXCEPTIONS
date_external_is_invalid = 1
OTHERS = 2.
*-判斷傳回值
IF sy-subrc NE 0.
fo_message = 'Format error'.
ELSE.
fo_message = space.
fo_date = l_date.
ENDIF.
ENDFORM. " CHECK_DATE_INPUT