Mail attachment charset problem
Hello,
I have made a program which is able to send Icalendar files as an attachment. I get the data as an InputStream.
My problem is that the Icalendar file doesn�t show the letters '�', '�' and '�'. I have tried to use iso-8859-1 in the MimeBodyPart headerline and in the ByteArrayDataSource, but it doesn�t work?!
Where can I specify which charset I want to use?
MimeBodyPart mbp3 = new MimeBodyPart();
mbp3.setFileName( m.getAttachmentFileName() );
mbp3.setHeader("Content-Class", "urn:content-classes:calendarmessage");
mbp3.setHeader("Content-ID","calendar_message");
mbp3.addHeaderLine("charset=iso-8859-1");
java.io.InputStream inputStream = null;
try {
inputStream = m.getAttachmentFile().getBinaryStream();
mbp3.setDataHandler( new DataHandler( new javax.mail.util.ByteArrayDataSource( inputStream, "text/calendar;charset=iso-8859-1;method=REQUEST" ) ) );
catch ( Exception e ){}
mpRoot.addBodyPart(mbp3);
Yes you are right... Thank you.
I removed the line:
mbp3.addHeaderLine("charset=iso-8859-1"); - and now the letters are shown correct when opening the ICalendar file using a text editor.
But when openning the file using Outlook the letters '�', '�', '�' are removed?! I know that isn�t a problem in my mail code but certainly in the iCal file?!
Similar Messages
-
Mail attachment saving problem
Hi,
When I tried to save a Mail attachment today I got the following warning:
Mail was unable to save the attachment “File.numbers” to disk. Please verify your downloads folder exists and is writable.
The warning must be wrong because other attachments, even of the same kind, can be saved without problems. I observed that only such files are effected which contain subdirectories like numbers, keynote, etc. and my suspicion is, that the saving problems may come from wrong file reading/writing rights within these subdirectories, that the sender of the Mail may have imposed to prevent unwanted changes to his/her file. May this be so? Otherwise, what else?
(MacOs X 10.5.6, Mail.app 3.5 and, in this particular case, Numbers08)
Thanks for for help in advace!
Joe.Hi Kappy,
Nothing at all. No error message but no copying either, and no change in the curser appearance when dragging to the Desktop.
When I go to Mail --> Message --> Forward as Attachment, the attachment in the composer window can be saved like a normal file and has an appropriate size, eg. the desired original file seems to be contained in there. However, I have no Idea how to extract the original .numbers file from that.
Strange, isn't it?
Thanks,
Joe. -
Apple mail attachment encoding problem
I'm having the problem lately that either attachments aren't being decoded properly and the source is displayed in the email or that the entire email is being displayed like this:
--Apple-Mail-7--951337123
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=ISO-8859-1;
delsp=yes;
format=flowed
FYI
--Apple-Mail-7--951337123
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream;
x-mac-type=584C5338;
x-unix-mode=0744;
x-mac-creator=5843454C;
name="report.xls"
Content-Disposition: attachment;
filename=report.xls
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
EAAAQAAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
We have the same problems with UTF-8 encoded mails. If I select the Inbox, then select Mailbox -> Rebuild it fixes it, but I need a better solution to fix this. Several others are having the same problem and it seems to be happenning intermittently.
Anyone have any suggestions?
macbook pro 1.86Ghz Mac OS X (10.4.5)duren wrote:
Some of my clients cannot open these inline images.
This clients use presumably Outlook 2007. It's not your or Apple Mail's fault, it's a known bug in Outlook 2007 and there is also a Microsoft Help and Support Article from April 2007 about that issue.
Here -> http://support.microsoft.com/kb/917120
A workaround is also described there.
A simple ad hoc solution is to ZIP the pictures before attaching to mail
Lupunus -
hi experts
i am trying to send mails with attachments thru jsp.
i have this normal jsp file i.e the html form is not set to enctype="multipart/form-data" ok
now i have some <input type="File" name="attachment1"> in this file
when i browse and attach the file and submit
i call my sendmail.jsp.
here i had done
String attachment1 = request.getParameter("attachment1");
the only problem i'm facing is i get only the filename in the attachment1 variable
instead of full path
how can i do this.
Note: when i hard code the path in sendmail it works fine.Hello,
We are implementing digital signature on form 16.
We configured the ADS for the same.
In transaction pc00_40_f16, we provide the path for saving the form and also provide the name of ADS connection. When we click on the print form button, the forms are generated with 0 bytes.
Can you please guide us if have resolved this kind of issue or other settings are required to get the form 16 with digital signature.
Regards -
Problem in Reading Mail Attachement
I'm facing a problem while reading mail attachments. Java-mail returns null disposition for the below message,but this message has attachment javamail is not considering the mail attachment .I'm using java-mail 1.3.Can anybody help me to solve this problem ?
Return-Path: prvs=00548bd8bd=[email protected]
Received: from PRODTM1.TRUST.UASC.AO ([172.28.2.143])
by trust.uasc.net
; Mon, 14 Mar 2011 11:07:04 +0000
X-TM-IMSS-Message-ID:<[email protected]>
Received: from gw.northport.com.my ([202.188.31.130]) by trust.uasc.net ([172.28.2.144])
with ESMTP (TREND IMSS SMTP Service 7.1) id 45727fb90003495a ; Mon, 14 Mar 2011 11:06:52 +0000
Received: from [192.1.10.13] (port=59768 helo=nmbsmtp-01.northport.com.my)
by gw.northport.com.my with esmtp (Exim 4.69)
(envelope-from <[email protected]>)
id 1Pz5bs-0003EO-0A; Mon, 14 Mar 2011 19:06:48 +0800
X-CTCH-RefID: str=0001.0A090205.4D7DF6C8.0116,ss=1,fgs=0
Date: Mon, 14 Mar 2011 19:05:50 +0800 (SST)
From: AMTedi-Container Svcs <[email protected]>
Message-ID: <[email protected]>
Mime-Version: 1.0
To: [email protected], [email protected],
[email protected], [email protected]
Subject: CODCT1UAS
Content-Type: multipart/mixed; boundary="-"
X-TM-AS-Product-Ver: IMSS-7.1.0.1394-6.5.0.1024-18010.003
X-TM-AS-Result: No--4.942-5.0-31-1
X-imss-scan-details: No--4.942-5.0-31-1If you were assuming that every message would have a valid body part
and that they would tell you definitively which parts you should consider to
be "attachments", ya, that won't work. The disposition is a hint at best.
It can be wrong. It might not even be there. -
New Line Character problem in mail attachment
Hi all,
my xi-box is in patch level 16. i need to send the mapped xml as a pipe delimited file(a lineitem per line) attachment to a mail id. so i use MTB to content convert the payload and attach the content as an attachment using a custom module and send the mail. Since the naming convention of the attachment (as per my requirement) says the file should be a .txt file, i 've used text/plain as the content-type.
if i open the attachment in textpad or wordpad i can see one lineitem per line; but if i open it with notepad its not the case.lineitems do not appear in separate lines but appear continuously. i 'm seeing a box character as a separator between the lineitems. i'm not able to figure it out why.
i used MTB in file adapter and content converted the payload and opened the file in notepad;it was fine.
But i'm not able to figure out why its happening with the mail attachment. If you have come across such a problem please suggest me to solve this.
Regards,
SundararamaprasadIs there any way you can send the file in an ASCII format instead of BINARY format. In many of my resolved cases I just change from binary to ascii and it works for eg., while doing FTP.
thansk,
rakesh -
Mail attachment problem with IP TUNNELING
Hi
We are an Isp and we have two links separatly from two different service provider, one is for Send traffic and another one for recive traffic, we use simple Gre tunnle and configure it in our router ,the tunnel is active and everything seems works fine ,but when users want to use mail attachment like yahoo mail attachment they have problem : yahoo ask them to attach files they can browse and choose files after that when they want to finish ,the yahoo attachment page process opened and never finish it s job !!!!!!!
please help.
Thanks.
Reards Bahman mozaffariHi,
this sounds like you are having MTU problems due to the GRE overhead. You can try to fix this with the command
ip tcp adjust-mss ! f.e. 1400
on the tunnel interfaces. The riouter will intercept TCP MSS negotiation and allow only TCP segments small enough to fit through the tunnel.
Hope this helps! Please rate all posts.
Regards, Martin -
Problems with specifying File Extension of E-Mail attachment
Hi everybody
I have a problem that seems to be so simple that it almost drives me crazy that I cannot find a solution for it.
I need to send the content of an internal table (some lines) as a mail attachment to a specified mail address.
The format should be normal ASCII, so when I open it with any text editor (e.g. Notepad), I want to have all my lines there (including CR/LF).
The problem now is - The extension of this mail attachment must be ".key", so the attached file should have the name "L_12345.key" (for example).
For E-Mailing I use FM "SO_NEW_DOCUMENT_ATT_SEND_API1".
This part works fine, also the attachment part works in general. (I receive the mail and I receive the attachment).
BUT I get either an attachment with the name "L_12345.txt" or "L_12345.key.txt" and in correct format, or I get an attachment "L_12345.key", where the name is correct but format is wrong (no CR/LF - everything in one line).
Example:
=======
Attachment-Content should be:
Line 1
Line 2
Line 3
Name of Attachment should be: L_12345.key
What I tried:
TEST 1 **
Declare Attachment in Packing list. ..
ls_packing_list-transf_bin = ' '.
ls_packing_list-head_start = 1.
ls_packing_list-head_num = 0.
ls_packing_list-body_start = 7. "Startline of Attachment
ls_packing_list-body_num = 3. "No of Attachment lines
ls_packing_list-doc_type = 'RAW'.
ls_packing_list-doc_size = 3 * 255.
ls_packing_list-obj_name = 'ATT01'.
ls_packing_list-obj_descr = 'L_12345' "Attachment name
APPEND ls_packing_list TO lt_packing_list.
==> Result: Attachment Filename = L_12345.txt
==> File as I need it (ASCII with CR/LF), but extension wrong
Line 1
Line 2
Line 3
TEST 2 **
Same as TEST 1, but with:
ls_packing_list-obj_descr = 'L_12345.KEY' "Attachment name
==> Result: Attachment Filename = L_12345.KEY.txt
==> File as I need it (ASCII with CR/LF), but extension wrong
Line 1
Line 2
Line 3
TEST 3 **
Declare Attachment in Packing list. ..
ls_packing_list-transf_bin = ' '.
ls_packing_list-head_start = 1.
ls_packing_list-head_num = 0.
ls_packing_list-body_start = 7. "Startline of Attachment
ls_packing_list-body_num = 3. "No of Attachment lines
ls_packing_list-doc_type = 'KEY'.
ls_packing_list-doc_size = 3 * 255.
ls_packing_list-obj_name = 'ATT01'.
ls_packing_list-obj_descr = 'L_12345'. "Attachment name
APPEND ls_packing_list TO lt_packing_list.
==> Result: Attachment Filename = L_12345.KEY
==> File Format is wrong:
Line 1 Line 2 Line3
I have tried several other Extensions (DOC_TYPE), it seems, that the File format is only correct with "RAW", but it seems with "RAW" SAP adds ".txt" as extension to the filename.
Does anyone know how I can achieve having an e-mail attachment with multiple text lines and name "<anyname>.key"
Any help (if possible with example code ?) would be highly appreciated.
Many thanks
Haraldhi,
check the following code.
*& Form send_email
FORM send_email.
CLASS cl_abap_char_utilities DEFINITION LOAD.
CONSTANTS: con_cret TYPE c VALUE cl_abap_char_utilities=>cr_lf.
*Body of mail
CLEAR objtxt.
CLEAR objtxt[].
objtxt = 'Dear abc'.
APPEND objtxt.
CLEAR objtxt.
APPEND objtxt.
objtxt = 'Attached herewith is the detail list of materials.'.
APPEND objtxt.
CLEAR objtxt.
APPEND objtxt.
objtxt = 'Regards,'.
APPEND objtxt.
objtxt = 'Admin'.
APPEND objtxt.
DESCRIBE TABLE objtxt LINES tab_lines.
READ TABLE objtxt INDEX tab_lines.
*Mail description
CLEAR docdata.
docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
docdata-obj_name = 'List'.
docdata-obj_descr = 'List of materials'.
docdata-obj_langu = sy-langu.
*Packing list for main document
CLEAR objpack.
CLEAR objpack[].
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'RAW'.
APPEND objpack.
*Attachment data
CLEAR objbin.
CLEAR objbin[].
CONCATENATE
'field1' 'field2' 'field3' 'field4'
INTO objbin SEPARATED BY ','.
CONCATENATE con_cret objbin INTO objbin.
APPEND objbin.
LOOP AT it_material_list INTO wa_material_list.
MOVE-CORRESPONDING wa_material_list TO wa_char_material_list.
CONCATENATE
wa_char_material_list-field1
wa_char_material_list-field2
wa_char_material_list-field3
wa_char_material_list-field4
INTO objbin SEPARATED BY con_tab.
CONCATENATE con_cret objbin INTO objbin.
APPEND objbin.
CLEAR objbin.
CLEAR wa_char_employee_list.
ENDLOOP.
DESCRIBE TABLE objbin LINES tab_lines.
READ TABLE objbin INDEX tab_lines.
*Packing list for attachment document
CLEAR objpack.
objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
objpack-transf_bin = 'X'. "check these values
objpack-head_start = 1. "check these values
objpack-head_num = 1. "check these values
objpack-body_start = 1. "check these values
objpack-body_num = tab_lines.
objpack-doc_type = 'KEY'.
objpack-obj_name = 'Attachment'.
objpack-obj_descr = 'Report.KEY'.
APPEND objpack.
*Email receiver's list
CLEAR reclist.
CLEAR reclist[].
reclist-receiver = mail_id.
reclist-rec_type = 'U'.
APPEND reclist.
*Function module to send email with an attachment
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = docdata
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = objpack
contents_bin = objbin
contents_txt = objtxt
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.
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. "send_email
Edited by: vikram shah on Sep 25, 2008 5:28 PM -
"charset detection failed" while reading mail attachment
Hi,
I'm trying to config Mail to RFC scenario, in which message is being send as mail attachment. I followed this geart bolg (http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3414900)ID0061964050DB00692202668857888939End?blog=/pub/wlg/2849).
when i was testing my scenario the following ERR occurred:
"No interface determination found for outbound interface ..... : Error while determining root tag of XML: BOM / charset detection failed"
plz advise.
Regards
UriHi Uri,
Check this links
Error while determining root tag of XML: BOM / charset detection failed
interface determination not found
Error in Test Configuration
Regards
Ramesh -
Java Mapping: payload as mail attachment and dynamic file name .
Hi,
I have written this piece of java code.
The code includes XPATH for fetching dynamic filename and the copysource( in, out ) to copy the content of payload as mail attchment.
The code seems to work fine, when either of the functionality is implemented.
but when both are implemented together ie parsing for xpath then again parsing to copy payload, then it doesnt executes the latter path i.e the payload is not fetched in the attachment.
public class MailPackage implements StreamTransformation {
public void setParameter(Map map) {
public void execute(InputStream in, OutputStream out)
throws StreamTransformationException {
String mailSubject = "test mail";
String mailSender = "aaaaaaaa";
String mailReceiver = "[email protected]";
String attachmentName = null;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
factory.setNamespaceAware(false);
factory.setValidating(false);
try {
builder = factory.newDocumentBuilder();
Document doc = null;
doc = builder.parse(in);
String XPATH ="/*/Invoice/InvoiceHeader/InvoiceNumber/text()";
Node fieldValueNode = org.apache.xpath.XPathAPI.selectSingleNode(doc,XPATH);
System.out.print(fieldValueNode);
attachmentName = fieldValueNode.getNodeValue() +".xml";
String boundary = "--";
String mailContent = "This is a sample file";
String CRLF = "\r\n";
// create XML structure of mail package
String output ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<ns:Mail xmlns:ns=\"http://sap.com/xi/XI/Mail/30\">"
+ "<Subject>" + mailSubject + "</Subject>"
+ "<From>" + mailSender + "</From>"
+ "<To>" + mailReceiver + "</To>"
+ "<Content_Type>multipart/mixed; boundary=\"" + boundary + "\"</Content_Type>"
+ "<Content>";
out.write(output.getBytes());
// create the declaration of the MIME parts
//First part
output = "--" + boundary + CRLF
+ "Content-Type: text/plain; charset=UTF-8" + CRLF
+ "Content-Disposition: inline" + CRLF + CRLF
+ mailContent + CRLF
//Second part
+ "--" + boundary + CRLF
+ "Content-Type: application/xml; name=" + attachmentName + CRLF
+ "Content-Disposition: attachment; filename=" + attachmentName + CRLF + CRLF;
out.write(output.getBytes());
//Source is taken as attachment
copySource(in, out);
out.write("</Content></ns:Mail>".getBytes());
} catch (Exception ie) {
throw new StreamTransformationException(ie.getMessage());
protected static void copySource(InputStream in, OutputStream out)throws IOException {
byte[] bbuf = new byte[in.available()];
int bblen = in.read(bbuf);
if (!(bblen < 0)) {
String sbuf = new String(bbuf);
//replace all control characters with escape sequences
sbuf = sbuf.replaceAll("&", "&");
sbuf = sbuf.replaceAll("\"", """);
sbuf = sbuf.replaceAll("'", "'");
sbuf = sbuf.replaceAll("<", "<");
sbuf = sbuf.replaceAll(">", ">");
out.write(sbuf.getBytes());
Povide your suggestions.Hi,
This is the sample o/p that I get by opening the mail attachment using notepad.
<?xml version="1.0" encoding="UTF-8"?>
<InvoiceTransmission><InvoiceTransmissionHeader><InvoiceCreationDate>2008-12-03T00:00:00</InvoiceCreationDate><Version>2.0.2</Version></InvoiceTransmissionHeader><Invoice><InvoiceHeader><CustomerEntityID>LH</CustomerEntityID><IssuingEntityID>009140559</IssuingEntityID><InvoiceNumber>913353669</InvoiceNumber><InvoiceIssueDate>2008-12-03</InvoiceIssueDate><InvoiceType InvoiceTransactionType="OR">INV</InvoiceType><InvoiceDeliveryLocation>aaa</InvoiceDeliveryLocation><TaxInvoiceNumber>Not Applicable</TaxInvoiceNumber><InvoiceCurrencyCode>USD</InvoiceCurrencyCode><InvoiceTotalAmount>517174.63</InvoiceTotalAmount><InvoiceIDDetails InvoiceIDType="BT"><InvoiceIDVATRegistrationNumber>0000000000</InvoiceIDVATRegistrationNumber><InvoiceIDName1>aaaaaaaaaaaaaaa</InvoiceIDName1><InvoiceIDName2>bbbbbbHKG</InvoiceIDName2><InvoiceIDCity>ccccccccc ccccc</InvoiceIDCity><InvoiceIDCountryCode>HK</InvoiceIDCountryCode></InvoiceIDDetails><InvoiceIDDetails InvoiceIDType="II"><InvoiceIDVATRegistrationNumber>0000000000</InvoiceIDVATRegistrationNumber><InvoiceIDName1>eeeeeeee</InvoiceIDName1><InvoiceIDName2>PAY BY WIRE TRANSFER</InvoiceIDName2><InvoiceIDCity>fffffffffffffff, NA</InvoiceIDCity><InvoiceIDCustomField ID="1"><InvoiceIDCustomFieldDescription>Company Registration Number</InvoiceIDCustomFieldDescription><InvoiceIDCustomFieldValue>0000000000</InvoiceIDCustomFieldValue></InvoiceIDCustomField></InvoiceIDDetails></InvoiceHeader><SubInvoiceHeader><InvoiceLine><ItemNumber>001</ItemNumber><ItemQuantity><ItemQuantityType>IN</ItemQuantityType><ItemQuantityFlag>GR</ItemQuantityFlag><ItemQuantityQty>28134.000</ItemQuantityQty><ItemQuantityUOM>USG</ItemQuantityUOM></ItemQuantity><ItemQuantity><ItemQuantityType>DL</ItemQuantityType><ItemQuantityFlag>GR</ItemQuantityFlag><ItemQuantityQty>106498.775</ItemQuantityQty><ItemQuantityUOM>LT</ItemQuantityUOM></ItemQuantity><ItemDeliveryReferenceValue ItemDeliveryReferenceType="DTN">590365</ItemDeliveryReferenceValue><ItemDeliveryReferenceValue ItemDeliveryReferenceType="!
ARN">DAL
CH</ItemDeliveryReferenceValue><ItemDeliveryReferenceValue ItemDeliveryReferenceType="FNO">mmmmmmmmm</ItemDeliveryReferenceValue><ItemDeliveryLocation>pppp</ItemDeliveryLocation><ItemReferenceLocalDate
If you notice the problem is, the undesired "exclamation mark" that gets added in some fields before the actual value.
In the above case.. look at "ItemDeliveryReferenceType="! ARN">DAL"
the exclamation mark before value "ARN is unwanted, which leads to improper XML formation.
Cant figure out why is this coming.
Regards,
Faria Mithani -
Mail attachement content trnsfer encoding 8bit , 7bit
Good morning to everybody.
I have a problem reading mail attachement.
When the attachement is 8bit encoded the exadecimal char "3D" is write in a file as "0D". This is wrong
When the attachement is 7bit encoded the exadecimal char "3D" is write in a file as "3D" . Thi is right
Is there anyone who knows why of this beaviour?
Many thanksI'm using the msgshow.java that is the example included in the java mail library.
Attachement downloaded with JavaMail (the bad one):
�� 3D ==> 0D (CR)
2007-05-15;18.11.26;978;000469,00;380;Italy
;LUISA SPAGNOLI NAPOLI IT;34009575;8036527 ;5651;00;
Attachement downloaded with outlook (the good one):
�� 3D not translated
2007-05-15;18.11.26;978;000469,00;380;Italy =
;LUISA SPAGNOLI NAPOLI IT;34009575;8036527 ;5651;00;
Here the properties of the mail message:
Microsoft Mail Internet Headers Version 2.0
Received: from EXSMTP-IN2.sede.corp.sanpaoloimi.com ([10.244.7.21]) by EVS01.sede.corp.sanpaoloimi.com with Microsoft SMTPSVC(6.0.3790.2499);
Mon, 28 May 2007 08:09:14 +0200
Received: from secgw-b-e02.intesabci.it ([172.19.0.27]) by EXSMTP-IN2.sede.corp.sanpaoloimi.com with Microsoft SMTPSVC(6.0.3790.2499);
Mon, 28 May 2007 08:09:13 +0200
Received: MHUBINT
Received: FW
Received: from mail1.ssb.it ([192.106.129.13])
by mailbox.intesabci.it with SMTP id l4S696n5006757
for <[email protected]>; Mon, 28 May 2007 08:09:09 +0200
Received: (qmail 11377 invoked by uid 509); 28 May 2007 06:02:04 -0000
Received: from 127.0.0.1 by Imhotep (envelope-from <[email protected]>, uid 501) with qmail-scanner-2.01
(spamassassin: 3.1.3.
Clear:RC:1(127.0.0.1):.
Processed in 0.078893 secs); 28 May 2007 06:02:04 -0000
Mon, 28 May 2007 08:02:03 +0200 (CEST)
(Postfix) with SMTP id 6798F34257;Mon, 28 May 2007 08:02:03 +0200 (CEST)
to: <[email protected]>,
from: <[email protected]>
subject: 28 May 2007 08:00 PS12 FROD-ATM1
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="P=_NextPart_000_01BD3BAF.A762FD80"
Date: Mon, 28 May 07 08:00:27 B
Message-Id: <[email protected]>
Return-Path: [email protected]
X-OriginalArrivalTime: 28 May 2007 06:09:13.0674 (UTC) FILETIME=[B707A2A0:01C7A0EE]
--P=_NextPart_000_01BD3BAF.A762FD80
CONTENT-TYPE: TEXT/PLAIN; CHARSET="US-ASCII"
Content-Transfer-Encoding: 8bit
--P=_NextPart_000_01BD3BAF.A762FD80
Content-Type: text/plain; charset=us-ascii; name="SPIMI.TXT"
Content-Disposition: attachment
Content-Transfer-Encoding: quoted-printable
X-MIME-Autoconverted: from 8bit to quoted-printable by mailbox.intesabci.it id l4S696n5006757
--P=_NextPart_000_01BD3BAF.A762FD80
CONTENT-TYPE: TEXT/PLAIN; CHARSET="US-ASCII"
Content-Transfer-Encoding: 8bit �������� I think the problem is here
P=_NextPart_000_01BD3BAF.A762FD80 -
Hi,
im working on sending report output as mail attachment in pdf format..
but im not getting the required output,,,i.e., even after entering email addresses in the selection screen....im not getting any mail to the respective mail-ids..
im pasting the code..pls fix the problem..
pls let me know wat we have to do in SCOT transaction after executing the program....pls respond ..pls ..
TABLES : t001, "COMPANY CODE
knb1, "CUSTOMER MASTER(COMPANY CODE)
cdhdr, "CHANGE DOCUMENT HEADER
knkk, "CUSTOMER MASTER CREDIT MANAGEMENT: CONTROL AREA DATA
kna1, "GENERAL DATA IN CUSTOMER MASTER
adrc, "ADDRESSES (BUSINESS ADDRESS SERVICES)
t001s, "ACCOUNTING CLERKS
adrt, "COMMUNICATION DATA TEXT (BUSINESS ADDRESS SERVICES)
adr6. "E-MAIL ADDRESSES (BUSINESS ADDRESS SERVICES)
TABLES: itcpo, "SAPscript output interface
itcpp. "SAPscript output parameters
TYPES: BEGIN OF y_t001,
bukrs TYPE bukrs,
kkber TYPE kkber,
adrnr TYPE adrnr,
END OF y_t001.
TYPES: BEGIN OF y_cust,
p_objectid TYPE cdobjectv,
END OF y_cust.
TYPES: BEGIN OF y_knkk,
kunnr TYPE kunnr,
kkber TYPE kkber,
dtrev TYPE dtrev_cm,
nxtrv TYPE nxtrv_cm,
klimk TYPE klimk,
dbwae TYPE dbwae_cm,
END OF y_knkk.
TYPES: BEGIN OF y_customer,
kunnr TYPE kunnr,
adrnr TYPE adrnr,
END OF y_customer.
TYPES: BEGIN OF y_custo ,
kunnr TYPE kunnr,
name TYPE name1_gp,
kkber TYPE kkber,
END OF y_custo.
TYPES: BEGIN OF y_knkk1,
kunnr LIKE knkk-kunnr,
dtrev LIKE knkk-dtrev,
nxtrv LIKE knkk-nxtrv,
klimk LIKE knkk-klimk,
END OF y_knkk1.
TYPES: BEGIN OF y_report_display,
kunnr TYPE kunnr,
name TYPE name1_gp,
dtrev TYPE dtrev_cm,
nxtrv TYPE nxtrv_cm,
klimk TYPE klimk,
dbwae TYPE dbwae_cm,
END OF y_report_display.
TYPES: BEGIN OF y_adrt,
addrnumber TYPE adrnr,
comm_type TYPE ad_comm,
remark TYPE ad_remark2,
persnumber TYPE ad_persnum,
date_from TYPE ad_date_fr,
consnumber TYPE ad_consnum,
smtp_addr TYPE ad_smtpadr,
END OF y_adrt.
*TYPES : BEGIN OF y_adr6,
addrnumber TYPE ad_addrnum,
persnumber TYPE ad_persnum,
date_from TYPE ad_date_fr,
consnumber TYPE ad_consnum,
smtp_addr TYPE ad_smtpadr,
END OF y_adr6.
*TYPES: BEGIN OF y_addr,
addrnumber TYPE adrnr,
name1 TYPE ad_name1,
postcode TYPE ad_pstcd1,
city1 TYPE ad_city1,
street TYPE ad_street,
housenum TYPE ad_hsnm1,
telnum TYPE ad_tlnmbr1,
faxnum TYPE ad_fxnmbr1,
END OF y_addr.
TYPES: BEGIN OF y_custnam,
adrnr TYPE adrnr,
name2 TYPE ad_name1,
END OF y_custnam.
TYPES: BEGIN OF y_kna1,
kunnr TYPE kunnr,
adrnr TYPE adrnr,
name1 TYPE name1,
END OF y_kna1.
TYPES: BEGIN OF y_knb1,
kunnr TYPE kunnr,
bukrs TYPE bukrs,
busab TYPE busab,
END OF y_knb1.
TYPES: BEGIN OF y_clv,
dtrev TYPE dtrev_cm,
nxtrv TYPE nxtrv_cm,
klimk TYPE klimk,
END OF y_clv.
TYPES: BEGIN OF y_ccname,
sname TYPE t001s-sname,
END OF y_ccname.
*TYPES DECLARATION FOR DESIGING SCRIPT
TYPES : BEGIN OF y_adrc,
addrnumber LIKE adrc-addrnumber,
name1 LIKE adrc-name1,
post_code1 LIKE adrc-post_code1,
city1 LIKE adrc-city1,
street LIKE adrc-street,
house_num1 LIKE adrc-house_num1,
tel_number LIKE adrc-tel_number,
nation LIKE adrc-nation ,
fax_number LIKE adrc-fax_number,
country LIKE adrc-country,
END OF y_adrc.
*TO GET C1 (CUSTOMER NAME IN RUSSIAN
TYPES : BEGIN OF y_adrc1,
addrnumber LIKE adrc-addrnumber,
name1 LIKE adrc-name1,
nation LIKE adrc-nation,
END OF y_adrc1.
*TO GET C7
TYPES :BEGIN OF y_t001s,
bukrs LIKE t001s-bukrs, "Company Code
busab LIKE t001s-busab,
sname LIKE t001s-sname,
END OF y_t001s.
CONSTANTS:
c_printer LIKE itcpp-tddevice VALUE 'PRINTER',
c_true(1) TYPE c VALUE 'X',
c_1(1) TYPE n VALUE '1',
c_pdf_format(3) TYPE c VALUE 'PDF',
c_u LIKE soos1-recesc VALUE 'U',
c_recipient_name LIKE soos1-recnam VALUE 'U-',
c_english LIKE sy-langu VALUE 'E',
c_f LIKE sood1-objsns VALUE 'F',
c_int(3) TYPE c VALUE 'INT',
c_main(4) TYPE c VALUE 'ITEM',
c_main_window(4) TYPE c VALUE 'MAIN',
c_header(6) TYPE c VALUE 'HEADER',
c_minus_sign(1) TYPE c VALUE '-',
c_document_type LIKE sood-objtp VALUE 'EXT',
c_space(1) TYPE c VALUE ' '.
DATA t_result LIKE itcpp.
DATA :w_t001 TYPE t001,
w_custo TYPE y_custo,
w_knkk TYPE y_knkk,
w_cust TYPE y_cust,
w_customer TYPE y_customer,
w_report_display TYPE y_report_display,
w_addr TYPE y_addr,
w_custnam TYPE y_custnam,
w_adrt TYPE y_adrt,
w_adr6 TYPE y_adr6,
w_kna1 TYPE y_kna1,
w_knb1 TYPE y_knb1,
w_clv TYPE y_clv,
w_ccname TYPE y_ccname.
DATA: w_error_found(1) TYPE c,
w_key_date_text(30) TYPE c,
w_total(10) TYPE p DECIMALS 2,
w_htddevice LIKE itcpp-tddevice.
DATA: E_PROFILE LIKE SOPRD.
DATA: t_t001 TYPE STANDARD TABLE OF y_t001,
t_custo TYPE STANDARD TABLE OF y_custo,
t_knkk TYPE STANDARD TABLE OF y_knkk,
t_cust TYPE STANDARD TABLE OF y_cust,
t_customer TYPE STANDARD TABLE OF y_customer,
t_report_display TYPE STANDARD TABLE OF y_report_display,
t_addr TYPE STANDARD TABLE OF y_addr,
t_custnam TYPE STANDARD TABLE OF y_custnam,
t_adrt TYPE STANDARD TABLE OF y_adrt,
t_adr6 TYPE STANDARD TABLE OF y_adr6,
t_kna1 TYPE STANDARD TABLE OF y_kna1,
t_knb1 TYPE STANDARD TABLE OF y_knb1,
t_clv TYPE STANDARD TABLE OF y_clv,
t_ccname TYPE STANDARD TABLE OF y_ccname.
DATA : number LIKE spell,
amount(1000) TYPE c.
For storing error log
DATA: BEGIN OF t_error OCCURS 0,
kunnr LIKE kna1-kunnr,
comm(30) TYPE c,
END OF t_error.
For storing customer's email address
DATA: BEGIN OF t_email OCCURS 0,
smtp_addr LIKE adr6-smtp_addr,
END OF t_email.
To be used in the function to send a layout via email
DATA: t_otfdata LIKE itcoo OCCURS 0 WITH HEADER LINE,
t_htline LIKE tline OCCURS 0 WITH HEADER LINE.
DATA DECLARATIONS FOR DESIGING SCRIPT
DATA : it_t001 TYPE STANDARD TABLE OF y_t001,
wa_t001 TYPE y_t001.
DATA : it_adrc TYPE STANDARD TABLE OF y_adrc,
wa_adrc type y_adrc.
DATA : it_adrc1 TYPE STANDARD TABLE OF y_adrc1,
wa_adrc1 TYPE y_adrc1.
DATA : it_knb1 TYPE STANDARD TABLE OF y_knb1,
wa_knb1 TYPE y_knb1.
DATA : it_kna1 TYPE STANDARD TABLE OF y_kna1,
wa_kna1 TYPE y_kna1.
DATA : it_knkk TYPE STANDARD TABLE OF y_knkk,
wa_knkk TYPE y_knkk.
DATA : it_knkk1 TYPE STANDARD TABLE OF y_knkk1,
wa_knkk1 TYPE y_knkk1.
DATA : it_t001s TYPE STANDARD TABLE OF y_t001s,
wa_t001s TYPE y_t001s.
*DATA STATEMENTS FOR EMAIL ADDRESSES
DATA : it_adrt TYPE TABLE OF y_adrt,
wa_adrt TYPE y_adrt,
wa_email LIKE t_email.
*DATA : it_adr6 TYPE TABLE OF y_adr6,
wa_adr6 TYPE y_adr6,
DATA : counter TYPE i,
counter1 TYPE i,
c5 LIKE spell.
SELECTION-SCREEN BEGIN OF BLOCK clcn WITH FRAME TITLE text-200.
SELECTION-SCREEN SKIP.
PARAMETERS: p_bukrs LIKE t001-bukrs OBLIGATORY, "COMPANY CODE
p_kkber LIKE t001-kkber OBLIGATORY. "CREDIT CONTROL AREA
SELECT-OPTIONS: s_kunnr FOR knb1-kunnr OBLIGATORY, "CUSTOMER NUMBER
s_datum FOR sy-datum OBLIGATORY DEFAULT sy-datum. "DATE OF CREDIT LIMIT UPDATE
SELECTION-SCREEN SKIP.
PARAMETERS : p_simul AS CHECKBOX DEFAULT 'X'. "RUN IN SIMULATION MODE
SELECTION-SCREEN SKIP.
PARAMETERS : p_lemail LIKE adr6-smtp_addr. " EMAIL
SELECTION-SCREEN END OF BLOCK clcn.
AT SELECTION-SCREEN.
PERFORM f0100_validate_bukrs. "* For Company Code.
PERFORM f0200_validate_kkber. "* For Credit Control Area.
PERFORM f0300_validate_kunnr. "* For Customer Number
PERFORM f0400_validate_datum. "* For Date of Credit Limit Update
PERFORM f0500_validate_simul. "* For simulation mode and e-mail address
*======================================================================
START-OF-SELECTION.
PERFORM f1000_get_customer. "** COLLECT INFO FOR REPORT DISPLAY
IF p_simul is initial AND NOT P_lemail IS INITIAL.
PERFORM F1000_CHECK_GATEWAY_CONNECTION.
ENDIF.
IF p_simul IS INITIAL AND NOT p_lemail IS INITIAL.
PERFORM f3000_process_data_script USING t_report_display.
ENDIF.
END-OF-SELECTION.
IF NOT p_simul IS INITIAL.
PERFORM f2000_display_customer USING t_report_display.
ENDIF.
FORM f0100_validate_bukrs.
DATA : w_bukrs TYPE bukrs.
VALIDATION OF P_BUKRS
SELECT SINGLE bukrs
FROM t001
INTO w_bukrs
WHERE bukrs EQ p_bukrs.
IF sy-subrc NE 0.
MESSAGE e999(zf) WITH 'Invalid Company Code' p_bukrs. "(E01).
*AUTHORIZATION CHECK
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
ID 'BUKRS' FIELD p_bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e999(zf) WITH 'No Authorization for company code' p_bukrs."(e06).
ENDIF.
ENDIF.
ENDFORM. " F0100_VALIDATE_BUKRS
*Eject
*& Form F0200_VALIDATE_KKBER
*-> CREDIT CONTROL AREA AUTHORITY CHECK
FOR CREDIT CONTROL AREA.
FORM f0200_validate_kkber.
DATA : w_kkber LIKE t001-kkber.
SELECT SINGLE kkber
FROM t001
INTO w_kkber
WHERE bukrs EQ p_bukrs
AND kkber EQ p_kkber.
IF sy-subrc NE 0.
MESSAGE e999(zf) WITH
'Credit Control Area' p_kkber 'not defined for Company Code' p_bukrs."(e02).
MESSAGE e999 WITH text-e02 p_kkber .
ENDIF.
ENDFORM. "F0200_VALIDATE_KKBER
*& Form F0300_VALIDATE_KUNNR
*-> CUSTOMER NUMBER AUTHORITY CHECK
FORM f0300_validate_kunnr.
VALIDATION OF S_KUNNR
DATA : w_kunnr TYPE kunnr,
w_bukrs TYPE bukrs.
IF s_kunnr IS INITIAL .
MESSAGE e999 WITH 'Enter Customer Number'(e04).
SUBMIT (sy-cprog) VIA SELECTION-SCREEN.
ENDIF.
LOOP AT s_kunnr.
CLEAR : w_kunnr,
w_bukrs.
IF NOT s_kunnr-low IS INITIAL.
SELECT SINGLE kunnr bukrs
FROM knb1 INTO (w_kunnr ,w_bukrs)
WHERE kunnr EQ s_kunnr-low
AND bukrs EQ p_bukrs.
IF sy-subrc NE 0.
MESSAGE e999(zf) WITH 'Customer S_KUNNR-LOW not defined in company code' p_bukrs."(e03).
ENDIF.
ENDIF. "if not s_kunnr-low is initial.
IF NOT s_kunnr-high IS INITIAL.
CLEAR : w_kunnr,
w_bukrs.
SELECT SINGLE kunnr bukrs
FROM knb1 INTO (w_kunnr , w_bukrs)
WHERE kunnr EQ s_kunnr-high
AND bukrs EQ p_bukrs.
IF sy-subrc NE 0.
MESSAGE e999(zf) WITH 'Customer S_KUNNR-HIGH not defined in company code' p_bukrs."(e03).
ENDIF.
ENDIF. "if not s_kunnr-high is initial.
ENDLOOP. " loop at s_kunnr
ENDFORM. " F0200_VALIDATE_KUNNR
*& Form F0400_VALIDATE_DATUM
*-> DATE OF CREDIT LIMIT UPDATE
FORM f0400_validate_datum.
IF s_kunnr IS INITIAL AND s_datum IS INITIAL.
MESSAGE e999 WITH 'Enter either Date of CL update or Customer number.'(e04).
ENDIF.
ENDFORM. "F0400_VALIDATE_DATUM
*& Form F1000_GET_CUSTOMER
text
--> p1 text
<-- p2 text
FORM f1000_get_customer .
DATA : w_kunnr LIKE knkk-kunnr,
w_kkber LIKE knkk-kkber.
IF s_datum IS NOT INITIAL.
SELECT objectid
FROM cdhdr
INTO TABLE t_cust
WHERE objectclas IN ('KLIM','DTREV','NXTRV')
AND change_ind IN ('U','I')
AND udate IN s_datum.
WHERE ( objectclas EQ 'KLIM' OR objectclas EQ 'DTREV' OR objectclas EQ 'NXTRV')
AND ( change_ind EQ 'U' OR change_ind EQ 'I')
AND udate IN s_datum .
ENDIF.
IF sy-subrc NE 0.
MESSAGE s999 WITH 'There is no data for selected period'(e07).
ELSE.
MOVE t_cust TO t_customer.
ENDIF.
SORT t_customer BY kunnr.
IF NOT t_customer[] IS INITIAL.
SELECT kunnr
kkber
dtrev
nxtrv
klimk
dbwae
FROM knkk
INTO TABLE t_knkk
FOR ALL ENTRIES IN t_customer
WHERE kunnr = t_customer-kunnr
AND kkber = p_kkber.
ELSE.
MESSAGE e999 WITH text-e07.
ENDIF.
IF sy-subrc NE 0.
ENDIF.
SORT t_knkk BY kunnr kkber.
IF NOT t_knkk[] IS INITIAL.
SELECT kunnr
name1
FROM kna1
INTO TABLE t_custo
FOR ALL ENTRIES IN t_knkk
WHERE kunnr = t_knkk-kunnr.
ENDIF.
IF sy-subrc = 0.
ENDIF.
SORT t_custo BY kunnr kkber.
LOOP AT t_custo INTO w_custo.
CLEAR w_knkk.
READ TABLE t_knkk INTO w_knkk WITH KEY kunnr = w_custo-kunnr
BINARY SEARCH.
IF sy-subrc = 0.
w_report_display-kunnr = w_custo-kunnr.
w_report_display-name = w_custo-name.
w_report_display-dtrev = w_knkk-dtrev.
w_report_display-nxtrv = w_knkk-nxtrv.
w_report_display-klimk = w_knkk-klimk.
w_report_display-dbwae = w_knkk-dbwae.
APPEND w_report_display TO t_report_display .
ENDIF.
ENDLOOP.
ENDFORM. " F1000_GET_CUSTOMER
*& Form F2000_DISPLAY_CUSTOMER
text
-->P_T_REPORT_DISPLAY text
FORM f2000_display_customer USING p_t_report_display.
DATA: no TYPE n VALUE 1.
DATA: t_data TYPE STANDARD TABLE OF y_report_display.
t_data = p_t_report_display.
DATA : w_data LIKE LINE OF t_data .
ULINE (118).
WRITE:/ sy-vline,
8 'CREDIT LIMIT CHANGE NOTIFICATION REPORT ON',
sy-datum , 118 sy-vline.
ULINE (118).
WRITE:/ sy-vline,'NO'(008) ,
10 sy-vline, 11 'CUSTOMER NUMBER',
28 sy-vline, 29 'CUSTOMER NAME', 43 sy-vline,
44 'CREDIT LIMIT VALID', 63 sy-vline ,
64 'CREDIT LIMIT AMOUNT', 85 sy-vline, 86 'CURRENCY',
95 sy-vline , 96 'Notification Status',118 sy-vline.
ULINE (118).
WRITE:/ sy-vline,43 sy-vline, 44 'FROM', 53 sy-vline,
56 'TILL', 63 sy-vline, 118 sy-vline .
ULINE (118).
LOOP AT t_data INTO w_data.
WRITE:/ sy-vline, no,
10 sy-vline, 11 w_data-kunnr ,
28 sy-vline, 29 w_data-name, 43 sy-vline, 44 w_data-dtrev,
53 sy-vline, 56 w_data-nxtrv ,63 sy-vline ,64 w_data-klimk,
85 sy-vline, 86 w_data-dbwae,
95 sy-vline , 118 sy-vline.
no = no + 1.
ULINE (118).
ENDLOOP.
ENDFORM. " F2000_DISPLAY_CUSTOMER
*& Form F3000_PROCESS_DATA_SCRIPT
text
-->P_T_REPORT_DISPLAY text
FORM f3000_process_data_script USING p_t_report_display.
DATA: t_data TYPE STANDARD TABLE OF y_report_display.
t_data = p_t_report_display.
DATA : w_data LIKE LINE OF t_data .
DATA: temp_is_negative(1) TYPE c,
temp_text(20) TYPE c,
temp_sname LIKE t001s-sname,
temp_email LIKE adr6-smtp_addr.
DATA : number LIKE spell,
amount(255) TYPE c.
PERFORM f3100_initialize_settings.
LOOP AT t_data INTO w_data.
AT NEW kunnr.
CLEAR w_error_found.
IF p_simul IS INITIAL AND NOT p_lemail IS INITIAL.
PERFORM f3300_open_form.
data: wa_t001 like line of t001
DATA : begin of wa_t001,
adrnr like t001-adrnr,
end of wa_t001.
SELECT SINGLE
adrnr FROM t001 INTO wa_t001
WHERE bukrs = p_bukrs.
DATA: BEGIN OF wa_adrc,
addrnumber LIKE adrc-addrnumber,
name1 LIKE adrc-name1,
post_code1 LIKE adrc-post_code1,
city1 LIKE adrc-city1,
street LIKE adrc-street,
house_num1 LIKE adrc-house_num1,
tel_number LIKE adrc-tel_number,
nation LIKE adrc-nation ,
fax_number LIKE adrc-fax_number,
country LIKE adrc-country,
END OF wa_adrc.
SELECT SINGLE
addrnumber
name1
post_code1
city1
street
house_num1
tel_number
nation
fax_number
country
FROM adrc
INTO corresponding fields of wa_adrc
WHERE addrnumber EQ wa_t001-adrnr AND
nation EQ ' '.
PERFORM f3700_write_form.
DATA: wa_kna1 LIKE LINE OF t_kna1,
wa_adrcc LIKE LINE OF it_adrc.
SELECT SINGLE
kunnr
adrnr FROM kna1
INTO wa_kna1
WHERE kunnr = w_data-kunnr.
IF sy-subrc EQ 0.
SELECT SINGLE
addrnumber
name1
FROM adrc
INTO wa_adrcc
WHERE addrnumber = wa_kna1-adrnr
AND nation = ' '.
ENDIF.
PERFORM f3701_write_form.
DATA : wa_knkk LIKE LINE OF t_knkk.
DATA : counter TYPE i,
counter1 TYPE i.
IF sy-subrc EQ 0.
SELECT SINGLE KUNNR
DTREV
NXTRV
KLIMK FROM KNKK INTO WA_KNKK WHERE
KUNNR EQ W_DATA-KUNNR.
ENDIF.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = w_knkk-klimk
CURRENCY = ' '
FILLER = ' '
language = sy-langu
IMPORTING
in_words = number.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
amount = number-word.
PERFORM f3702_write_form.
DATA: wa_knb1 LIKE LINE OF t_knb1.
IF sy-subrc EQ 0.
SELECT SINGLE
busab
FROM knb1
INTO wa_knb1
WHERE kunnr = w_data-kunnr
AND bukrs = p_bukrs.
ENDIF.
DATA : wa_t001s LIKE LINE OF it_t001s.
IF sy-subrc EQ 0.
SELECT SINGLE bukrs
busab
sname
FROM t001s
INTO wa_t001s
WHERE bukrs = wa_knb1-bukrs
AND busab = wa_knb1-busab.
ENDIF.
PERFORM f3703_write_form.
PERFORM f3704_write_form.
IF counter1 < counter.
PERFORM f3705_write_form.
ENDIF.
PERFORM f3706_close_form.
ENDIF.
ENDAT.
IF w_error_found EQ c_true.
ENDIF.
AT END OF kunnr.
PERFORM F3400_WRITE_FORM USING C_TOTAL C_MAIN_WINDOW.
PERFORM F3500_CLOSE_FORM.
IF p_simul IS INITIAL AND NOT p_lemail IS INITIAL. "Email setting
PERFORM f3200_get_email_addr USING w_data-kunnr.
PERFORM f3600_send_data_via_email USING w_data-kunnr.
ENDIF.
ENDAT.
ENDLOOP.
WRITE:/ ' E-Mail is sent to the customer'.
ENDFORM. " F3000_PROCESS_DATA_SCRIPT
*& Form F3100_INITIALIZE_SETTINGS
text
--> p1 text
<-- p2 text
FORM f3100_initialize_settings .
SELECT SINGLE spld
INTO itcpo-tddest
FROM usr01
WHERE bname EQ sy-uname.
IF sy-subrc NE 0.
itcpo-tddest = 'LOCAL'.
ENDIF.
w_htddevice = c_printer.
itcpo-tddest = ''.
itcpo-tdrdidev = ''.
itcpo-tdsenddate = sy-datum.
itcpo-tdsendtime = sy-uzeit.
itcpo-tdschedule = 'IMM'.
itcpo-tdimmed = ' '.
itcpo-tdnewid = c_true. "PRINT: New spool request
itcpo-tdlifetime = c_1. "PRINT: Spool retention period
itcpo-tdgetotf = c_true.
IF p_simul IS INITIAL AND NOT p_lemail IS INITIAL. "Email setting
itcpo-tdgetotf = c_true.
ENDIF.
ENDFORM. " F3100_INITIALIZE_SETTINGS
*& Form f0500_validate_simul
text
--> p1 text
<-- p2 text
FORM f0500_validate_simul .
IF p_simul IS INITIAL AND p_lemail IS INITIAL. "Email setting
MESSAGE e999(zf) WITH 'Enter Email address'. "(e05).
ENDIF.
ENDFORM. " f0500_validate_simul
*& Form F3600_SEND_DATA_VIA_EMAIL
text
-->P_W_DATA_KUNNR text
FORM f3600_send_data_via_email USING p_w_data_kunnr.
DATA: fle1(2) TYPE p,
fle2(2) TYPE p,
off1 TYPE p,
hltlines TYPE i,
temp_filesize TYPE i,
hfeld(500) TYPE c,
header(50) TYPE c,
htabix LIKE sy-tabix,
x_sent_to_all LIKE sonv-flag.
DATA: BEGIN OF x_objcont OCCURS 0.
INCLUDE STRUCTURE soli.
INCLUDE STRUCTURE SOLISTI1.
DATA: END OF x_objcont.
DATA: BEGIN OF x_object_hd_change.
INCLUDE STRUCTURE sood1.
DATA: END OF x_object_hd_change.
DATA: BEGIN OF x_receivers OCCURS 0.
INCLUDE STRUCTURE soos1.
INCLUDE STRUCTURE SOMLRECI1.
DATA: END OF x_receivers.
DATA: BEGIN OF x_objhead OCCURS 1.
INCLUDE STRUCTURE soli.
DATA: END OF x_objhead.
**Data: begin of objpack occurs 0.
include structure SOPCKLSTI1.
**Data: end of objpack.
**Data: begin of email_data occurs 0.
include structure SODOCCHGI1.
**Data: end of email_data.
Converts the layout set to PDF format
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = c_pdf_format
IMPORTING
bin_filesize = temp_filesize
TABLES
otf = t_otfdata
lines = t_htline
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
IF sy-subrc NE 0.
w_error_found = c_true.
t_error-kunnr = p_w_data_kunnr.
t_error-comm = 'Error in conversion to PDF format.'(e08).
APPEND t_error.
CLEAR t_error.
EXIT.
ENDIF.
Convert the PDF file into an internal table which to be used in the
function that will send a PDF file to a email address
DESCRIBE TABLE t_htline LINES hltlines.
DESCRIBE FIELD T_HTLINE LENGTH FLE1 IN BYTE MODE.
DESCRIBE FIELD t_htline LENGTH fle1
IN CHARACTER MODE.
DESCRIBE FIELD X_OBJCONT LENGTH FLE2 IN BYTE MODE.
DESCRIBE FIELD x_objcont LENGTH fle2
IN CHARACTER MODE.
CLEAR x_objcont.
REFRESH x_objcont.
LOOP AT t_htline.
htabix = sy-tabix.
MOVE t_htline TO hfeld+off1.
IF htabix = hltlines.
fle1 = STRLEN( t_htline ).
ENDIF.
off1 = off1 + fle1.
IF off1 GE fle2.
CLEAR x_objcont.
x_objcont = hfeld(fle2).
APPEND x_objcont.
SHIFT hfeld BY fle2 PLACES.
off1 = off1 - fle2.
ENDIF.
IF htabix = hltlines.
IF off1 GT 0.
CLEAR x_objcont.
x_objcont = hfeld(off1).
APPEND x_objcont.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT t_email.
x_receivers-receiver = t_email-smtp_addr.
x_receivers-rec_type = c_u.
APPEND x_receivers.
ENDLOOP.
x_receivers-receiver = p_lemail.
x_receivers-rec_type = c_u.
APPEND x_receivers.
DESCRIBE TABLE x_objcont LINES sy-tfill.
READ TABLE x_objcont INDEX sy-tfill.
email_data-doc_size = ( sy-tfill - 1 ) * 255 + STRLEN( x_objcont ).
CLEAR objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = sy-tfill.
objpack-doc_type = 'RAW'.
APPEND objpack.
email_data-obj_descr = 'Notification'.
APPEND email_data.
IF x_receivers[] IS NOT INITIAL.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = email_data
put_in_outbox = 'X'
commit_work = 'X' "used from rel. 6.10
TABLES
packing_list = objpack
object_header = email_fname
contents_bin = email_text
contents_txt = x_objcont
receivers = x_receivers.
endif.
CLEAR x_objhead.
REFRESH x_objhead.
CLEAR x_object_hd_change.
x_object_hd_change-objnam = 'EMAIL'(t04).
header = 'Procter & Gamble'(t05).
x_object_hd_change-objdes = header. "Title
x_object_hd_change-objla = c_english. "Language
x_object_hd_change-objsns = c_f.
x_object_hd_change-objlen = temp_filesize.
x_object_hd_change-file_ext = c_pdf_format.
Transfer the email address to an internal table which will be used
in the function that will send a PDF file to a email address
CLEAR x_receivers.
REFRESH x_receivers.
LOOP AT t_email.
x_receivers-sndex = c_true.
x_receivers-sndpri = c_1.
x_receivers-recesc = c_u.
x_receivers-recnam = c_recipient_name.
Populate the email address of the customer
x_receivers-recextnam = t_email-smtp_addr.
x_receivers-recesc = c_english.
x_receivers-sndart = c_int.
APPEND x_receivers.
ENDLOOP.
x_receivers-sndex = c_true.
x_receivers-sndpri = c_1.
x_receivers-recesc = c_u.
x_receivers-recnam = c_recipient_name.
Populate the Local mail address
x_receivers-recextnam = p_lemail.
x_receivers-recesc = c_english.
x_receivers-sndart = c_int.
APPEND x_receivers.
Calling a SAP function to send out email with attachment of PDF file
CALL FUNCTION 'SO_OBJECT_SEND'
EXPORTING
object_hd_change = x_object_hd_change
object_type = c_document_type
outbox_flag = c_true
IMPORTING
sent_to_all = x_sent_to_all
TABLES
objcont = x_objcont
objhead = x_objhead
receivers = x_receivers
EXCEPTIONS
active_user_not_exist = 1
communication_failure = 2
component_not_available = 3
folder_not_exist = 4
folder_no_authorization = 5
forwarder_not_exist = 6
note_not_exist = 7
object_not_exist = 8
object_not_sent = 9
object_no_authorization = 10
object_type_not_exist = 11
operation_no_authorization = 12
owner_not_exist = 13
parameter_error = 14
substitute_not_active = 15
substitute_not_defined = 16
system_failure = 17
too_much_receivers = 18
user_not_exist = 19
x_error = 20
OTHERS = 21.
IF sy-subrc NE 0.
w_error_found = c_true.
t_error-kunnr = p_w_data_kunnr.
t_error-comm = 'Error in sending email.'(e09).
APPEND t_error.
CLEAR t_error.
ELSEIF sy-subrc EQ 0.
COMMIT WORK.
*Transmit Mail
SUBMIT rsconn01 WITH mode = c_int
WITH output = c_space
AND RETURN.
ENDIF.
ENDFORM. " F3600_SEND_DATA_VIA_EMAIL
*& Form F3200_GET_EMAIL_ADDR
text
-->P_T_REPORT_DISPLAY text
FORM f3200_get_email_addr USING p_w_data_kunnr.
REFRESH t_customer.
REFRESH t_adrt.
REFRESH t_email.
DATA: t_data TYPE STANDARD TABLE OF y_report_display.
t_data = p_t_report_display.
DATA : w_data LIKE LINE OF t_data .Sending mail with attachment
This program will allowed you to send email with attachment.
First, specify the attachment file from your local hardisk and execute.
Next, specify the sender email address and click the send button.
report y_cr17_mail.
data method1 like sy-ucomm.
data g_user like soudnamei1.
data g_user_data like soudatai1.
data g_owner like soud-usrnam.
data g_receipients like soos1 occurs 0 with header line.
data g_document like sood4 .
data g_header like sood2.
data g_folmam like sofm2.
data g_objcnt like soli occurs 0 with header line.
data g_objhead like soli occurs 0 with header line.
data g_objpara like selc occurs 0 with header line.
data g_objparb like soop1 occurs 0 with header line.
data g_attachments like sood5 occurs 0 with header line.
data g_references like soxrl occurs 0 with header line.
data g_authority like sofa-usracc.
data g_ref_document like sood4.
data g_new_parent like soodk.
data: begin of g_files occurs 10 ,
text(4096) type c,
end of g_files.
data : fold_number(12) type c,
fold_yr(2) type c,
fold_type(3) type c.
parameters ws_file(4096) type c default 'c:\debugger.txt'.
Can me any file fromyour pc ....either xls or word or ppt etc ...
g_user-sapname = sy-uname.
call function 'SO_USER_READ_API1'
exporting
user = g_user
PREPARE_FOR_FOLDER_ACCESS = ' '
importing
user_data = g_user_data
EXCEPTIONS
USER_NOT_EXIST = 1
PARAMETER_ERROR = 2
X_ERROR = 3
OTHERS = 4
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
fold_type = g_user_data-outboxfol+0(3).
fold_yr = g_user_data-outboxfol+3(2).
fold_number = g_user_data-outboxfol+5(12).
clear g_files.
refresh : g_objcnt,
g_objhead,
g_objpara,
g_objparb,
g_receipients,
g_attachments,
g_references,
g_files.
method1 = 'SAVE'.
g_document-foltp = fold_type.
g_document-folyr = fold_yr.
g_document-folno = fold_number.
g_document-objtp = g_user_data-object_typ.
*g_document-OBJYR = '27'.
*g_document-OBJNO = '000000002365'.
*g_document-OBJNAM = 'MESSAGE'.
g_document-objdes = 'sap-img.com testing by program'.
g_document-folrg = 'O'.
*g_document-okcode = 'CHNG'.
g_document-objlen = '0'.
g_document-file_ext = 'TXT'.
g_header-objdes = 'sap-img.com testing by program'.
g_header-file_ext = 'TXT'.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = sy-uname
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header
FOLMEM_DATA =
RECEIVE_DATA =
File from the pc to send...
method1 = 'ATTCREATEFROMPC'.
g_files-text = ws_file.
append g_files.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = g_owner
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header
method1 = 'SEND'.
g_receipients-recnam = 'MK085'.
g_receipients-recesc = 'B'.
g_receipients-sndex = 'X'.
append g_receipients.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = g_owner
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header.
*-- End of Program
also try this one for background scheduling the same
Sending mail with attachment report in Background
Pay attention because its working with output list from spool converted to pdf.
=================================================================================
z_send_email_fax_global
FUNCTION-POOL z_gfaian_mail_fax. MESSAGE-ID ..
WORK TABLE AREAS
TABLES: tsp01.
INTERNAL TABLES
DATA: lt_rec_tab LIKE STANDARD TABLE OF soos1 WITH HEADER LINE,
lt_note_text LIKE STANDARD TABLE OF soli WITH HEADER LINE,
lt_attachments LIKE STANDARD TABLE OF sood5 WITH HEADER LINE.
DATA: lt_objcont LIKE STANDARD TABLE OF soli WITH HEADER LINE,
lt_objhead LIKE STANDARD TABLE OF soli WITH HEADER LINE.
DATA: pdf_format LIKE STANDARD TABLE OF tline WITH HEADER LINE.
TYPES: BEGIN OF y_files,
file(60) TYPE c,
END OF y_files.
DATA: lt_files TYPE STANDARD TABLE OF y_files WITH HEADER LINE.
DATA: l_objcont LIKE soli OCCURS 0 WITH HEADER LINE.
DATA: l_objhead LIKE soli OCCURS 0 WITH HEADER LINE.
STRUCTURES
DATA: folder_id LIKE soodk,
object_id LIKE soodk,
link_folder_id LIKE soodk,
g_document LIKE sood4,
g_header_data LIKE sood2,
g_folmem_data LIKE sofm2,
g_header_data LIKE sood2,
g_receive_data LIKE soos6,
g_ref_document LIKE sood4,
g_new_parent LIKE soodk,
l_folder_id LIKE sofdk,
v_email(50).
DATA: hd_dat like sood1.
VARIABLES
DATA: client LIKE tst01-dclient,
name LIKE tst01-dname,
objtype LIKE rststype-type,
type LIKE rststype-type.
DATA: numbytes TYPE i,
arc_idx LIKE toa_dara,
pdfspoolid LIKE tsp01-rqident,
jobname LIKE tbtcjob-jobname,
jobcount LIKE tbtcjob-jobcount,
is_otf.
DATA: outbox_flag LIKE sonv-flag VALUE X,
store_flag LIKE sonv-flag,
delete_flag LIKE sonv-flag,
owner LIKE soud-usrnam,
on LIKE sonv-flag VALUE X,
sent_to_all LIKE sonv-flag,
g_authority LIKE sofa-usracc,
w_objdes LIKE sood4-objdes.
DATA: c_file LIKE rlgrap-filename,
n_spool(6) TYPE n.
DATA: cancel.
DATA: desired_type LIKE sood-objtp,
real_type LIKE sood-objtp,
attach_type LIKE sood-objtp,
otf LIKE sood-objtp VALUE OTF, SAPscript Ausgabeformat
ali LIKE sood-objtp VALUE ALI. ABAP lists
CONSTANTS
CONSTANTS: ou_fol LIKE sofh-folrg VALUE O,
c_objtp LIKE g_document-objtp VALUE RAW,
c_file_ext LIKE g_document-file_ext VALUE TXT.
=================================================================================
z_send_email_fax2
FUNCTION z_faian_mail_fax2.
Interface local:
* IMPORTING
* REFERENCE(SRC_SPOOLID) LIKE TSP01-RQIDENT
* REFERENCE(FAX_MAIL_NUMBER) TYPE SO_NAME
* REFERENCE(HEADER_MAIL) TYPE SO_OBJ_DES
* REFERENCE(OBJECT_TYPE) TYPE SO_ESCAPE
* TABLES
* LT_BODY_EMAIL STRUCTURE SOLI
* EXCEPTIONS
* ERR_NO_ABAP_SPOOLJOB
Fist part: Verify if the spool really exists
SELECT SINGLE * FROM tsp01 WHERE rqident = src_spoolid.
IF sy-subrc NE 0.
RAISE err_no_abap_spooljob. doesnt exist
ELSE.
client = tsp01-rqclient.
name = tsp01-rqo1name.
CALL FUNCTION RSTS_GET_ATTRIBUTES
EXPORTING
authority = SP01′
client = client
name = name
part = 1
IMPORTING
type = type
objtype = objtype
EXCEPTIONS
fb_error = 1
fb_rsts_other = 2
no_object = 3
no_permission = 4
OTHERS = 5.
IF objtype(3) = OTF.
desired_type = otf.
ELSE.
desired_type = ali.
ENDIF.
CALL FUNCTION RSPO_RETURN_SPOOLJOB
EXPORTING
rqident = src_spoolid
desired_type = desired_type
IMPORTING
real_type = real_type
TABLES
buffer = l_objcont
EXCEPTIONS
no_such_job = 14
type_no_match = 94
job_contains_no_data = 54
no_permission = 21
can_not_access = 21
read_error = 54.
IF sy-subrc EQ 0.
attach_type = real_type.
ENDIF.
CALL FUNCTION SO_FOLDER_ROOT_ID_GET
EXPORTING
owner = sy-uname
region = ou_fol
IMPORTING
folder_id = l_folder_id
EXCEPTIONS
OTHERS = 5.
fill out informations about the header of the email
CLEAR: g_document.
g_document-foltp = l_folder_id-foltp.
g_document-folyr = l_folder_id-folyr.
g_document-folno = l_folder_id-folno.
g_document-objtp = c_objtp.
g_document-objdes = header_mail.
g_document-file_ext = c_file_ext.
g_header_data-objdes = header_mail.
CALL FUNCTION SO_DOCUMENT_REPOSITORY_MANAGER
EXPORTING
method = SAVE
office_user = sy-uname
IMPORTING
authority = g_authority
TABLES
objcont = lt_body_email
attachments = lt_attachments
CHANGING
document = g_document
header_data = g_header_data
EXCEPTIONS
OTHERS = 1.
folder_id-objtp = l_folder_id-foltp.
folder_id-objyr = l_folder_id-folyr.
folder_id-objno = l_folder_id-folno.
object_id-objtp = c_objtp.
object_id-objyr = g_document-objyr.
object_id-objno = g_document-objno.
link_folder_id-objtp = l_folder_id-foltp.
link_folder_id-objyr = l_folder_id-folyr.
link_folder_id-objno = l_folder_id-folno.
REFRESH lt_rec_tab.
CLEAR lt_rec_tab.
lt_rec_tab-sel = X.
lt_rec_tab-recesc = object_type. This field for FAX/MAIL
lt_rec_tab-recnam = U-.
lt_rec_tab-deliver = X.
lt_rec_tab-not_deli = X.
lt_rec_tab-read = X.
lt_rec_tab-mailstatus = E.
lt_rec_tab-adr_name = fax_mail_number.
lt_rec_tab-sortfield = fax_mail_number.
lt_rec_tab-recextnam = fax_mail_number.
lt_rec_tab-sortclass = 5′.
APPEND lt_rec_tab.
lt_rec_tab-recextnam = fax_mail_number.
lt_rec_tab-recesc = object_type.
lt_rec_tab-sndart = INT.
lt_rec_tab-sndpri = 1.
APPEND lt_rec_tab.
lt_files-file = c_file.
APPEND lt_files.
begin of insertion by faianf01
hd_dat-objdes = header_mail.
CALL FUNCTION SO_ATTACHMENT_INSERT
EXPORTING
object_id = object_id
attach_type = attach_type
object_hd_change = hd_dat
owner = sy-uname
TABLES
objcont = l_objcont
objhead = l_objhead
EXCEPTIONS
active_user_not_exist = 35
communication_failure = 71
object_type_not_exist = 17
operation_no_authorization = 21
owner_not_exist = 22
parameter_error = 23
substitute_not_active = 31
substitute_not_defined = 32
system_failure = 72
x_error = 1000.
IF sy-subrc > 0.
ENDIF.
end of insertion by faianf01
send email from SAPOFFICE
CALL FUNCTION SO_OBJECT_SEND
EXPORTING
folder_id = folder_id
object_id = object_id
outbox_flag = outbox_flag
link_folder_id = link_folder_id
owner = sy-uname
check_send_authority = X
TABLES
receivers = lt_rec_tab
note_text = lt_note_text
EXCEPTIONS
active_user_not_exist = 35
communication_failure = 71
component_not_available = 1
folder_no_authorization = 5
folder_not_exist = 6
forwarder_not_exist = 8
object_no_authorization = 13
object_not_exist = 14
object_not_sent = 15
operation_no_authorization = 21
owner_not_exist = 22
parameter_error = 23
substitute_not_active = 31
substitute_not_defined = 32
system_failure = 72
too_much_receivers = 73
user_not_exist = 35.
ENDIF.
ENDFUNCTION.
=================================================================================
z_send_email_fax
FUNCTION ZCBFS_SEND_MAIL.
Interface local:
* IMPORTING
* REFERENCE(SRC_SPOOLID) LIKE TSP01-RQIDENT
* REFERENCE(HEADER_MAIL) TYPE SO_OBJ_DES
* TABLES
* LIST_FAX_MAIL_NUMBER STRUCTURE SOLI
* EXCEPTIONS
* ERR_NO_ABAP_SPOOLJOB
DATA: vg_achou(1) TYPE n.
Fist part: Verify if the spool really exists
vg_achou = 1.
DO 60 TIMES.
SELECT SINGLE * FROM tsp01 WHERE rqident = src_spoolid.
IF sy-subrc IS INITIAL.
CLEAR vg_achou.
EXIT.
ELSE.
WAIT UP TO 1 SECONDS.
ENDIF.
ENDDO.
IF vg_achou = 1.
RAISE err_no_abap_spooljob. doesnt exist
ENDIF.
client = tsp01-rqclient.
name = tsp01-rqo1name.
CALL FUNCTION RSTS_GET_ATTRIBUTES
EXPORTING
authority = SP01′
client = client
name = name
part = 1
IMPORTING
type = type
objtype = objtype
EXCEPTIONS
fb_error = 1
fb_rsts_other = 2
no_object = 3
no_permission = 4
OTHERS = 5.
IF objtype(3) = OTF.
desired_type = otf.
ELSE.
desired_type = ali.
ENDIF.
CALL FUNCTION RSPO_RETURN_SPOOLJOB
EXPORTING
rqident = src_spoolid
desired_type = desired_type
IMPORTING
real_type = real_type
TABLES
buffer = l_objcont
EXCEPTIONS
no_such_job = 14
type_no_match = 94
job_contains_no_data = 54
no_permission = 21
can_not_access = 21
read_error = 54.
IF sy-subrc EQ 0.
attach_type = real_type.
ENDIF.
CALL FUNCTION SO_FOLDER_ROOT_ID_GET
EXPORTING
owner = sy-uname
region = ou_fol
IMPORTING
folder_id = l_folder_id
EXCEPTIONS
OTHERS = 5.
fill out informations about the header of the email
CLEAR: g_document.
g_document-foltp = l_folder_id-foltp.
g_document-folyr = l_folder_id-folyr.
g_document-folno = l_folder_id-folno.
g_document-objtp = c_objtp.
g_document-objdes = header_mail.
g_document-file_ext = c_file_ext.
g_header_data-objdes = header_mail.
CALL FUNCTION SO_DOCUMENT_REPOSITORY_MANAGER
EXPORTING
method = SAVE
office_user = sy-uname
IMPORTING
authority = g_authority
TABLES
attachments = lt_attachments
CHANGING
document = g_document
header_data = g_header_data
EXCEPTIONS
OTHERS = 1.
folder_id-objtp = l_folder_id-foltp.
folder_id-objyr = l_folder_id-folyr.
folder_id-objno = l_folder_id-folno.
object_id-objtp = c_objtp.
object_id-objyr = g_document-objyr.
object_id-objno = g_document-objno.
link_folder_id-objtp = l_folder_id-foltp.
link_folder_id-objyr = l_folder_id-folyr.
link_folder_id-objno = l_folder_id-folno.
REFRESH lt_rec_tab.
LOOP AT LIST_FAX_MAIL_NUMBER.
lt_rec_tab-recextnam = LIST_FAX_MAIL_NUMBER-LINE.
lt_rec_tab-recesc = U.
lt_rec_tab-sndart = INT.
lt_rec_tab-sndpri = 1.
APPEND lt_rec_tab.
ENDLOOP.
lt_files-file = c_file.
APPEND lt_files.
hd_dat-objdes = header_mail.
CALL FUNCTION SO_ATTACHMENT_INSERT
EXPORTING
object_id = object_id
attach_type = attach_type
object_hd_change = hd_dat
owner = sy-uname
TABLES
objcont = l_objcont
objhead = l_objhead
EXCEPTIONS
active_user_not_exist = 35
communication_failure = 71
object_type_not_exist = 17
operation_no_authorization = 21
owner_not_exist = 22
parameter_error = 23
substitute_not_active = 31
substitute_not_defined = 32
system_failure = 72
x_error = 1000.
IF sy-subrc > 0.
ENDIF.
send email from SAPOFFICE
CALL FUNCTION SO_OBJECT_SEND
EXPORTING
folder_id = folder_id
object_id = object_id
outbox_flag = outbox_flag
link_folder_id = link_folder_id
owner = sy-uname
TABLES
receivers = lt_rec_tab
note_text = lt_note_text
EXCEPTIONS
active_user_not_exist = 35
communication_failure = 71
component_not_available = 1
folder_no_authorization = 5
folder_not_exist = 6
forwarder_not_exist = 8
object_no_authorization = 13
object_not_exist = 14
object_not_sent = 15
operation_no_authorization = 21
owner_not_exist = 22
parameter_error = 23
substitute_not_active = 31
substitute_not_defined = 32
system_failure = 72
too_much_receivers = 73
user_not_exist = 35.
ENDFUNCTION.
regards,
srinivas
<b>*reward for useful answers*</b> -
How to run 2 reports to send 1 PDF e-mail attachment instead of 2 e-mails.
I used 9i Reports to create 2 reports in a PDF format. I run these reports from a 9i form using the web.show_document command. XML is used to send the 2 e-mails with the reports.
Is there a way I can combine the running of the reports to make one PDF to created 1 e-mail attachment or run the reports at the same time and attach 2 PDF files to 1 e-mail.
I have no problems running 1 report and sending 1 e-mail attacment!
This is example of the XML used in creating the e-mail:
- <destinations>
- <foreach>
- <file id="Test" name="REPORT_1.pdf" format="pdf" instance="XXXX">
<include src="report" />
</file>
</foreach>
- <!-- Send a mail with an attachment
-->
- <mail id="ex1" to="&DESNAME" from="&DESNAME" subject="&DESNAME;*;&p_postal_number: was submitted for
approval on &p_postal_date">
<body srcType="text">This is to notify you of a new submission that requires an approval before being
sent to out. Please use the URL link below to review the information as soon as possible.
https://xxxx.aaaa.sss.com:234/web_html/static.html AAAA Administrator</body>
- <attach format="pdf" name="Report_1&.pdf" srcType="report">
<include src="mainSection" />
</attach>
</mail>
</destinations>You can use iText to combine two PDF files into one.
-
Error while opening PDF in mail attachment
Hi All,
In smartform i am sending a mail with attachemnt as PDF file,there is one more option like preview of smartform .
issue is like i am able to see the preview of the same record but when it is sent in mail attachement,and while opening PDF its showing error that file can not be open it is corrupted.
Please help.
Mona Singh.Dear Sandra
That was my problem: binary data was incorrectly converted (often because of Unicode systems).
I returned
bin_filesize = v_len_in
bin_file = l_binfile
from the function module CONVERT_OTF, then converted the xstring data (l_binfile) into an internal table (t_objbin) to send to the mail send function with the following function module:
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = l_binfile
IMPORTING
output_length = v_lines_bin
TABLES
binary_tab = t_objbin.
Many thanks for your help.
Best regards
Patricia -
Mail and iPhoto Problems with sending photos.
Mail and iPhoto Problems with sending photos.
I have this problem that started a while ago and seems to be getting worse.
Here are the different scenarios.
-If I try to share a photo to email within iPhoto, it will insert the image file name in the mail message, but no image icon or opened image. In iPhoto Preferences under General I have chosen to use Email Photos using Mail.
-If I choose to use iPhoto to send the photo, it will compose the message and the photo is viewable. If I send the message i can view the photo within the email I sent to myself. Nothing happens when I double click on the photo in the Mail message. Nothing happens when i control click on the photo in the mail message. Nothing happens when I try to drag the photo to the desktop from the mail message. When I try to save attachments from the email and choose a place to save it, the save button is grayed out and it cannot be saved. When I check the mail message it says there is an attachemnt but there is no file size listed.
-If I use the stationary within Mail app I cannot drag a photo into the placeholder, I get a circle with a line through it symbol when I try. It happens if I try to drag a photo from the desktop or from the media browser within Mail app.
-If I drag the photo to the desktop from iPhoto, I can double click it on the desktop and it will open in Preview.
-If I then control click on the same photo on the desktop and scroll to share/email, the generic photo icon will be inserted in the mail message. If i double click the photo icon in the mail message I get a message it can't be opened because it is empty.
-If I drag that same image to the mail message body the same thing happens.
-If I send that email to someone they cannot open the image file.
What I can do:
- I can drag that same image file on the desktop to my dropbox folder and it will upload. From there I can go on my iPad and download the photo and send it through email just fine.
-I can open the same image file on my desktop in Preview, I can copy and paste it into a mail message and the image will be viewable in the mail message by me and by the recipient.
-I can drag that same image on the desktop to my safari browser window and it will be viewable in the page. i can then copy and paste that image into a mail message and it is viewable in the message. I can then send that email message to myself and i can control click on the image and get all my options. It also shows as an attachment with the size of the image file in the mail message.
I can send that message to someone and they can see the photo and open it fine.
-If I send that same email to me I can see the photo within the mail. If I then drag that photo to the desktop I cannot use it again to put in an email as the same problem happens again.
I have tried all scenarios in my user account, another users account and in a guest account. The same happens in all. I am guessing because of this it is not a corrupt preference file, unless all of the preference files are corrupt. The guest user account I added a new email account so it was brand new and still had the problem.
I am stumped, all and any help is appreciated.Another problem that may be related….
I have Snapz Pro. I used to be able to save the snaps to my desktop or a folder. Now when I take a screenshot and try to save the file to my desktop or a folder on my desktop I get this message "Files cannot be created in the selected location. You do not have permission to write to the selected location. Please choose a different location." I have found that i can only save the file to the clipboard. I have repaired permissions many times and still I have this problem.
Maybe you are looking for
-
Please help if you can, my user ID will not log on and it has all my data in it.
The primary user ID (an admin ID with all the valuable info I need access to) will not log on from a restart or initial power up. I was able to go into another user admin ID once and change its password which got me in once but now no passcodes will
-
Net value showing negative in excise billing for free goods items
Dear All, Need value suggestions in business scenario. While issuing Free goods to customer in excise billing ,Net value of ZTNN item showing negative Inserted R100 % condition type above Tax condtions. MRP is statistical and accessable value is cal
-
Can anybody assist me with my T 43 OS choice menu during boot up. I had partitioned for two OS, windows XP and 2000 and now only reformatted one partition for storage and only use Win 2K. However during boot I still get the choice menu for both XP a
-
Password not "cached" in Adobe X
When I sign a document (in a window IE browser), Adobe Reader X (10.1) ask for a password to verify my signature. Then a open a new IE window with another pdf document to sign, again I have to give the password of my digital certificate. I have seve
-
HT5622 Ipad 3 version 6.1.3 will not let me use iMessage or FaceTime!
"Sign in with you Apple ID..." I do and I get a message that says "Could not sign in. Please check your network conn. and try again" I can use the safari app on my ipad and browse the internet. I am able to use iMessage and FaceTime on my Iphone 4 so