i have done a mailing a pdf as mail i am able to down load a file in to the systam which is perfect but i am not able to send the mail can any one tell me whats the problem in this and guide me if there is any problem.
CALL FUNCTION 'GUI_FILE_SAVE_DIALOG'
EXPORTING
WINDOW_TITLE = 'Save as'
DEFAULT_EXTENSION = 'PDF'
DEFAULT_FILE_NAME = W_FNAME
WITH_ENCODING =
FILE_FILTER =
INITIAL_DIRECTORY =
DEFAULT_ENCODING =
IMPORTING
FILENAME = W_FNAME
PATH =
FULLPATH =
USER_ACTION = v_action
FILE_ENCODING =
.
if v_action = '9'.
exit.
endif.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = W_BIN_SIZE
FILENAME = W_FNAME
FILETYPE = 'BIN' "'ASC'
IMPORTING
FILELENGTH = V_FILESIZE
TABLES
DATA_TAB = T_PDF_TAB
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22 .
IF SY-SUBRC <> 0.
MESSAGE 'File not downloaded succesfully' TYPE 'E'.
ELSE.
CONCATENATE 'File : ' W_FNAME 'downloaded succesfully ' INTO MSG1.
MESSAGE MSG1 TYPE 'I'.
ENDIF.
*********************************************************
data : GD_DOC_DATA type SODOCCHGI1.
data : LT_MAILPACK type standard table of SOPCKLSTI1.
data : LA_MAILPACK type SOPCKLSTI1.
data : LT_OBJTXT type STANDARD TABLE OF SOMLRECI1 WITH HEADER LINE.
DATA:LF_LINES TYPE I.
DATA LV_OUTPUT TYPE SDOKCNTBINS WITH HEADER LINE.
*DATA LV_OUTPUT TYPE standard table of SOLISTI1 .
data pdf_file type XSTRING.
DATA: IT_RECEIVERS TYPE STANDARD TABLE OF SOMLRECI1 WITH HEADER
LINE.
data iv_mailid type AD_SMTPADR.
move W_FNAME to pdf_file.
Data : w_buffer TYPE string.
*data : i_record LIKE solisti1 OCCURS 0
*WITH HEADER LINE.
data : i_record LIKE solisti1 OCCURS 0
WITH HEADER LINE.
data : s_record LIKE solisti1 OCCURS 0
WITH HEADER LINE.
*
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
BUFFER = pdf_file "PDF file from function module
TABLES
BINARY_TAB = LV_OUTPUT.
*
DESCRIBE TABLE LV_OUTPUT LINES LF_LINES.
loop at T_PDF_TAB.
*TRANSLATE T_PDF_TAB USING '~'.
CONCATENATE w_buffer T_PDF_TAB INTO w_buffer.
endloop.
*TRANSLATE w_buffer USING '~ '.
DO.
i_record = w_buffer.
APPEND i_record.
SHIFT w_buffer LEFT BY 255 PLACES.
IF w_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
s_record[] = i_record[].
*DESCRIBE TABLE T_PDF_TAB LINES LF_LINES.
select single SMTP_ADDR from ADR6 into iv_mailid where ADDRNUMBER =
IV_ADDNR_VENDOR.
DATA:LT_OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
MOVE 'Email sent to you from SAP' TO LT_OBJTXT.
APPEND LT_OBJTXT.
GD_DOC_DATA-OBJ_DESCR = 'PDF'.
GD_DOC_DATA-OBJ_NAME = 'PDFMail'.
GD_DOC_DATA-OBJ_DESCR = 'PDF'.
GD_DOC_DATA-SENSITIVTY = 'O'.
GD_DOC_DATA-EXPIRY_DAT = SY-DATUM + 15.
GD_DOC_DATA-DOC_SIZE = STRLEN( LT_OBJTXT ).
CLEAR LA_MAILPACK.
LA_MAILPACK-HEAD_START = 1.
LA_MAILPACK-HEAD_NUM = 0.
LA_MAILPACK-BODY_START = 1.
LA_MAILPACK-BODY_NUM = 1.
LA_MAILPACK-DOC_TYPE = 'RAW'.
LA_MAILPACK-DOC_SIZE = STRLEN( LT_OBJTXT ).
APPEND LA_MAILPACK TO LT_MAILPACK.
CLEAR LA_MAILPACK.
LA_MAILPACK-TRANSF_BIN = ''.
LA_MAILPACK-HEAD_START = 1.
LA_MAILPACK-HEAD_NUM = 1.
LA_MAILPACK-BODY_START = 1.
LA_MAILPACK-DOC_TYPE = 'PDF'.
LA_MAILPACK-BODY_NUM = LF_LINES.
LA_MAILPACK-DOC_SIZE = LF_LINES * 255.
LA_MAILPACK-OBJ_DESCR = 'Open'.
LA_MAILPACK-OBJ_NAME = 'MAIL'.
APPEND LA_MAILPACK TO LT_MAILPACK.
IT_RECEIVERS-RECEIVER = iv_mailid.
IT_RECEIVERS-REC_TYPE = 'U'.
APPEND IT_RECEIVERS.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = GD_DOC_DATA
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
IMPORTING
SENT_TO_ALL =
NEW_OBJECT_ID =
TABLES
PACKING_LIST = LT_MAILPACK
OBJECT_HEADER =
CONTENTS_BIN = s_record
CONTENTS_TXT = LT_OBJTXT
CONTENTS_HEX = LV_OUTPUT
CONTENTS_HEX = s_record
OBJECT_PARA =
OBJECT_PARB =
RECEIVERS = IT_RECEIVERS
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
MESSAGE 'Mail was not sent' type 'E'.
else.
MESSAGE 'Mail was sent Succesfully' type 'S'.
ENDIF.
thanks and regards ,
venkat.