09-19-2007 4:33 PM
Hi all,,
I have an ABAP program where i could send mails to the recipients.
But the recipients are able to receive the content of the mails only in attached pdf format.
But could not get into the body of the mail.
I had passed packing_list-Document type = 'RAW' in in so_document_send_API1
What should i need to do in the settings..
will be awarded..
09-19-2007 4:40 PM
Hi Naveena,
given below is a sample code to send mail with both body and an attachment.
pack-doc_type is RAW for sending the body.
vérifier qu'une adresse a été rentrée
CHECK NOT s_execut IS INITIAL.
Zone objet du mail
CLEAR str_docdata.
str_docdata-obj_name = text-m01.
str_docdata-obj_descr = text-m03.
Alim table des destinataires
LOOP AT s_execut.
tbl_dest-rec_type = 'U'.
tbl_dest-receiver = s_execut-low.
APPEND tbl_dest.
CLEAR tbl_dest.
ENDLOOP.
Alim tbl_text pour corps du mail
"ne pas répondre"
CLEAR tbl_text.
REFRESH tbl_text.
tbl_text-line = text-m02.
APPEND tbl_text.
CLEAR tbl_text.
saut de ligne
APPEND tbl_text.
nb de lignes lues / en anomalie / qui seront dans le corps du texte
WRITE p_filpar TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr1 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
WRITE p_filali TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr1 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
WRITE p_recycl TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr2 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
WRITE w_enr_10 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr3 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
WRITE w_enr_20 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr4 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
APPEND tbl_text.
WRITE text-cr5 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
APPEND tbl_text.
CLEAR tbl_text.
CLEAR w_lines.
DESCRIBE TABLE tbl_text LINES w_lines.
CLEAR tbl_pack.
REFRESH tbl_pack.
tbl_pack-head_start = 1.
tbl_pack-head_num = 0.
tbl_pack-body_start = 1.
tbl_pack-body_num = w_lines.
tbl_pack-doc_type = 'RAW'.
tbl_pack-obj_name = text-m01. "Program name
tbl_pack-doc_size = ( w_lines - 1 ) * 255 + STRLEN( tbl_text-line ).
APPEND tbl_pack.
Alim tbl_text pour pièce jointe
- en-tête des colonnes
CLEAR tbl_text.
CONCATENATE text-ti1 text-ti2 text-ti3 text-ti4
kst_retours
INTO tbl_text-line SEPARATED BY ';'.
APPEND tbl_text.
contenu des colonnes
LOOP AT tbl_compte_rendu.
CLEAR tbl_text.
CONDENSE tbl_compte_rendu-text1.
CONCATENATE tbl_compte_rendu-text1
tbl_compte_rendu-text2
tbl_compte_rendu-text3
tbl_compte_rendu-text4
tbl_compte_rendu-text5
tbl_compte_rendu-text6
kst_retours
INTO tbl_text-line SEPARATED BY ';'.
APPEND tbl_text.
ENDLOOP.
DESCRIBE TABLE tbl_text LINES w_lines2.
CLEAR tbl_pack.
tbl_pack-head_start = 1.
tbl_pack-head_num = 0.
tbl_pack-body_start = w_lines + 1.
tbl_pack-body_num = w_lines + w_lines2.
tbl_pack-doc_type = 'CSV'.
tbl_pack-obj_name = text-m07.
tbl_pack-obj_descr = text-m08.
tbl_pack-doc_size = ( w_lines2 - 1 ) * 255
+ STRLEN( tbl_text-line ).
APPEND tbl_pack.
Envoi du mail
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = str_docdata
put_in_outbox = space
commit_work = 'X'
TABLES
packing_list = tbl_pack
contents_txt = tbl_text
receivers = tbl_dest
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.
Message was edited by:
Alvaro Tejada Galindo
09-19-2007 4:40 PM
Hi Naveena,
given below is a sample code to send mail with both body and an attachment.
pack-doc_type is RAW for sending the body.
vérifier qu'une adresse a été rentrée
CHECK NOT s_execut IS INITIAL.
Zone objet du mail
CLEAR str_docdata.
str_docdata-obj_name = text-m01.
str_docdata-obj_descr = text-m03.
Alim table des destinataires
LOOP AT s_execut.
tbl_dest-rec_type = 'U'.
tbl_dest-receiver = s_execut-low.
APPEND tbl_dest.
CLEAR tbl_dest.
ENDLOOP.
Alim tbl_text pour corps du mail
"ne pas répondre"
CLEAR tbl_text.
REFRESH tbl_text.
tbl_text-line = text-m02.
APPEND tbl_text.
CLEAR tbl_text.
saut de ligne
APPEND tbl_text.
nb de lignes lues / en anomalie / qui seront dans le corps du texte
WRITE p_filpar TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr1 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
WRITE p_filali TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr1 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
WRITE p_recycl TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr2 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
WRITE w_enr_10 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr3 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
WRITE w_enr_20 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
IF tbl_text-line IS INITIAL.
tbl_text-line = '0'.
ENDIF.
CONCATENATE text-cr4 tbl_text-line INTO tbl_text-line
SEPARATED BY space.
APPEND tbl_text.
CLEAR tbl_text.
APPEND tbl_text.
WRITE text-cr5 TO tbl_text-line NO-ZERO LEFT-JUSTIFIED.
APPEND tbl_text.
CLEAR tbl_text.
CLEAR w_lines.
DESCRIBE TABLE tbl_text LINES w_lines.
CLEAR tbl_pack.
REFRESH tbl_pack.
tbl_pack-head_start = 1.
tbl_pack-head_num = 0.
tbl_pack-body_start = 1.
tbl_pack-body_num = w_lines.
tbl_pack-doc_type = 'RAW'.
tbl_pack-obj_name = text-m01. "Program name
tbl_pack-doc_size = ( w_lines - 1 ) * 255 + STRLEN( tbl_text-line ).
APPEND tbl_pack.
Alim tbl_text pour pièce jointe
- en-tête des colonnes
CLEAR tbl_text.
CONCATENATE text-ti1 text-ti2 text-ti3 text-ti4
kst_retours
INTO tbl_text-line SEPARATED BY ';'.
APPEND tbl_text.
contenu des colonnes
LOOP AT tbl_compte_rendu.
CLEAR tbl_text.
CONDENSE tbl_compte_rendu-text1.
CONCATENATE tbl_compte_rendu-text1
tbl_compte_rendu-text2
tbl_compte_rendu-text3
tbl_compte_rendu-text4
tbl_compte_rendu-text5
tbl_compte_rendu-text6
kst_retours
INTO tbl_text-line SEPARATED BY ';'.
APPEND tbl_text.
ENDLOOP.
DESCRIBE TABLE tbl_text LINES w_lines2.
CLEAR tbl_pack.
tbl_pack-head_start = 1.
tbl_pack-head_num = 0.
tbl_pack-body_start = w_lines + 1.
tbl_pack-body_num = w_lines + w_lines2.
tbl_pack-doc_type = 'CSV'.
tbl_pack-obj_name = text-m07.
tbl_pack-obj_descr = text-m08.
tbl_pack-doc_size = ( w_lines2 - 1 ) * 255
+ STRLEN( tbl_text-line ).
APPEND tbl_pack.
Envoi du mail
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = str_docdata
put_in_outbox = space
commit_work = 'X'
TABLES
packing_list = tbl_pack
contents_txt = tbl_text
receivers = tbl_dest
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.
Message was edited by:
Alvaro Tejada Galindo