use the following code to send the file as an attachment:
---------------uploading file to server
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'c:\test.xls'
FILETYPE = 'BIN'
TABLES
DATA_TAB = T_MAIL
----------------sending email
CREATE OBJECT L_DOCUMENT.
L_DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = 'HTM'
I_SUBJECT = 'Excel File' " L_SUBJECT
I_LENGTH = '1000'
I_LANGUAGE = SY-LANGU
I_IMPORTANCE = '1'
I_TEXT = IT_CONTENTS ).
ATTACH_NAME = FILE_TABLE.
CALL METHOD L_DOCUMENT->ADD_ATTACHMENT
EXPORTING
I_ATTACHMENT_TYPE = 'XLS'
I_ATTACHMENT_SUBJECT = ATTACH_NAME
I_ATT_CONTENT_HEX = MAILHEX.
W_DOCUMENT = CL_BCS=>CREATE_PERSISTENT( ).
CALL METHOD W_DOCUMENT->SET_DOCUMENT( L_DOCUMENT ).
GV_EMAIL = 'abc@gmail.com'.
GR_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( GV_EMAIL ).
CALL METHOD W_DOCUMENT->ADD_RECIPIENT
EXPORTING
I_RECIPIENT = GR_RECIPIENT
I_EXPRESS = 'X'.
CALL METHOD W_DOCUMENT->SEND(
EXPORTING
I_WITH_ERROR_SCREEN = 'X'
RECEIVING
RESULT = L_RESULT ).