FUNCTION zupd_fm.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_IN)
*" VALUE(I_UNAME) TYPE UNAME OPTIONAL
*" VALUE(I_COUNTRY) LIKE T005X-LAND OPTIONAL
*" EXPORTING
*" REFERENCE(E_OUT)
*" REFERENCE(E_DCPFM) TYPE XUDCPFM
*" EXCEPTIONS
*" USER_NAME_NOT_EXIST
*" UNABLE_CONVERT_AS_NUMBER
*" COUNTRY_NOT_FOUND
*"----------------------------------------------------------------------
DATA: lw_usdefaults TYPE usdefaults,
lv_sign LIKE usr01-dcpfm,
lv_form LIKE usr01-datfm,
lv_re TYPE c.
IF i_in CO '0123456789,. '.
ELSE.
RAISE unable_convert_as_number.
ENDIF.
IF i_country IS NOT INITIAL.
CALL FUNCTION 'C14N_COUNTRY_DATE_DECF_GET'
EXPORTING
i_country = i_country
IMPORTING
e_deci_sign = lv_sign
e_date_form = lv_form
EXCEPTIONS
country_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
RAISE country_not_found.
ENDIF.
e_dcpfm = lv_sign.
ELSE.
IF i_uname IS INITIAL.
i_uname = sy-uname.
ENDIF.
CALL FUNCTION 'SUSR_USER_DEFAULTS_GET'
EXPORTING
user_name = i_uname
IMPORTING
user_defaults = lw_usdefaults
EXCEPTIONS
user_name_not_exist = 1
OTHERS = 2.
IF sy-subrc <> 0.
RAISE user_name_not_exist.
ENDIF.
e_dcpfm = lw_usdefaults-dcpfm.
ENDIF.
CASE e_dcpfm.
WHEN 'X'.
TRANSLATE i_in USING ', '.
CONDENSE i_in NO-GAPS.
WHEN 'Y'.
TRANSLATE i_in USING ',.'.
CONDENSE i_in NO-GAPS.
WHEN ' '.
TRANSLATE i_in USING '. '.
TRANSLATE i_in USING ',.'.
CONDENSE i_in NO-GAPS.
WHEN OTHERS.
ENDCASE.
MOVE i_in TO e_out.
ENDFUNCTION.
相关函数组:SUU1,C14N。