10-05-2008 8:01 AM
Hi Expert,
I am working on ECC 6.0 I have requirement to send e-mail with PDF attachement to user.For sending e-mail I am using FM SO_NEW_DOCUMENT_ATT_SEND_API1 in my Z-program .It return Exception DOCUMENT_NOT_SENT.
But same code is working in our old version of ECC 5.0.
What will be the reason???
Thanks
Regards
10-05-2008 8:32 AM
may be SAPconnect settings not configured, check in SCOT , contact your basis to configure SAPconnect.
10-05-2008 9:48 AM
Thanks for reply...SCOT setting already done by our BASIS team.
Is there another possibility???
10-05-2008 10:08 AM
hai,
when object_not_sent.
perform transfer_tab_to_rec tables rec_table
receivers.
raise document_not_sent.
__________________________________________
document notsent is raised when there is problem in destination(receiver)
so check that.
receivers = rec_table.
shan.
10-05-2008 12:24 PM
Hi ,Thanks for reply.
when I debug the function module it's passing proper input parameter field receiver of FM.
Is there any alternate solution for this ???
Thanks
Regards
11-29-2008 8:05 AM
Hi
u said you were able to attach pdf in that function module SO_NEW_DOCUMENT_ATT_SEND_API1
can u help me with that please. i need to send excel file thru email.
when i did that, i dont get proper data at receivers end.
so can u tel me or share the logic or code.
also u can send me how to send pdf, may b with that i can get some help.
thnx
11-29-2008 11:28 AM
11-29-2008 1:47 PM
Hi
If you are working in ECC make sure commit work = 'X'.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = wa_docdata
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = it_objpack
object_header = it_objhead
contents_bin = it_objbin
contents_txt = it_objtxt1
receivers = it_reclist
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.
Regards
Neha
11-30-2008 7:48 AM
Hi.
There is a note explaining this has to do with commit (717265)
The FM now uses persistance service of the object services taht is why you need to use commit.
Ariel Fisher
12-03-2008 1:01 PM
REPORT zsendemail .
PARAMETERS: psubject(40) type c default 'Hello',
p_email(40) type c default WRITE ID' .
data: it_packing_list like sopcklsti1 occurs 0 with header line,
it_contents like solisti1 occurs 0 with header line,
it_receivers like somlreci1 occurs 0 with header line,
it_attachment like solisti1 occurs 0 with header line,
gd_cnt type i,
gd_sent_all(1) type c,
gd_doc_data like sodocchgi1,
gd_error type sy-subrc.
data: it_message type standard table of SOLISTI1 initial size 0
with header line.
***********************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.
Perform populate_message_table.
*Send email message, although is not sent from SAP until mail send
*program has been executed(rsconn01)
PERFORM send_email_message.
*Instructs mail send program for SAPCONNECT to send email(rsconn01)
perform initiate_mail_execute_program.
&----
*& Form POPULATE_MESSAGE_TABLE
&----
Adds text to email text table
----
form populate_message_table.
Append 'Email line 1' to it_message.
Append 'Email line 2' to it_message.
Append 'Email line 3' to it_message.
Append 'Email line 4' to it_message.
endform. " POPULATE_MESSAGE_TABLE
&----
*& Form SEND_EMAIL_MESSAGE
&----
Send email message
----
form send_email_message.
Fill the document data.
gd_doc_data-doc_size = 1.
Populate the subject/generic message attributes
gd_doc_data-obj_langu = sy-langu.
gd_doc_data-obj_name = 'SAPRPT'.
gd_doc_data-obj_descr = psubject.
gd_doc_data-sensitivty = 'F'.
Describe the body of the message
clear it_packing_list.
refresh it_packing_list.
it_packing_list-transf_bin = space.
it_packing_list-head_start = 1.
it_packing_list-head_num = 0.
it_packing_list-body_start = 1.
describe table it_message lines it_packing_list-body_num.
it_packing_list-doc_type = 'RAW'.
append it_packing_list.
Add the recipients email address
clear it_receivers.
refresh it_receivers.
it_receivers-receiver = p_email.
it_receivers-rec_type = 'U'.
it_receivers-com_type = 'INT'.
it_receivers-notif_del = 'X'.
it_receivers-notif_ndel = 'X'.
append it_receivers.
Call the FM to post the message to SAPMAIL
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
exporting
document_data = gd_doc_data
put_in_outbox = 'X'
importing
sent_to_all = gd_sent_all
tables
packing_list = it_packing_list
contents_txt = it_message
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.
Store function module return code
gd_error = sy-subrc.
Get it_receivers return code
loop at it_receivers.
endloop.
endform. " SEND_EMAIL_MESSAGE
&----
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
&----
Instructs mail send program for SAPCONNECT to send email.
----
form initiate_mail_execute_program.
wait up to 2 seconds.
if gd_error eq 0.
submit rsconn01 with mode = 'INT'
with output = 'X'
and return.
endif.
endform. " INITIATE_MAIL_EXECUTE_PROGRAM
12-03-2008 1:04 PM