CL_BCS multiple attachment mail
Hi,
I am sending mails with multiple attachments, My requirement is some of the users with one attachment and some other users multiple attachments (Please check it_receipent table below mentioned) Here attachments are added before the Loop at it_receipent table, in that case how will i delete a added attachment?
Any info how to do this.
try.
document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = it_content[]
i_subject = subject ).
if not attach_name1 is initial.
call method document->add_attachment
exporting
i_attachment_type = attach_ext1
i_attachment_subject = attach_name1
i_att_content_text = it_attach1[].
endif.
if not attach_name2 is initial.
call method document->add_attachment
exporting
i_attachment_type = attach_ext2
i_attachment_subject = attach_name2
i_att_content_text = it_attach2[].
endif.
call method send_request->set_document( document ).
sender = cl_sapuser_bcs=>create( sy-uname ).
call method send_request->set_sender
exporting
i_sender = sender.
loop at it_recipient.
translate it_recipient-smtp_addr to lower case.
recipient = cl_cam_address_bcs=>create_internet_address(
it_recipient-smtp_addr ).
call method send_request->add_recipient
exporting
i_recipient = recipient
i_express = ' '
i_copy = ' '
i_blind_copy = ' '
i_no_forward = ' '.
endloop.
move : 'E' to v_request_status.
v_status = v_request_status.
call method send_request->set_status_attributes
exporting
i_requested_status = v_request_status
i_status_mail = v_status.
send_request->set_send_immediately( 'X' ).
send_request->send( ).
commit work.
catch cx_document_bcs into bcs_exception.
endtry.
a®
Hi a@s
What the method you have found ?
can you please post it for deletion ?
Thanks in advance
Krupali
Similar Messages
-
Sending mail with multiple attachment
hi.
i want to send mail with multiple attachment.
i m succeed in sending multiple attachment but the second pdf is not open.
its given error like "This file is damaged and could not be open.
pls check my code. and
give the solution....
point should be assured...........
hope all u r understand my problem..
& tell me where is i m missing something.
REPORT YSDPASALE1_MAIL LINE-SIZE 110.
data : year_month(6) type c.
data : from_date like sy-datum,to_date like sy-datum.
INITIALIZATION.
year_month = sy-datum+0(6).
CONCATENATE year_month '01' into from_date.
to_date = sy-datum.
ranges : temp for mkpf-budat.
temp-low = from_date.
temp-high = to_date.
append temp to temp.
DATA: P_JOBCNT LIKE TBTCJOB-JOBCOUNT,
jobname like TBTCJOB-JOBNAME,
L_RELEASE(1) TYPE c.
CONSTANTS : l_c_device(4) VALUE 'LOCL'.
DATA : t type i value 0.
DATA : p_email1 like somlreci1-receiver,
p_sender LIKE somlreci1-receiver.
Data Declaration
DATA: gd_recsize TYPE i,gd_recsize1 TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att1 LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att2 LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_desc1 TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des,
gd_mtitle LIKE sodocchgi1-obj_descr.
Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
CONSTANTS: c_dev LIKE sy-sysid VALUE 'DEV',
c_no(1) TYPE c VALUE ' ',
c_device(4) TYPE c VALUE 'LOCL'.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
DATA: BEGIN OF mailstr OCCURS 0,
p_email like somlreci1-receiver,
END OF mailstr.
DATA: mailtab like STANDARD TABLE OF mailstr WITH HEADER LINE.
DATA: ypp18tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ymis008tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ysd15tab like STANDARD TABLE OF mailstr WITH HEADER LINE,
ymis10tab like STANDARD TABLE OF mailstr WITH HEADER LINE.
SUBMIT YSDPASALE1 with bdt in temp
to sap-spool
with line-size = '255'
with KEEP_IN_SPOOL = 'X'
with IMMEDIATELY = ' '
WITHOUT SPOOL DYNPRO
AND RETURN
NEW-PAGE PRINT ON
DESTINATION l_c_device
IMMEDIATELY ' '
KEEP IN SPOOL 'X'
NEW LIST IDENTIFICATION 'X'
NO DIALOG.
new-page print off.
IF sy-batch EQ 'X'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
PERFORM convert_spool_to_pdf.
select yemail as p_email into CORRESPONDING FIELDS OF TABLE ymis008tab
from ymail
where ytcode = 'YMIS008'.
ELSE.
SKIP.
WRITE:/ 'Program must be executed in background in-order for spool & mail sending',
'request to be created.'.
ENDIF.
wait up to 3 seconds.
submit YSD_MONTHLY_SALES
USING SELECTION-SET 'MAIL'
to sap-spool
with KEEP_IN_SPOOL = 'X'
with IMMEDIATELY = ' ' "SPACE
WITHOUT SPOOL DYNPRO
AND RETURN
NEW-PAGE PRINT ON
DESTINATION l_c_device
IMMEDIATELY ' '
KEEP IN SPOOL 'X'
NEW LIST IDENTIFICATION 'X'
NO DIALOG.
new-page print off.
IF sy-batch EQ 'X'.
gd_attachment_desc1 = 'YMIS10'.
gd_mtitle = 'Monthly Sales Report'.
PERFORM get_job_details.
PERFORM obtain_spool_id.
PERFORM convert_spool_to_pdf1.
loop at it_mess_att.
move it_mess_att1 to it_mess_att.
APPEND it_mess_att.
endloop.
APPEND LINES OF it_mess_att1 to it_mess_att.
free it_mess_att1.
it_mess_att[] = it_mess_att1[].
insert LINES OF it_mess_att1 into it_mess_att.
APPEND LINES OF it_mess_att2 to it_mess_att .
insert LINES OF it_mess_att1 into it_mess_att.
insert LINES OF it_mess_att2 into it_mess_att.
loop at ymis008tab into mailstr.
p_email1 = mailstr-p_email.
p_email1 = '[email protected]'.
PERFORM process_email.
endloop.
clear mailstr.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ELSE.
SKIP.
ENDIF.
FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident <> '0000000000'
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
FORM get_job_details *
FORM get_job_details.
Get current job details
CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM convert_spool_to_pdf1.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ' ~'.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING '~ '.
DO.
it_mess_att1 = gd_buffer.
APPEND it_mess_att1.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
DESCRIBE TABLE it_mess_att1 LINES gd_recsize1.
CHECK gd_recsize > 0 or gd_recsize1 > 0.
PERFORM send_email." USING p_email1.
perform send_email using p_email2.
ENDFORM.
FORM send_email *
--> p_email *
FORM send_email." USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
Default subject matter
gd_subject = 'Subject'.
gd_attachment_desc = gd_attachment_desc1 .
gd_attachment_desc = 'YPP18 - Daily Highlights'.
CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
it_mess_bod = 'Dear Sir,'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'kindly find the attached document'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'Do not reply on this mail, It is generated from SAP'.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = ' '.
APPEND it_mess_bod.
it_mess_bod = 'Regards,'.
APPEND it_mess_bod.
it_mess_bod = 'Arpit Shah'.
APPEND it_mess_bod.
If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = 'INT'.
ENDIF.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
it_mess_att1
using "p_email
gd_mtitle
'Testing mail generated from SAP'
'Daily Highlights Abstract Report - YPP18'
'PDF'
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables it_message
it_attach
it_attach1
using "p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
data: t_packing_list like sopcklsti1 occurs 0 with header line,
t_contents like solisti1 occurs 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
t_attachment like solisti1 occurs 0 with header line,
t_object_header like solisti1 occurs 0 with header line,
w_cnt type i,
w_sent_all(1) type c,
w_doc_data like sodocchgi1,w_doc_data1 like sodocchgi1.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data1-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
For 2nd Attachments
* Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach1 INDEX w_cnt.
w_doc_data-doc_size = w_doc_data1-doc_size +
( w_cnt - 1 ) * 255 + STRLEN( it_attach1 ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
APPEND LINES OF it_attach1 to t_attachment.
t_attachment[] = it_attach1[].
APPEND LINES OF it_attach1 to t_attachment.
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
DESCRIBE TABLE it_mess_att LINES t_packing_list-body_num.
DESCRIBE TABLE it_attach LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS008'."ld_attdescription.
t_packing_list-obj_name = 'YMIS008'."ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
clear t_packing_list.
for 2 attachments
data : a type i,b type i.
a = t_packing_list-body_num.
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = a + 1. "1
DESCRIBE TABLE it_mess_att1 LINES t_packing_list-body_num.
DESCRIBE TABLE it_attach1 LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS10'."ld_attdescription.
t_packing_list-obj_name = 'YMIS10'."ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
a = t_packing_list-body_num.
clear t_packing_list.
* Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = a + 1.
t_packing_list-body_num = t_packing_list-body_num + 1.
DESCRIBE TABLE it_mess_att1 LINES t_packing_list-body_num.
t_packing_list-body_num = a + t_packing_list-body_num .
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = 'YMIS10'."ld_attdescription.
t_packing_list-obj_name = 'YMIS10'."ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
loop at ymis008tab into mailstr.
t_receivers-receiver = mailstr-p_email. "ld_email.
t_receivers-receiver = p_email1.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'. "X "Read Acknoledgement
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
endloop.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_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.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
Rgds.
ArpitHi Arpit,
Take a look at the documentation of FM 'SO_DOCUMENT_SEND_API1' for parameter PACKING_LIST. I think you should set t_packing_list-head_num to a different value than 0 for the second attachment.
Regards,
John. -
Multiple attachment in sender mail adapter with PI 7.11
Hello all,
I've got a scenario MAIL -> PI -> MAIL.
In my sender adapter mail, i have two attachment.
From what i've saw on different thread, it wasn't possible to handle this case in standard with PI 7.0.
Is it possible now with PI 7.11 ? Or must i develop a specific module for that ?
Thank you.Hi Jean ,
I got the same issue too, the Scenario is MAIL ->FILE . Mail Sender Adapter picks up the 1 PDF attachment and saves in network folder successfully but not multiple attachments of a mail.
These are the setting in Module configuration I made:
1. The IMAPS was used in Mail Sender Adapter : imaps://10.192.101.16:993/Inbox
*IP address of the Mail Server was got from the Admin )
2. Ports : 143, 993 are opened for the Mail Server to access for XI SERver ( Raised an Ticket to open Ports of Mail server :NZTxxx.dknz.nzcorp.net)
3. As the attachment was only in PDF : Added swapbean in Module tab as below :
Process Sequesnce :
-Make sure: AF_Modules/PayloadSwapBean Modul key : TRANSFORM is added before sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean
-And under Module Configuration select : TRANSFORM as Module Key and add >
swap.keyName Content-Disposition
swap.keyName Content-Description
swap.keyValue attachment;filename='MailAttachment-1.pdf"
swap.keyValue MailAttachment-1
-IF you get to know how to fetch multiple attachment , Please update.
Thanks,
Vara -
Send Mail with Multiple Attachment
How to send mail with multiple attachment. The documents are in a table column BLOB. Read and attach in to mail directly.
We dont want save the documents into hard disk and attach to mail. Please Help
If you have java procedure or Pl/Sql Procedure. I think pl/sql cant. So please mail me code to [email protected] mail id. Thank you.
Thanks in advance
SelvamHi all
Thanks for your reply, already tried this methods, Its not working for my requirements. Because my attachment is can be any type like pdf,doc,txt,xls,jpg, .
And also the Utl_mail is very slow. Its using RAW type.
I can use the javamail package to solve this problem, this javamail package needs to download into server from there you can attach thus documents into mail. But I want fetch the documents and ate the same time I want attach to a mail. Like yahoo attach or msn attachment.
Thank you,
Selvam -
Sending UTL_SMTP mail with Multiple attachment
Hi,
My Environment ----> Oracle Database 11g r1 on Windows 2003 Server (64Bit).
The below script i used for sending mail with single attachment now i am trying to send mail with multiple attachment please tell me how to achieve this
DECLARE
/*LOB operation related varriables */
v_src_loc BFILE := BFILENAME('DATA_PUMP_DIR', 'EXPORT.LOG');
l_buffer RAW(54);
l_amount BINARY_INTEGER := 54;
l_pos INTEGER := 1;
l_blob BLOB := EMPTY_BLOB;
l_blob_len INTEGER;
v_amount INTEGER;
/*UTL_SMTP related varriavles. */
v_connection_handle UTL_SMTP.CONNECTION;
v_from_email_address VARCHAR2(30) := '[email protected]';
v_to_email_address VARCHAR2(30) := '[email protected]';
v_smtp_host VARCHAR2(30) := 'MAIL.EXPORT.COM'; --My mail server, replace it with yours.
v_subject VARCHAR2(30) := 'MULTIPLE Attachment Test';
l_message VARCHAR2(200) := 'TEST Mail for Multiple Attachment';
/* This send_header procedure is written in the documentation */
PROCEDURE send_header(pi_name IN VARCHAR2, pi_header IN VARCHAR2) AS
BEGIN
UTL_SMTP.WRITE_DATA(v_connection_handle,
pi_name || ': ' || pi_header || UTL_TCP.CRLF);
END;
BEGIN
/*Preparing the LOB from file for attachment. */
DBMS_LOB.OPEN(v_src_loc, DBMS_LOB.LOB_READONLY); --Read the file
DBMS_LOB.CREATETEMPORARY(l_blob, TRUE); --Create temporary LOB to store the file.
v_amount := DBMS_LOB.GETLENGTH(v_src_loc); --Amount to store.
DBMS_LOB.LOADFROMFILE(l_blob, v_src_loc, v_amount); -- Loading from file into temporary LOB
l_blob_len := DBMS_LOB.getlength(l_blob);
/*UTL_SMTP related coding. */
v_connection_handle := UTL_SMTP.OPEN_CONNECTION(host => v_smtp_host);
UTL_SMTP.HELO(v_connection_handle, v_smtp_host);
UTL_SMTP.MAIL(v_connection_handle, v_from_email_address);
UTL_SMTP.RCPT(v_connection_handle, v_to_email_address);
UTL_SMTP.OPEN_DATA(v_connection_handle);
send_header('From', '"Sender"');
send_header('To', '"Recipient"');
send_header('Subject', v_subject);
--MIME header.
UTL_SMTP.WRITE_DATA(v_connection_handle,
'MIME-Version: 1.0' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Type: multipart/mixed; ' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
' boundary= "' || 'SAUBHIK.SECBOUND' || '"' ||
UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
-- Mail Body
UTL_SMTP.WRITE_DATA(v_connection_handle,
'--' || 'SAUBHIK.SECBOUND' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Type: text/plain;' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
' charset=US-ASCII' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, l_message || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
-- Mail Attachment
UTL_SMTP.WRITE_DATA(v_connection_handle,
'--' || 'SAUBHIK.SECBOUND' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Type: application/octet-stream' ||
UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Disposition: attachment; ' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
' filename="' || 'export.log' || '"' || --My filename
UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Transfer-Encoding: base64' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
/* Writing the BLOL in chunks */
WHILE l_pos < l_blob_len LOOP
DBMS_LOB.READ(l_blob, l_amount, l_pos, l_buffer);
UTL_SMTP.write_raw_data(v_connection_handle,
UTL_ENCODE.BASE64_ENCODE(l_buffer));
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
l_buffer := NULL;
l_pos := l_pos + l_amount;
END LOOP;
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
-- Close Email
UTL_SMTP.WRITE_DATA(v_connection_handle,
'--' || 'SAUBHIK.SECBOUND' || '--' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
UTL_TCP.CRLF || '.' || UTL_TCP.CRLF);
UTL_SMTP.CLOSE_DATA(v_connection_handle);
UTL_SMTP.QUIT(v_connection_handle);
DBMS_LOB.FREETEMPORARY(l_blob);
DBMS_LOB.FILECLOSE(v_src_loc);
EXCEPTION
WHEN OTHERS THEN
UTL_SMTP.QUIT(v_connection_handle);
DBMS_LOB.FREETEMPORARY(l_blob);
DBMS_LOB.FILECLOSE(v_src_loc);
RAISE;
END;
Thank you
ShanHi Saubhik
Thanks for your reply, below script i used to send mail with multiple attachments, plsql code is executing without any error messages and i am also able to receive mail with the multiple attachment.
i used your code which u posted in OTN then i changed little bit as per my need, output is ok.but the problem is if i want to add one more file then i have to add more varaiables in the code. i want to make the code which i can add more attachments without adding more varaiables i don't know the way to do this. can u please give me some hints.
Thanks for your help
Shan
Script Used:
DECLARE
/*LOB operation related varriables01 */
v_src_loc BFILE := BFILENAME('DATA_PUMP_DIR', 'EXPORT.LOG');
l_buffer RAW(54);
l_amount BINARY_INTEGER := 54;
l_pos INTEGER := 1;
l_blob BLOB := EMPTY_BLOB;
l_blob_len INTEGER;
v_amount INTEGER;
/*LOB operation related varriables02 */
v_src_loc2 BFILE := BFILENAME('DATA_PUMP_DIR', 'EXPORT1.LOG');
l_buffer2 RAW(54);
l_amount2 BINARY_INTEGER := 54;
l_pos2 INTEGER := 1;
l_blob2 BLOB := EMPTY_BLOB;
l_blob_len2 INTEGER;
v_amount2 INTEGER;
/*UTL_SMTP related varriavles. */
v_connection_handle UTL_SMTP.CONNECTION;
v_from_email_address VARCHAR2(30) := '[email protected]';
v_to_email_address VARCHAR2(30) := '[email protected]';
v_smtp_host VARCHAR2(30) := 'MAIL.EXPORT.COM'; --My mail server, replace it with yours.
v_subject VARCHAR2(30) := 'MULTIPLE Attachment Test';
l_message VARCHAR2(200) := 'TEST Mail for Multiple Attachment';
/* This send_header procedure is written in the documentation */
PROCEDURE send_header(pi_name IN VARCHAR2, pi_header IN VARCHAR2) AS
BEGIN
UTL_SMTP.WRITE_DATA(v_connection_handle,
pi_name || ': ' || pi_header || UTL_TCP.CRLF);
END;
BEGIN
/*Preparing the LOB from file for attachment01. */
DBMS_LOB.OPEN(v_src_loc, DBMS_LOB.LOB_READONLY); --Read the file
DBMS_LOB.CREATETEMPORARY(l_blob, TRUE); --Create temporary LOB to store the file.
v_amount := DBMS_LOB.GETLENGTH(v_src_loc); --Amount to store.
DBMS_LOB.LOADFROMFILE(l_blob, v_src_loc, v_amount); -- Loading from file into temporary LOB
l_blob_len := DBMS_LOB.getlength(l_blob);
/*Preparing the LOB from file for attachment02. */
DBMS_LOB.OPEN(v_src_loc2, DBMS_LOB.LOB_READONLY); --Read the file
DBMS_LOB.CREATETEMPORARY(l_blob2, TRUE); --Create temporary LOB to store the file.
v_amount2 := DBMS_LOB.GETLENGTH(v_src_loc2); --Amount to store.
DBMS_LOB.LOADFROMFILE(l_blob2, v_src_loc2, v_amount2); -- Loading from file into temporary LOB
l_blob_len2 := DBMS_LOB.getlength(l_blob2);
/*UTL_SMTP related coding. */
v_connection_handle := UTL_SMTP.OPEN_CONNECTION(host => v_smtp_host);
UTL_SMTP.HELO(v_connection_handle, v_smtp_host);
UTL_SMTP.MAIL(v_connection_handle, v_from_email_address);
UTL_SMTP.RCPT(v_connection_handle, v_to_email_address);
UTL_SMTP.OPEN_DATA(v_connection_handle);
send_header('From', '"Sender"');
send_header('To', '"Recipient"');
send_header('Subject', v_subject);
--MIME header.
UTL_SMTP.WRITE_DATA(v_connection_handle,
'MIME-Version: 1.0' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Type: multipart/mixed; ' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
' boundary= "' || 'SAUBHIK.SECBOUND' || '"' ||
UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
-- Mail Body
UTL_SMTP.WRITE_DATA(v_connection_handle,
'--' || 'SAUBHIK.SECBOUND' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Type: text/plain;' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
' charset=US-ASCII' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, l_message || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
-- Mail Attachment01
UTL_SMTP.WRITE_DATA(v_connection_handle,
'--' || 'SAUBHIK.SECBOUND' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Type: application/octet-stream' ||
UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Disposition: attachment; ' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
' filename="' || 'export.log' || '"' || --My filename
UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Transfer-Encoding: base64' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
/* Writing the BLOL in chunks */
WHILE l_pos < l_blob_len LOOP
DBMS_LOB.READ(l_blob, l_amount, l_pos, l_buffer);
UTL_SMTP.write_raw_data(v_connection_handle,
UTL_ENCODE.BASE64_ENCODE(l_buffer));
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
l_buffer := NULL;
l_pos := l_pos + l_amount;
END LOOP;
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
-- Mail Attachment02
UTL_SMTP.WRITE_DATA(v_connection_handle,
'--' || 'SAUBHIK.SECBOUND' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Type: application/octet-stream' ||
UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Disposition: attachment; ' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
' filename="' || 'export1.log' || '"' || --My filename
UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
'Content-Transfer-Encoding: base64' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
/* Writing the BLOL in chunks */
WHILE l_pos2 < l_blob_len2 LOOP
DBMS_LOB.READ(l_blob2, l_amount2, l_pos2, l_buffer2);
UTL_SMTP.write_raw_data(v_connection_handle,
UTL_ENCODE.BASE64_ENCODE(l_buffer2));
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
l_buffer2 := NULL;
l_pos2 := l_pos2 + l_amount2;
END LOOP;
UTL_SMTP.WRITE_DATA(v_connection_handle, UTL_TCP.CRLF);
-- Close Email
UTL_SMTP.WRITE_DATA(v_connection_handle,
'--' || 'SAUBHIK.SECBOUND' || '--' || UTL_TCP.CRLF);
UTL_SMTP.WRITE_DATA(v_connection_handle,
UTL_TCP.CRLF || '.' || UTL_TCP.CRLF);
UTL_SMTP.CLOSE_DATA(v_connection_handle);
UTL_SMTP.QUIT(v_connection_handle);
DBMS_LOB.FREETEMPORARY(l_blob);
DBMS_LOB.FILECLOSE(v_src_loc);
DBMS_LOB.FREETEMPORARY(l_blob2);
DBMS_LOB.FILECLOSE(v_src_loc2);
EXCEPTION
WHEN OTHERS THEN
UTL_SMTP.QUIT(v_connection_handle);
DBMS_LOB.FREETEMPORARY(l_blob);
DBMS_LOB.FILECLOSE(v_src_loc);
DBMS_LOB.FREETEMPORARY(l_blob2);
DBMS_LOB.FILECLOSE(v_src_loc2);
RAISE;
END;
PL/SQL procedure successfully completed.
Edited by: SHAN2009 on May 11, 2011 1:05 PM -
How to send multiple attachment in single mail
i am using FM SO_NEW_DOCUMENT_ATT_SEND_API1 for sending mail.
pls guide me how can i modify my code so that i can send multiple attachmentsHi Manish,
Check out the links below.
E-mail multiple PDF attachments
Send a Single Mail with Multiple Attachment
Hope it helps.
Regards,
Amit
*Always reward points for helpful answers
Message was edited by:
Amit Kumar -
How to send multiple attachment s with a mail??
Hi,
How to send multiple attachments with a mail??
Situation::
In my case i have 5 internal tables populated dynamically in the report.
I want to send them in .TXT format as attachment with 1 mail.
Can anybody tell me in 'SO_NEW_DOCUMENT_ATT_SEND_API1',
how we add multiple attachmants to table objin???
thanks,
deepakHi Deepak,
Please find the sample code for sending mail with multiple attachment.
Report ZPAN_02M *
REPORT zpan_02m .
*-MAIN DECLARATION----
DATA: docdata LIKE sodocchgi1,
objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
objhex LIKE solix OCCURS 10 WITH HEADER LINE,
reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
*-OTHER DECLARATIONS----
DATA : listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
DATA : tab_lines(3) TYPE n.
DATA : att_type LIKE soodk-objtp.
*OBJBIN = ' | '. APPEND OBJBIN.
*---For simple attachment -
DATA : BEGIN OF wi_data OCCURS 0,
c1(10),
c2(10),
END OF wi_data.
wi_data-c1 = 'Line 1'. wi_data-c2 = 'Line 1'. APPEND wi_data.
wi_data-c1 = 'Line 2'. wi_data-c2 = 'Line 2'. APPEND wi_data.
wi_data-c1 = 'Line 3'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 4'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 5'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 6'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 7'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 8'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 9'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 10'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 11'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 12'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 13'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 14'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 15'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 16'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 17'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 18'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 19'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 20'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 21'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 22'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 23'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 24'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 25'. wi_data-c2 = 'Line 3'. APPEND wi_data.
wi_data-c1 = 'Line 26'. wi_data-c2 = 'Line 3'. APPEND wi_data.
class cl_abap_char_utilities definition load.
constants:
con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB,
con_cret type c value cl_abap_char_utilities=>CR_LF,
con_nwln type c value cl_abap_char_utilities=>NEWLINE.
LOOP AT wi_data.
CONCATENATE wi_data-c1 con_tab
wi_data-c2
INTO objbin.
condense objbin.
CONCATENATE con_cret objbin INTO objbin.
APPEND objbin.
ENDLOOP.
*---CREATE MESSAGE : DOCDATA -
Name
docdata-obj_name = 'TEST_ALI'.
Subject
docdata-obj_descr = 'Test including ALI/HTML Attachment'.
*---CREATE MESSAGE : BODY -
objtxt = 'Test Document.'.
APPEND objtxt.
objtxt = 'You will find an ALI/HTML attachment in this message.'.
APPEND objtxt.
objtxt = 'Have a nice day.'.
APPEND objtxt.
*-CREATE PACKING LIST-----TEXT--
objpack-head_start = 1.
DESCRIBE TABLE objtxt LINES tab_lines.
READ TABLE objtxt INDEX tab_lines.
docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
CLEAR objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'RAW'.
APPEND objpack.
*-CREATE PACKING LIST-----ATTACHMENT--
att_type = 'XLS'.
DESCRIBE TABLE objbin LINES tab_lines.
READ TABLE objbin INDEX tab_lines.
objpack-doc_size = ( ( tab_lines / 2 ) - 1 ) * 255 + STRLEN( objbin ).
objpack-transf_bin = 'X'.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines / 2.
objpack-doc_type = att_type.
objpack-obj_name = 'ATTACHMENT 1'.
objpack-obj_descr = 'Attached Document 1'.
APPEND objpack.
att_type = 'XLS'.
objpack-doc_size = ( ( tab_lines / 2 ) - 1 ) * 255 + STRLEN( objbin ).
objpack-transf_bin = 'X'.
objpack-head_start = 14.
objpack-head_num = 14.
objpack-body_start = 14.
objpack-body_num = tab_lines / 2.
objpack-doc_type = att_type.
objpack-obj_name = 'ATTACHMENT 2'.
objpack-obj_descr = 'Attached Document 2'.
APPEND objpack.
*-CREATE RECEIVER LIST----
reclist-receiver = '[email protected]'. reclist-rec_type = 'U'.
APPEND reclist.
reclist-receiver = sy-uname. reclist-rec_type = 'B'.
APPEND reclist.
*-SEND MESSAGE----
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = docdata
put_in_outbox = 'X'
commit_work = 'X'
IMPORTING
SENT_TO_ALL =
NEW_OBJECT_ID =
TABLES
packing_list = objpack
object_header = objhead
contents_bin = objbin
contents_txt = objtxt
CONTENTS_HEX = objhex
OBJECT_PARA =
OBJECT_PARB =
receivers = 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.
WAIT UP TO 2 SECONDS.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
Hope this is enough for you...
Enjoy SAP.
Pankaj Singh. -
Is it a way to read Multiple Attachment and send all - Mail Sender?
Hi Friends ,
Can you please tell me how to send multiple Attachment in Mail Sender Adapter ?
<b> I am able to bring Multiple Attachement in Payload .But, Only one attachemen't data is passed to IS.</b>
First form the attachement i read as row bye row. Rowe like <b>123 56 98 56 9</b>6 like that , then in Integration Process i am using<b> XSLT Mapping</b> to get my required format .
It is getting the data from the First Attachement only. <b>But i am having Three attachement in payload as MailAttachement-1 , MailAttachement-2 , MailAttachement-3 like that .</b>
<b>Can you please tell me how to pass to IS as one by one attachement ?</b>
Regards .,
V.RangarajanYou want to separate each attachment in one single message?
If yeah, change your xslt mapping to a multimapping, which generate the several messages.
If not, in the receiver mail adapter, select "keep atachments" checkbox.
Regards,
Henrique. -
I want to send multiple e-mails, one to each recipient, with a standard letter, but with a personalised greeting, attached. I want to set up the e-mail list and send them mout without having to do each e-mail separately. It would be like a mail merge except using e-mails with an attachment.
https://addons.mozilla.org/en-US/thunderbird/addon/mail-merge/?src=ss
-
Sending an e-mail from SAP to multiple e-mail IDs
I have a requirement where SAP should send e-mail to the main recipient and CC to three other recipients. The e-mail will have a PDF attachment of delivery document and the e-mail Ids are fetched from ''Storage Location'' definition maintained in customization under SPRO --> Enterprise Structure --> Definition --> Materials Management --> Maintain Storage Location. I can maintain multiple e-mail Ids here.
However, as standard, SAP will set the indicator (or I can define) to one specific e-mail ID only and will send e-mail just to that e-mail ID.The requirement is that the e-mail Id with the indicator will be the main recipient, and all other e-mail Ids should be CCed.
Can anyone advise how to go about this? Any OSS notes or any clue on ABAP devpt work please...
Many Thanks in Advance
Ravi.Hi
You can have the PDFs kept in a spool. From the spool, you can send these documents through email by using the FM
CONVERT_OTFSPOOLJOB_2_PDF
You can also use the FM PLM_AUDIT_COM_SEND_PDF_AS_MAIL
to create a new FM for your purpose.
Rwd if it helps.
Message was edited by:
Navaneetha Krishnan -
Sending Multiple attachements (PDF) in a single email
Hello All,
I came across below link but could not understand.
How to send multiple attachements in single mail
Any idea how i can send email with Multiple attachements (PDF format files). Thanks.Smart Form PDF Link
http://help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
http://sap.ionelburlacu.ro/sap0/sapsf001.htm
http://help.sap.com/saphelp_erp2004/helpdata/en/a9/de6838abce021ae10000009b38f842/frameset.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/a5/de6838abce021ae10000009b38f842/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/16/a369b1800e4bdda978ee0fe3b7bd2c/content.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/a5/de6838abce021ae10000009b38f842/content.htm
http://www.sap-basis-abap.com/sapsf001.htm
http://www.sap-img.com/smartforms/smart-001.htm
Rewards if useful................
Minal -
How can I display selected tags across multiple e-mail addresses?
I receive email on a specific topic but via several e-mail addresses. How can I view selected tags where the resulting e-mails span several (7) email addresses. They are all active on my Thunderbird, but as far as I know, I can only display the selected tag on one of them at a time.
Any assistance greatly appreciated as this is a very big problem for me.
thanks, Ron75This solution does not appear to work across multiple e-mail addresses.
Perhaps I should have said "work across multiple e-mail address at the same time. I get e-mail on specific topics via several email addresses and wish to view all the tagged emails regardless of which email account in which they reside.
I could not get this solution to select more than one email account at a time. -
Multiple attachment using SO_NEW_DOCUMENT_ATT_SEND_API1
HI geeks,
Can anyone pls tell me how to attach multiple files using function module SO_NEW_DOCUMENT_ATT_SEND_API1.
I have seen example of multiple attachments using same file type.I mean 1 or more files are same type like PDF or Excel.
But my requirement is i have to send multiple attachment,1 file as PDF and other three excel file.
Can anyone pls let me know,if anyone done this already,
Thanks in advance
Srini.Hi Srinivasn,
Please see the below code u need to follow. In the object pack table u might specified the number of lines per each attachement. At the same time u need to specify the document type as PDF or XLS. Please see the below code which is wrote for two attachments as xls. In your case one attachment should be PDF. This can be specified in the field
LT_OBJPACK-DOC_TYPE = 'PDF'.
IF NOT LT_ATT_TAB[] IS INITIAL AND
NOT GV_ERR_REC IS INITIAL.
DESCRIBE TABLE LT_OBJBIN LINES LV_TAB_LINES.
LV_TAB_LINES = LV_TAB_LINES - GV_SUC_REC.
READ TABLE LT_OBJBIN INDEX LV_TAB_LINES.
LT_OBJPACK-DOC_SIZE =
( LV_TAB_LINES - 1 ) * 255 + STRLEN( LT_OBJBIN ).
LT_OBJPACK-TRANSF_BIN = 'X'.
LT_OBJPACK-HEAD_START = 1.
LT_OBJPACK-HEAD_NUM = 0.
LT_OBJPACK-BODY_START = 1.
LT_OBJPACK-BODY_NUM = LV_TAB_LINES.
LT_OBJPACK-DOC_TYPE = LC_XLS.
LT_OBJPACK-OBJ_NAME = 'ATTACHMENT'.
LT_OBJPACK-OBJ_DESCR = LV_ATTACH_NAME2(50).
APPEND LT_OBJPACK.
ENDIF. " IF NOT lt_att_tab[] IS ...
File2 attachment for processed records.
IF NOT LT_ATT_TAB[] IS INITIAL AND
NOT GV_SUC_REC IS INITIAL.
CLEAR LT_OBJPACK.
DESCRIBE TABLE LT_OBJBIN LINES LV_TAB_LINES.
LV_TAB_LINES = LV_TAB_LINES - GV_ERR_REC.
GV_ERR_REC = GV_ERR_REC + 1.
READ TABLE LT_OBJBIN INDEX LV_TAB_LINES.
LT_OBJPACK-DOC_SIZE =
( LV_TAB_LINES - 1 ) * 255 + STRLEN( LT_OBJBIN ).
LT_OBJPACK-TRANSF_BIN = 'X'.
LT_OBJPACK-HEAD_START = GV_ERR_REC.
LT_OBJPACK-HEAD_NUM = 0.
LT_OBJPACK-BODY_START = GV_ERR_REC.
LT_OBJPACK-BODY_NUM = LV_TAB_LINES.
LT_OBJPACK-DOC_TYPE = LC_XLS.
LT_OBJPACK-OBJ_NAME = 'ATTACHMENT'(009).
LT_OBJPACK-OBJ_DESCR = LV_ATTACH_NAME(50).
APPEND LT_OBJPACK.
ENDIF. " IF NOT lt_att_tab[] IS ...
Thanks
IF NOT LT_ATT_TAB[] IS INITIAL AND
NOT GV_ERR_REC IS INITIAL.
DESCRIBE TABLE LT_OBJBIN LINES LV_TAB_LINES.
LV_TAB_LINES = LV_TAB_LINES - GV_SUC_REC.
READ TABLE LT_OBJBIN INDEX LV_TAB_LINES.
LT_OBJPACK-DOC_SIZE =
( LV_TAB_LINES - 1 ) * 255 + STRLEN( LT_OBJBIN ).
LT_OBJPACK-TRANSF_BIN = 'X'.
LT_OBJPACK-HEAD_START = 1.
LT_OBJPACK-HEAD_NUM = 0.
LT_OBJPACK-BODY_START = 1.
LT_OBJPACK-BODY_NUM = LV_TAB_LINES.
LT_OBJPACK-DOC_TYPE = LC_XLS.
LT_OBJPACK-OBJ_NAME = 'ATTACHMENT'.
LT_OBJPACK-OBJ_DESCR = LV_ATTACH_NAME2(50).
APPEND LT_OBJPACK.
ENDIF. " IF NOT lt_att_tab[] IS ...
File2 attachment for processed records.
IF NOT LT_ATT_TAB[] IS INITIAL AND
NOT GV_SUC_REC IS INITIAL.
CLEAR LT_OBJPACK.
DESCRIBE TABLE LT_OBJBIN LINES LV_TAB_LINES.
LV_TAB_LINES = LV_TAB_LINES - GV_ERR_REC.
GV_ERR_REC = GV_ERR_REC + 1.
READ TABLE LT_OBJBIN INDEX LV_TAB_LINES.
LT_OBJPACK-DOC_SIZE =
( LV_TAB_LINES - 1 ) * 255 + STRLEN( LT_OBJBIN ).
LT_OBJPACK-TRANSF_BIN = 'X'.
LT_OBJPACK-HEAD_START = GV_ERR_REC.
LT_OBJPACK-HEAD_NUM = 0.
LT_OBJPACK-BODY_START = GV_ERR_REC.
LT_OBJPACK-BODY_NUM = LV_TAB_LINES.
LT_OBJPACK-DOC_TYPE = LC_XLS.
LT_OBJPACK-OBJ_NAME = 'ATTACHMENT'(009).
LT_OBJPACK-OBJ_DESCR = LV_ATTACH_NAME(50).
APPEND LT_OBJPACK.
ENDIF. " IF NOT lt_att_tab[] IS ...
Venkat -
Setting up multiple e-mail accounts
I have iBook G4 using OS X. I've had it for over a year, but I've never set up multiple e-mail accounts, but now my kids are asking for their own e-mail addresses. There must be directions on how to do this somewhere, but I can't seem to find it. Any help in steering me in the right directions would be greatly appreciated.
KarenHello Karen.
You can create multiple email accounts with Mail with or without the same email account provider.
With the same provider is possible only if each account has its own user name.
You can create/access multiple email accounts that share the same incoming mail server and the same password as long as each account has its own user name.
An account's user name is usually the portion of the email address in front of the @ sign only but with some providers it is the entire email address.
Multiple email addresses with the same provider that share the same user name, incoming mail server and password as a primary email account are what is called an alias or aliases.
An alias email address to a primary account/address can be accessed with Mail under the primary account but not as a separate account with Mail.
If I haven't completely confused you, let me know.
I agree with Matt and strongly suggest/recommend that you don't allow your kids (regardless their age) or anyone else regular access to your Mac under your computer login admin account.
Check this link.
http://www.apple.com/macosx/features/family/ -
Adding multiple e-mail alias addresses to an account
Can someone please tell me how to add another e-mail address to my Mail account. I have tried using info from the Mail Help file, both "adding another account" and "adding multiple e-mail alias addresses to an account". Each time when I try to send a test message to or from the added e-mail address, I get the same message: "Cannot send message using the server mail.bellsouth.net. Use the Pop-up menu below to try a different outgoing mail server". The only pop-up is smtp .Mac.
I have tried both methods shown in the HELP file and get the same message. I would really appreciate your help.Are you trying to add a second email account to Mail, or just add a second "(apparently) from" address to an existing account?
If the former, we need to know some more detail, like:
(1) who is the existing account, .mac or bellsouth?
(2) Which are you trying to add, .mac or bellsouth?
(3) I assume your ISP is Bell South?
(4) What are the names of the smtp servers and what are their respective smtp server port numbers?
(5) Are either of them using SSL on the smtp server?
(6) I don't remember whether Tiger Mail has it or not, but in Leopard Mail, on the menu bar under "Window" there is a selection "Connection Doctor." If applicable to Tiger Mail, what does it say about your connections?
(7) Which account can you send mail through and which one can't you send mail through?
(8) Are your receiving mail okay through either or both accounts? Which one(s)?
Now if you are trying to add a second "(apparently) from" address to an existing account, in Mail Prefs > Accounts > mail account > Email Address, just add a second email address separated by a comma like so:
[email protected], [email protected]
You could have an issue with bellsouth or .mac requiring the domain name in the apparently from email address to match the domain name of the smtp mail server.
Maybe you are looking for
-
My desktop computer only recognises my ipad as a camera type device so I am unable to download the music from my PC to my ipad. Even when I go into itunes it does not recognise the ipad, however it does recognise my ipod. How do a get my computer t
-
Could not complete the command because of a problem using the Adobe Color Engine
Hi all This bizarrely started this morning - completely out of the blue - and I've no idea why. Setup: Mac 10.8.2 / Creative Suite Premium PhotoShop CS5 extended (patched to 12.04) Am working on images exported from LightRoom 4 (16bit A3 Pro Photo RG
-
MacBook keeps crashing needing hard restart, related to Office 08???
Please forgive me if this is in the wrong thread, this is my first time posting; I really couldn't figure out where this should go; I won't be offended if it gets moved. For quite some time now, about a year and a half, every so often my computer wou
-
Import CVI Instrument Driver in LabView 8.6
Hi, I am working on Instrument Driver and have code developed in LabWindow/CVI. I have got the information of importing those code in LabVIew through Import CVI Instrument Drive option in Tools»Instrumentation but can't able to see such option on the
-
ARD access to Macbooks asleep with lids closed?
Some people say you can operate a Macbook with the lid closed, some say you can't. Can anyone answer this one please? In school there is a storage trolley full of PC laptops (Vaios I think, but not sure) and the network administrator is able to updat