2005 Sep 08 4:51 PM
hi all,
i am using the function module SO_NEW_DOCUMENT_SEND_API1 to send the mail. this function module is working properly but the problem is it can hold the content up to 250 characters only. if i want to send more than 250 char what to do. i also want to apply the font to the text, is it possible.
thanks
suresh
2005 Sep 08 4:54 PM
To apply a font to the text you will have to do it in HTML format.
report zrich_0002.
data: maildata like sodocchgi1.
data: mailtxt like solisti1 occurs 10 with header line.
data: mailrec like somlrec90 occurs 0 with header line.
start-of-selection.
clear: maildata, mailtxt, mailrec.
refresh: mailtxt, mailrec.
perform build_text_message.
perform build_receivers.
perform send_mail_nodialog..
************************************************************************
* Form BUILD_TEXT_MESSAGE
************************************************************************
form build_text_message.
maildata-obj_name = 'TEST'.
maildata-obj_descr = 'Test Subject'.
mailtxt = '<html>'.
append mailtxt.
mailtxt = '<head>'.
append mailtxt.
mailtxt = '<title>Untitled Document</title>'.
append mailtxt.
mailtxt = '<meta http-equiv="Content-Type" content="text/html;'.
append mailtxt.
mailtxt = 'charset=iso-8859-1">'.
append mailtxt.
mailtxt = '</head>'.
append mailtxt.
mailtxt = '<body>'.
append mailtxt.
mailtxt = '<div align="center"><em><font' .
append mailtxt.
mailtxt = 'color="#0000FF" size="+7" face="Arial,'.
append mailtxt.
mailtxt = 'Helvetica, sans-serif">THIS'.
append mailtxt.
mailtxt = ' IS A TEST </font></em><font' .
append mailtxt.
mailtxt = 'color="#0000FF" size="+7" face="Arial,'.
append mailtxt.
mailtxt = 'Helvetica, sans-serif"></font>'.
append mailtxt.
mailtxt = '</div>'.
append mailtxt.
mailtxt = '</body>'.
append mailtxt.
mailtxt = '</html>'.
append mailtxt.
endform.
************************************************************************
* Form BUILD_RECEIVERS
************************************************************************
form build_receivers.
* mailrec-receiver = 'rich.heilman@company.com'.
mailrec-rec_type = 'U'.
append mailrec.
endform.
************************************************************************
* Form SEND_MAIL_NODIALOG
************************************************************************
form send_mail_nodialog.
call function 'SO_NEW_DOCUMENT_SEND_API1'
exporting
document_data = maildata
document_type = 'HTM'
put_in_outbox = 'X'
tables
object_header = mailtxt
object_content = mailtxt
receivers = mailrec
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 ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform.
2005 Sep 08 5:05 PM
To avoid problems with the line lenght, consider building your HTML content of the Mail a single continues string.
data html type string.
html = me->build_html_header( ).
* Create document
concatenate html '<h1>' 'Message from:'(s18) ` ` sy-sysid
'</h1><br>'
into html.
...
Then at the end convert the string into an internal table of the structure that the send API expects:
concatenate html `</td></tr></table></body></html>` into html.
call function 'SCMS_STRING_TO_FTEXT'
exporting
text = html
tables
ftext_tab = <wa_doc>-content_text.
Because this removes extra spaces at the end of each line in your content table (everything is ran together), this makes the resulting HTML email smaller.