I am sending internal tabledata as a email body successfully.But how displa
I am sending internal tabledata as a email body successfully.But how i display the headings in that email.can anyone suggest?
you can append some space in between heading line and subject like below..
Heading
objtxt = ' I AM SAP USER'.
APPEND objtxt.
APPEND objtxt.
APPEND objtxt.
APPEND objtxt.
after Heading...
objtxt = ' i am part of the abap.......'.
APPEND objtxt.
Similar Messages
-
Need to send the report output in email body.
Hi Friends,
I need to send the report output in body of the email but not as an attachment.
Requesting your suggestions. Please elaborated answers are expected.
Thanks & Regards,
S.Suresh Babu.If you are looking for same output to be available in the email body, i think this is not possible.
If you are just concentrated on the data, then you can do as below.
1. In your custom program, submit the actual report program via spool and by making use of that spool, read the spool content (We have function modules which can download the content from spool to the internal table), and by making use of this internal table, build the actual internal table as required which will be passed to email function module lets say SO_OBJECT_SEND etc..
2. You can make use of even LIST_TO_MEMORY and LIST_FROM_MEMORY function modules as well instead of spool, if you have data in the final internal table.
I am not sure, how can we handle in terms of logos if any.....or the data in the top of page related things...... -
Email bursting send report as HTML in email body
Hello,
I have Oracle BI Publisher 10.1.3.4.1 (build# 1101) version installed as part of Oracle Business Inteligence.
I have question about email bursting. I created simple report and I am bursting it via email. But I would like to send report in HTML as part of email body and not as attachment. I read that it is possible in other versions of BIP (as part of EBS) with using of bursting configuration file. But I can not use this file with my version of BIP, I can configure bursting only vie SQL query.
Is there any solution?
Thank youMy bursting SQL query:
SELECT DISTINCT
ip.APPL_ID KEY,
'11F_Search_Prospect_Email' TEMPLATE,
'RTF' template_format,
'en-US' locale,
'HTML' output_format,
'EMAIL' DEL_CHANNEL,
ip.email PARAMETER1,
'[email protected]' PARAMETER3,
'Welcome' PARAMETER4,
'true' PARAMETER6
FROM ugrad.inquiry_prospect ip,
ugrad.correspondence f,
ugrad.address e,
ugrad.f_lookup fl
WHERE ip.appl_id = f.appl_id
AND ip.APPL_ID = e.APPL_ID
AND fl.TYPE_CODE='C'
AND ip.record_stage = 'Prospect'
AND e.COUNTRY_CODE=fl.code
AND e.table_name = 'INQUIRY_PROSPECT'
AND e.address_type =
NVL ((SELECT gg.address_type
FROM ugradadm.address gg
WHERE gg.address_type =
DECODE (f.mailpref,
'Home', 'HOME',
'Best', 'LOCAL',
'HOME'
AND gg.table_name = 'INQUIRY_PROSPECT'
AND gg.APPL_ID = ip.appl_id
AND((gg.address_type='LOCAL' AND NVL(gg.address_expir_date,sysdate)>sysdate)
OR gg.address_type='HOME')),
'HOME'
AND f.batchid = :Batch_ID
This report when bursted sends an email with the layout template as html body.
The EMAIL configuration is set with a server Port number and its host address. -
my mac has been restored & i can see my email folders but how do i put back the saved emails from my time macine i can locate n see them but cant restore them
Csound1 wrote:
Into one of the domain accounts, or a specific mailbox in a domain account, that's your choice but:
Remember that you are moving mail over the internet, and you are uploading (slower). If the quantities are large you must use caution.
1. Copy, don't move, in the event of a failure the original will still exist, delete it later.
2. Limit copies to <500 emails
3. Single copy operations are more reliable than multiple.
Take your time.
Thanks, but impractical. Many of the folders have more than 500 emails. Total is about 2 GB (which I have free on iCloud btw)
I tried creating a folder "Archive" in my iCloud, then tried dragging one iMac folder into the new "iCloud > Archive" folder on my iMac. I got the error message:
Some items could not be created:
The IMAP command “CREATE” failed with server error: Invalid mailbox name. -
SMTP email test success, but emails not occurring
Hi ,
the SMTP server is configured to accept only login authenticated mails, but when i
selected No Authentication, the test connection will be successful.but no emails sent.
please help me . checked SMTP note working, no SM21 logs found.Email job running.
kissHi,
you can validate below note
Note 1145354 - Configuring the Mail Services, troubleshooting info
regards
nag -
I want to cancel an itunes gift card
You'll need to contact iTunes Support team to cancel the purchase.
http://www.apple.com/emea/support/itunes/contact.html -
Internal PLSQL Tables Access via SQL. But how ?
Hello,
I want to write the result of a database query in an internal PLSQL Table. After that i would like work with this internal PLSQL Table
in a Package/Procedure/Function.
Important for me is to access the internal Table via SQL because i have to refactor a package wich is working with 46 Database Tables an plain SQL. I
would like to change these DB Tables into internal PLSQL Tables.
I have written a short example wich will explain my approach to solving this problem.
The syntax will be accepted by the Database but my 'dbms_output.put_line' statement at the end is empty or blank.
What do i wrong ? Would be nice if anyone can help me out.
With best regards
Jens
pre work :
create table PERSON_DB_TABLE
(SURNAME VARCHAR2(50),
LASTNAME VARCHAR2(50));
insert into PERSON_DB_TABLE values
('JENS','FOERSTER');
insert into PERSON_DB_TABLE values
('MAX','MEIER');
insert into PERSON_DB_TABLE values
('MARTHA','MUSTERMANN');
create type PERSON_OBJECT as object (
SURNAME VARCHAR2(50),
LASTNAME VARCHAR2(50));
create type PERSON_NESTED_TABLE as table of PERSON_OBJECT;
now my anonymous block
declare
v_PERSON_OBJECT PERSON_OBJECT;
v_PERSON_NESTED_TABLE PERSON_NESTED_TABLE;
v_PERSON_OBJECT_2 PERSON_OBJECT;
begin
for v_counter in (select SURNAME, LASTNAME into v_PERSON_OBJECT.SURNAME,
v_PERSON_OBJECT.LASTNAME
from PERSON_DB_TABLE)
loop
v_PERSON_NESTED_TABLE := PERSON_NESTED_TABLE(v_PERSON_OBJECT);
end loop;
for v_counter in (select SURNAME, LASTNAME into v_PERSON_OBJECT_2.SURNAME,
v_PERSON_OBJECT_2.LASTNAME
from TABLE (v_PERSON_NESTED_TABLE))
loop
dbms_output.put_line(v_PERSON_OBJECT_2.LASTNAME);
end loop;
end;1386a7b8-e834-43bf-a0d4-922b548bb70b wrote:
I need this, because my customer didn't like the idea to use Database Tables instead of Variables in the RAM. So he wants this procedure redesigned.
As Mike says, keep this person away from your database.
Customers should not be dictating how to implement technical solutions, they should be providing business and logical requirements.
PL/SQL arrays/collections use expensive PGA memory, taking up valuable server resources.
Copying data from the database to PGA memory to try and process it using PL/SQL is bad design. SQL is designed specifically for data manipulation using database tables, so it's the ideal way to do process data... directly on database tables. -
Issue the send attach Pdf file in Email. (Urgent).
Hello folks, i have issue with attach pdf in e-mail using two lib´s: activation.jar and mail.jar. Currently using a platform SOA and am creating the serviceType, then a file don´t is local and yes by message, so far so good.
Already tried in several forums, but without success.
When send the message (pdf file), the program receive a type ContentType (application/octet-stream) and cause the MessageException, below:
MessageException - in Container:
Message: [B@79ffb7f7 /// the service received the pdf file
[09/03/02 12:22:45] ID=dev_ESBTest (info) application/octet-stream *///ContentType of message*
javax.mail.SendFailedException: Sending failed; *///Exception*
nested exception is:
javax.mail.MessagingException: IOException while sending message;
nested exception is:
**javax.activation.UnsupportedDataTypeException: no object DCH for MIME type application/octet-stream**
at javax.mail.Transport.send0(Transport.java:219)
at javax.mail.Transport.send(Transport.java:81)
javax.mail.MessagingException: IOException while sending message;
nested exception is:
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type application/octet-stream
at com.sun.mail.smtp.SMTPTransport.sendMessage (SMTPTransport.java:353)
at javax.mail.Transport.send0 (Transport.java:164)
at javax.mail.Transport.send(Transport.java:81)
With this, it send the e-mail without attach......above my source simple source code.
ServiceType Code:
protected void SendEmail(XQPart prt, String host, String from, String to) {
// create some properties and get the default Session
Properties props = System.getProperties();
props.put("mail.smtp.host";, host);
Session session = Session.getInstance(props, null);
try {
// create a message
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject("Test Subject.");
MimeBodyPart bp1 = new MimeBodyPart();
bp1.setText("Test Text.");
MimeBodyPart bp2 = new MimeBodyPart();
m_xqLog.logInformation(prt.getContentType());
bp2.setContent(prt.getContent(), prt.getContentType());
bp2.setFileName("teste.pdf";);
Multipart mp = new MimeMultipart();
mp.addBodyPart(bp1);
mp.addBodyPart(bp2);
msg.setContent(mp);
msg.setSentDate(new Date());
Transport.send(msg);
System.out.println("Email sent successfully!");
} catch (MessagingException mex) {
mex.printStackTrace();
Exception ex = null;
if ((ex = mex.getNextException()) != null) {
ex.printStackTrace();
}Anybody would can help me, please....
Thanks ....
Paulo Sampei.Hello Folks, me again. Then the solution about this question above, below:
Solution:
Code 1: Call 2 method passing requirement parameter:
Obs: Always ContentType = application/octet-stream
ByteArrayInputStream attachStream = new ByteArrayInputStream((byte[]) prt.getContent());
//call constructor class:InputStreamDataSource
InputStreamDataSource isds = new InputStreamDataSource("Testepdf.pdf", prt.getContentType(),attachStream);
//call method sendMail(InputStreamDataSource,host,from,to)
sendMail(isds, s_Host, s_SendFrom, s_SendTo);Code 2: Class InputStreamDataSource
// statement DataSource
private class InputStreamDataSource implements DataSource {
private String name;
private String contentType;
private ByteArrayOutputStream baos;
InputStreamDataSource(String name, String contentType,
InputStream inputStream) throws IOException {
int read;
this.name = name;
this.contentType = contentType;
baos = new ByteArrayOutputStream();
byte[] buff = new byte[256];
while ((read = inputStream.read(buff)) != -1) {
baos.write(buff, 0, read);
public String getContentType() {
// TODO Auto-generated method stub
return contentType;
public InputStream getInputStream() throws IOException {
// TODO Auto-generated method stub
return new ByteArrayInputStream(baos.toByteArray());
public String getName() {
// TODO Auto-generated method stub
return name;
public OutputStream getOutputStream() throws IOException {
// TODO Auto-generated method stub
throw new IOException("Cannot write to this read-only resource");
}Code 3: mehod sendMail(InputStreamDataSource, host, from, to)
protected void sendMail(InputStreamDataSource attach, String host,
String from, String to) {
// create some properties and get the default Session
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
Session session = Session.getInstance(props, null);
try {
// create a message
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject("Assunto teste.");
// create and fill the first message part
MimeBodyPart bp1 = new MimeBodyPart();
bp1.setText("Texto teste.");
// create the second message part
m_xqLog.logInformation("[ContentType]:[attach] "
+ attach.getContentType());
// attach the file to the message
MimeBodyPart bp2 = new MimeBodyPart();
bp2.setDataHandler(new DataHandler(attach));
bp2.setFileName(attach.getName());
// create the Multipart and add its parts to it
Multipart mp = new MimeMultipart();
mp.addBodyPart(bp1);
mp.addBodyPart(bp2);
// add the Multipart to the message
msg.setContent(mp);
// set the Date: header
msg.setSentDate(new Date());
// send the message
Transport.send(msg);
System.out.println("Email sent successfully!");
} catch (MessagingException mex) {
mex.printStackTrace();
Exception ex = null;
if ((ex = mex.getNextException()) != null) {
ex.printStackTrace();
}Thank you very much, forum and bshannon at your tips.
Cheers,
Paulo Sampei. -
Junk characters in email body only for specific user IDs
While sending mail from SAP I am using
SENDER = CL_SAPUSER_BCS=>CREATE( LV_SENDER_ADD ).
CALL METHOD SEND_REQUEST->SET_SENDER
EXPORTING
I_SENDER = SENDER.
now while using 'User1' and 'User2' in LV_SENDER_ADD give a perfect result.
But while using 'User3' and 'User4' in LV_SENDER_ADD sends Junk chars in the email body
ST05 Trace Results show below mention lines in red.
hh:mm:ss:ms Type Lasts(us) Object Text
19:05:07:451 CMOD - - - rstscb_call_back Parameter:
19:05:07:451 CMOD - - - rstswsf_was_stor Parameter:
19:05:07:451 CMOD 2 rstswsf_was_stor Parameter: Comment: Returncode: 0
19:05:07:451 CMOD 9 rstscb_call_back Parameter: Comment: Returncode: 0
19:05:07:451 CMOD - - - rscpi_init Parameter:
(I am converting the XSF output of Smartform and SCP_TRANSLATE_CHARS to translate smartform output into HTML)
all the above four user have SAP_ALL authorization.
'user4' is created as a copy of 'user1'
Checking the Type CMOD says that they are call to 'C' routine 'kernal calls'
the above code is executed withe the user id of user1 2 3 4 and all of them give the same results.
when ever the sender is user1 or user2 the transmission is successful else. sends junk chars.Could you tell us why/how you use SCP_TRANSLATE_CHARS?
Do theseusers have same language/country in their profile? -
Insert XML Tags in BPEL Email body
Hi All,
in one of bpel process we are inserting Xml message in the email body. but in the email all message is coming without start and end tags.
lets say my xml meaasage is *<name>test</name>*
the output iam getting in the mail is test
we cannot use mime type 'text/plain',bcz we are inserting this xml message in html template.
is there any way to send xml message in the email body?
Any help would be appreciate...
Thanks,
Sudhakar.mHi
Thanks for the reply.
Currently we are using same way as you mentioned ,that still not working.the mail is coming without xml tags.
is there any workaround for this issue??
Regards,
Sudhakar.M -
How to Send Internal table to SAP Spool using Function Modules or Methods?
Hi Experts,
How to Send Internal table to SAP Spool using Function Modules or Methods?
Thanks ,
KiranThis is my code.
I still get the no ABAP list data for the spool, even tho I can see it sp01?
REPORT Z_MAIL_PAYSLIP.
* Declaration Part *
tables: PERNR, PV000, T549Q, V_T514D, HRPY_RGDIR.
infotypes: 0000, 0001, 0105, 0655.
data: begin of ITAB occurs 0,
MTEXT(25) type C,
PERNR like PA0001-PERNR,
ABKRS like PA0001-ABKRS,
ENAME like PA0001-ENAME,
USRID_LONG like PA0105-USRID_LONG,
end of ITAB.
data: W_BEGDA like HRPY_RGDIR-FPBEG,
W_ENDDA like HRPY_RGDIR-FPEND.
data: RETURN like BAPIRETURN1 occurs 0 with header line.
data: P_INFO like PC407,
P_FORM like PC408 occurs 0 with header line.
data: P_IDX type I,
MY_MONTH type T549Q-PABRP,
STR_MY_MONTH(2) type C,
MY_YEAR type T549Q-PABRJ,
STR_MY_YEAR(4) type C,
CRLF(2) type x value '0D0A'.
data: W_CMONTH(10) type C.
data: TAB_LINES type I,
ATT_TYPE like SOODK-OBJTP.
data: begin of P_INDEX occurs 0,
INDEX type I,
end of P_INDEX.
constants: begin of F__LTYPE, "type of line
CMD like PC408-LTYPE value '/:', "command
TXT like PC408-LTYPE value 's', "textline
end of F__LTYPE.
constants: begin of F__CMD, "commands
NEWPAGE like PC408-LINDA value '',
end of F__CMD.
data: P_LIST like ABAPLIST occurs 1 with header line.
*data: OBJBIN like SOLISTI1 occurs 10 with header line,
data: OBJBIN like LVC_S_1022 occurs 10 with header line,
DOCDATA like SODOCCHGI1,
OBJTXT like SOLISTI1 occurs 10 with header line,
OBJPACK like SOPCKLSTI1 occurs 1 with header line,
RECLIST like SOMLRECI1 occurs 1 with header line,
OBJHEAD like SOLISTI1 occurs 1 with header line,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_buffer type string,
l_no_of_bytes TYPE i,
l_pdf_spoolid LIKE tsp01-rqident,
l_jobname LIKE tbtcjob-jobname.
data: file_length type int4,
spool_id type rspoid,
line_cnt type i.
*-------------------------------------------------------------------* * INITIALIZATION *
OBJBIN = ' | '.
append OBJBIN.
OBJPACK-HEAD_START = 1.
data: S_ABKRS like PV000-ABKRS.
data: S_PABRP like T549Q-PABRP.
data: S_PABRJ like T549Q-PABRJ.
* SELECTION SCREEN *
selection-screen begin of block BL1.
parameters: PAY_VAR like BAPI7004-PAYSLIP_VARIANT default 'ESS_PAYSLIPS' obligatory.
selection-screen end of block BL1.
START-OF-SELECTION.
s_ABKRS = PNPXABKR.
S_PABRP = PNPPABRP.
s_pabrj = PNPPABRJ.
w_begda = PN-BEGDA.
w_endda = PN-ENDDA.
get pernr.
* "Check active employees
rp-provide-from-last p0000 space pn-begda pn-endda.
CHECK P0000-STAT2 IN PNPSTAT2.
* "Check Payslip Mail flag
rp-provide-from-last p0655 space pn-begda pn-endda.
CHECK P0655-ESSONLY = 'X'.
rp-provide-from-last p0001 space pn-begda pn-endda.
* "Find email address
RP-PROVIDE-FROM-LAST P0105 '0030' PN-BEGDA PN-ENDDA.
if p0105-usrid_LONG ne ''.
ITAB-PERNR = P0001-PERNR.
ITAB-ABKRS = P0001-ABKRS.
ITAB-ENAME = P0001-ENAME.
ITAB-USRID_LONG = P0105-USRID_LONG.
append itab.
clear itab.
endif.
"SY-UCOMM ='ONLI'
END-OF-SELECTION.
*------------------------------------------------------------------* start-of-selection.
write : / 'Payroll Area : ', S_ABKRS.
write : / 'Payroll Period/Year : ',STR_MY_MONTH,'-',STR_MY_YEAR. write : / 'System Date : ', SY-DATUM.
write : / 'System Time : ', SY-UZEIT.
write : / 'User Name : ', SY-UNAME.
write : / SY-ULINE.
sort ITAB by PERNR.
loop at ITAB.
clear : P_INFO, P_FORM, P_INDEX, P_LIST, OBJBIN, DOCDATA, OBJTXT, OBJPACK, RECLIST, TAB_LINES.
refresh : P_FORM, P_INDEX, P_LIST, OBJBIN, OBJTXT, OBJPACK, RECLIST.
* Retrieve Payroll results sequence number for this run
select single * from HRPY_RGDIR where PERNR eq ITAB-PERNR
and FPBEG ge W_BEGDA
and FPEND le W_ENDDA
and SRTZA eq 'A'.
* Produce payslip for those payroll results
if SY-SUBRC = 0.
call function 'GET_PAYSLIP'
EXPORTING
EMPLOYEE_NUMBER = ITAB-PERNR
SEQUENCE_NUMBER = HRPY_RGDIR-SEQNR
PAYSLIP_VARIANT = PAY_VAR
IMPORTING
RETURN = RETURN
P_INFO = P_INFO
TABLES
P_FORM = P_FORM.
check RETURN is initial.
* remove linetype from generated payslip
loop at p_form.
objbin = p_form-linda.
append objbin.
line_cnt = line_cnt + 1.
endloop.
file_length = line_cnt * 1022.
* create spool file of paylsip
CALL FUNCTION 'SLVC_TABLE_PS_TO_SPOOL'
EXPORTING
i_file_length = file_length
IMPORTING
e_spoolid = spool_id
TABLES
it_textdata = objbin.
IF sy-subrc EQ 0.
WRITE spool_id.
ENDIF.
DESCRIBE table objbin.
DATA PDF LIKE TLINE OCCURS 100 WITH HEADER LINE.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID = spool_id
NO_DIALOG = ' '
DST_DEVICE = 'MAIL'
* PDF_DESTINATION =
* IMPORTING
* PDF_BYTECOUNT = l_no_of_bytes
* PDF_SPOOLID = l_pdf_spoolid
* LIST_PAGECOUNT =
* BTC_JOBNAME =
* BTC_JOBCOUNT =
TABLES
PDF = pdf
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
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*Download PDF file C Drive
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\itab_to_pdf.pdf'
filetype = 'BIN'
TABLES
data_tab = pdf.
* Transfer the 132-long strings to 255-long strings
* LOOP AT pdf.
* TRANSLATE pdf USING ' ~'.
* CONCATENATE gd_buffer pdf 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.
OBJHEAD = 'Objhead'.
append OBJHEAD.
* preparing email subject
concatenate W_ENDDA(6)
' Payslip-'
ITAB-ENAME+0(28)
ITAB-PERNR+4(4) ')'
into DOCDATA-OBJ_DESCR.
DOCDATA-OBJ_NAME = 'Pay Slip'.
DOCDATA-OBJ_LANGU = SY-LANGU.
OBJTXT = 'Pay Slip.'.
append OBJTXT.
*prepare email lines
OBJTXT = DOCDATA-OBJ_DESCR.
append OBJTXT.
OBJTXT = 'Please find enclosed your current payslip.'.
append OBJTXT.
* Write Attachment(Main)
* 3 has been fixed because OBJTXT has fix three lines
read table OBJTXT index 3.
* DOCDATA-DOC_SIZE = ( 3 - 1 ) * 255 + strlen( OBJTXT ).
clear OBJPACK-TRANSF_BIN.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = 3.
OBJPACK-DOC_TYPE = 'RAW'.
append OBJPACK.
* Create Message Attachment
ATT_TYPE = 'PDF'.
describe table OBJBIN lines TAB_LINES.
read table OBJBIN index TAB_LINES.
* OBJPACK-DOC_SIZE = ( TAB_LINES - 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.
OBJPACK-DOC_TYPE = ATT_TYPE.
OBJPACK-OBJ_NAME = 'ATTACHMENT'.
OBJPACK-OBJ_DESCR = 'Payslip'.
append OBJPACK.
* Create receiver list refresh RECLIST.
clear RECLIST.
RECLIST-RECEIVER = itab-USRID_long.
translate RECLIST-RECEIVER to lower case.
RECLIST-REC_TYPE = 'U'.
append RECLIST.
* Send the document
*SO_NEW_DOCUMENT_ATT_SEND_API1
call function 'SO_DOCUMENT_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 = pdf
CONTENTS_TXT = OBJTXT
* CONTENTS_HEX =
* 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.
if SY-SUBRC NE 0.
ITAB-MTEXT = 'Message Not Sent to : '.
else.
ITAB-MTEXT = 'Message Sent to : '.
endif.
* else.
* ITAB-MTEXT = 'Message Not Sent to : '.
* endif.
else.
"SY-SUBRC Not = 0
ITAB-MTEXT = 'Payroll data not found : '.
endif.
"end of SY-SUBRC = 0.
modify ITAB.
endloop. "end loop at ITAB
sort ITAB by MTEXT PERNR.
loop at ITAB.
at new MTEXT.
uline.
write : / ITAB-MTEXT color 4 intensified on.
write : / 'Emp. Code' color 2 intensified on,
12 'Emp. Name' color 2 intensified on,
54 'Email ID' color 2 intensified on.
endat.
write : / ITAB-PERNR, 12 ITAB-ENAME, 54 ITAB-USRID_LONG.
endloop. -
Need to Generate PDF file and send it to customer through email-ALV report
HI All,
I am having data in Internal table.
can we create PDF file with out having spool-request number.
My requirement is whenever user clicks on execute button the output is generated in PDF format automatically and then send it to customer through email.
I found few programs in SDN for generation PDF. But problem is everyone passing the spool request to the function module.
spool request will be generated whenever we click on print button.
Am I correct?.
Is there any other way to create spool request automatically. If so we can pass the this spool number to the function module.
Regards,
vinod.hi
For sending a mail, this code will help you.
Pls reward if help.
FORM send_mail_2 USING msgid msgno msgv1.
mailuser oder Gruppe like sy-uname default 'Ruckerk'.
DATA: express_hold_time LIKE sovaltime.
DATA: text LIKE sotxtinfo.
DATA: receiver LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
MESSAGE ZF100 (FTP an UDB fehlgeschlagen)
text-msgid = msgid.
text-msgno = msgno.
text-msgv1 = msgv1.
text-msgv2 = ' '.
text-msgv3 = ' '.
text-msgv4 = ' '.
express_hold_time
express_hold_time-days = 01.
express_hold_time-h_min_sec = 240000.
receiver
receiver-receiver = mreceivr.
Gruppe von Empfängern
receiver-rec_type = 'C'.
und Expressmeldung ausgeben
receiver-express = 'X'.
APPEND receiver.
CALL FUNCTION 'MESSAGE_SEND_AS_MAIL'
EXPORTING
msgid = text-msgid
msgno = text-msgno
msgv1 = text-msgv1
msgv2 = text-msgv2
msgv3 = text-msgv3
TABLES
receivers = receiver.
IF sy-subrc <> 0.
WRITE:/ 'hat nicht geklappt', 'SY-SUBRC =', sy-subrc.
ENDIF.
PERFORM print_error_report.
Fehlermeldung zum Abbrechen des Report's ausgeben.
MESSAGE e398 WITH 'Jobabbruch' msgv1.
ENDFORM. " SEND_MAIL_2
Another Program:
*& Report ZSENDEMAIL *
*& Example of sending external email via SAPCONNECT *
REPORT zsendemail .
PARAMETERS: psubject(40) type c default 'Hello',
p_email(40) type c default '[email protected]' .
data: it_packing_list like sopcklsti1 occurs 0 with header line,
it_contents like solisti1 occurs 0 with header line,
it_receivers like somlreci1 occurs 0 with header line,
it_attachment like solisti1 occurs 0 with header line,
gd_cnt type i,
gd_sent_all(1) type c,
gd_doc_data like sodocchgi1,
gd_error type sy-subrc.
data: it_message type standard table of SOLISTI1 initial size 0
with header line.
*START-OF-SELECTION.
START-OF-SELECTION.
Perform populate_message_table.
*Send email message, although is not sent from SAP until mail send
*program has been executed(rsconn01)
PERFORM send_email_message.
*Instructs mail send program for SAPCONNECT to send email(rsconn01)
perform initiate_mail_execute_program.
*& Form POPULATE_MESSAGE_TABLE
Adds text to email text table
form populate_message_table.
Append 'Email line 1' to it_message.
Append 'Email line 2' to it_message.
Append 'Email line 3' to it_message.
Append 'Email line 4' to it_message.
endform. " POPULATE_MESSAGE_TABLE
*& Form SEND_EMAIL_MESSAGE
Send email message
form send_email_message.
Fill the document data.
gd_doc_data-doc_size = 1.
Populate the subject/generic message attributes
gd_doc_data-obj_langu = sy-langu.
gd_doc_data-obj_name = 'SAPRPT'.
gd_doc_data-obj_descr = psubject.
gd_doc_data-sensitivty = 'F'.
Describe the body of the message
clear it_packing_list.
refresh it_packing_list.
it_packing_list-transf_bin = space.
it_packing_list-head_start = 1.
it_packing_list-head_num = 0.
it_packing_list-body_start = 1.
describe table it_message lines it_packing_list-body_num.
it_packing_list-doc_type = 'RAW'.
append it_packing_list.
Add the recipients email address
clear it_receivers.
refresh it_receivers.
it_receivers-receiver = p_email.
it_receivers-rec_type = 'U'.
it_receivers-com_type = 'INT'.
it_receivers-notif_del = 'X'.
it_receivers-notif_ndel = 'X'.
append it_receivers.
Call the FM to post the message to SAPMAIL
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
exporting
document_data = gd_doc_data
put_in_outbox = 'X'
importing
sent_to_all = gd_sent_all
tables
packing_list = it_packing_list
contents_txt = it_message
receivers = it_receivers
exceptions
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
others = 8.
Store function module return code
gd_error = sy-subrc.
Get it_receivers return code
loop at it_receivers.
endloop.
endform. " SEND_EMAIL_MESSAGE
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
Instructs mail send program for SAPCONNECT to send email.
form initiate_mail_execute_program.
wait up to 2 seconds.
if gd_error eq 0.
submit rsconn01 with mode = 'INT'
with output = 'X'
and return.
endif.
endform. " INITIATE_MAIL_EXECUTE_PROGRAM -
Email sending: "sending report output directly to the body of the email"
Hi
I got one requirement.this is the enhancement to already exisitng report.when user clicks on send email check box,report has to be display and this report output has to be send to email of the particular vendor. it has be seen directly in the body of the mail.not as attachement.Report output is in ALV format.Data is stored in internal table t_data.can anyone suggest what is the procedure for this.Hi i have tried the same thing and it works very fine,
i will share my code, you just follow exactly, hopefully you can solve the issue..
you refer clearly the body of the mail,
it should solve your issue/
FORM send_email .
DATA lt_message TYPE bcsy_text.
DATA lv_mail_title TYPE so_obj_des.
DATA document TYPE REF TO cl_document_bcs.
DATA recipient TYPE REF TO if_recipient_bcs.
DATA send_request TYPE REF TO cl_bcs.
DATA sent_to_all TYPE os_boolean.
DATA bcs_execption TYPE REF TO cx_bcs.
DATA wf_string(200) TYPE c.
* DATA wf_string TYPE string.
DATA doc_execption TYPE REF TO cx_document_bcs.
DATA lv_status(20) TYPE c.
DATA lv_count_email TYPE i.
DATA lv_temp_stepcount TYPE c.
LOOP AT wt_email INTO wa_email.
TRY.
CLEAR send_request.
send_request = cl_bcs=>create_persistent( ).
*Create Title
lv_mail_title = 'Report Title'.
*Create Message(EMAIL Body)
REFRESH lt_message.
APPEND '<p><b>Dear Sir/Madam,</b></p>' TO lt_message.
APPEND '<p>The following report shows the status of </p>' TO lt_message.
APPEND '<br>' TO lt_message.
APPEND '<table border= "1" color = 2>' TO lt_message.
CLEAR wf_string.
CONCATENATE '<th><tr>'
'<td>Vendor </td>'
'<td>Vendor Name</td>'
'<td>Coloun 1</td>'
'<td>Coloum 2</td>'
'</tr></th>' INTO wf_string.
APPEND wf_string TO lt_message.
LOOP AT wt_itbl INTO wa_itbl WHERE vendor = wa_email-vendor. "-> Define your Condition here wt_email( should contains vendor and its respective email id)
CLEAR wf_string.
CONCATENATE '<tr><td>' wa_itbl-vendor '</td>' INTO wf_string.
APPEND wf_string TO lt_message.
CONCATENATE '<td>' wa_itbl-Vendor_name '</td>' INTO wf_string.
APPEND wf_string TO lt_message.
CONCATENATE '<td>' wa_itbl-COL2 '</td></tr>' INTO wf_string.
APPEND wf_string TO lt_message.
CONCATENATE '<td>' wa_itbl-COL3 '</td></tr>' INTO wf_string.
APPEND wf_string TO lt_message.
ENDLOOP.
APPEND '</table>' TO lt_message.
APPEND '<br>' TO lt_message.
APPEND '<p><b>Thank You</b></p>' TO lt_message.
*Create Document
CLEAR document.
TRY.
CALL METHOD cl_document_bcs=>create_from_text
EXPORTING
i_text = lt_message
i_documenttype = 'HTM'
i_subject = lv_mail_title
RECEIVING
result = document.
CATCH cx_document_bcs INTO doc_execption.
ENDTRY.
*Add document to email
send_request->set_document( document ).
*Add recipients to send request
IF wa_email-smtp_addr IS NOT INITIAL.
recipient = cl_cam_address_bcs=>create_internet_address(
i_address_string = wa_email-smtp_addr ).
send_request->add_recipient( i_recipient = recipient ).
ENDIF.
*Send Email
CALL METHOD send_request->send
RECEIVING
result = sent_to_all.
COMMIT WORK.
IF sent_to_all EQ 'X'.
lv_count_email = lv_count_email + 1.
ENDIF.
CATCH cx_bcs INTO bcs_execption.
ENDTRY.
ENDLOOP.
IF sent_to_all = 'X'.
SKIP 2.
FORMAT COLOR COL_GROUP INTENSIFIED ON.
ULINE /(10).
WRITE: / 'Remark : '.
ULINE /(10).
FORMAT RESET.
WRITE: / 'Email Message Sent Succesfully'.
RETURN.
ENDIF.
ENDFORM. -
How to send file as attachment in Email in Oracle UCM
Hi All,
I have created a simple html form which executes my custom service( internally calls java method) to send a email "forms data" to the user. I need to send file as attchment in email so how i can do it in oracle ucm.Currently i am using intradoc api.I am using a jquery plugin for sending forms data including uploaded file.
function which i am using in java for sending emails:-
InternetFunctions.sendMailTo(emailStr, "MyMail", subject, this.m_service);
I have set method="post" and enctype="multipart/form-data" in the form
So plz help to provide a solution to send a file as attchment in email
Thanks,
user9018217From what I remember, there isn't an "out of the box" solution since InternetFunctions only provides some basic email functions (try decompiling the class to see what's available).
Here's the link for the original Stellent 10gR3 sample components: http://www.oracle.com/technetwork/middleware/content-management/index-092832.html. Take a look at the AcmeMail component within the HowTo Components sample. It shows how to create a custom idcservice that sends basic emails. You can use that as a baseline for creating your own email service and then use something like JavaMail to implement attachments. That's what I did.
Good luck, and please award points as necessary. -
How to send Smartform and Script in email?
hi myself Devendra,
i ve some queries....regarding the Script and Smartform.
1- Can any body tell me how to send Script as well as Smartform layout in mail output.
I ve created script and smartform for the PO confirmation.
2- If i want to send both script and smartform layout of the PO, whenever created,automatically to the Vendor,then what i ve to do.Hey,
REPORT zemail_gm.
*********Variable Declarations *****************************
DATA: gv_form_name TYPE rs38l_fnam, " Used to store the function module generated by Smartform
gv_bin_filesize TYPE i, " Store the file size
gv_pos TYPE i,
gv_len TYPE i,
gv_tab_lines TYPE i.
********Constants *******************************************
Data : gc_text(11) type c value 'Form Output',
gc_tst(3) type c value 'TST',
gc_testing(7) type c value 'Testing'.
*********Work Area Declarations *****************************
DATA: gs_docdata TYPE sodocchgi1, " Data of an object which can be changed
gs_ctrlop TYPE ssfctrlop, " Smart Forms: Control structure
gs_outopt TYPE ssfcompop, " SAP Smart Forms: Smart Composer (transfer) options
gs_otfdata TYPE ssfcrescl, " Smart Forms: Return value at end of form printing
gs_reclist TYPE somlreci1, " SAPoffice: Structure of the API Recipient List
gs_pdf_tab TYPE tline, " Workarea for SAP Script Text Lines
gs_objbin TYPE solisti1, " SAPoffice: Single List with Column Length 255
gs_objpack TYPE sopcklsti1. " SAPoffice: Description of Imported Object Components
*********Internal tables Declarations *****************************
DATA: gt_reclist TYPE TABLE OF somlreci1, " SAPoffice: Structure of the API Recipient List
gt_pdf_tab TYPE TABLE OF tline, " SAPscript: Text Lines
gt_otf TYPE TABLE OF itcoo, " OTF Structure
gt_objbin TYPE TABLE OF solisti1, " SAPoffice: Single List with Column Length 255
gt_objpack TYPE TABLE OF sopcklsti1. " SAPoffice: Description of Imported Object Components
CLEAR : gv_form_name,
gs_ctrlop,
gs_outopt,
gs_otfdata,
gv_bin_filesize,
gv_pos,
gv_len,
gv_tab_lines.
START-OF-SELECTION.
Generate Function Module name
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZPDF_G'
IMPORTING
fm_name = gv_form_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Assigning values to Form Control Structure and Form Composer
gs_ctrlop-getotf = 'X'.
gs_ctrlop-no_dialog = 'X'.
gs_outopt-tdnoprev = 'X'.
Getting the OTFDATA
CALL FUNCTION gv_form_name
EXPORTING
control_parameters = gs_ctrlop
output_options = gs_outopt
user_settings = 'X'
IMPORTING
job_output_info = gs_otfdata
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Assigning the OTFDATA to OTF Structure table
CLEAR gt_otf.
gt_otf] = gs_otfdata-otfdata[.
Convert the OTF DATA to SAP Script Text lines
CLEAR gt_pdf_tab.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = gv_bin_filesize
TABLES
otf = gt_otf
lines = gt_pdf_tab
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 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.
Assigning the Description of the object sent in the mail
CLEAR gs_docdata.
gs_docdata-obj_name = gc_tst.
gs_docdata-obj_descr = gc_testing.
Assigning the email id to Structure of the API Recipient List table
CLEAR : gt_reclist, gs_reclist.
gs_reclist-receiver = '<give the mail id of the receiver'.
gs_reclist-rec_type = 'U'.
APPEND gs_reclist TO gt_reclist.
Passing the SAP Script text lines to SAPoffice: Single List with Column Length 255 table
CLEAR : gs_objbin, gs_pdf_tab.
LOOP AT gt_pdf_tab INTO gs_pdf_tab.
gv_pos = 255 - gv_len.
IF gv_pos > 134. "length of pdf_table
gv_pos = 134.
ENDIF.
gs_objbin+gv_len = gs_pdf_tab(gv_pos).
gv_len = gv_len + gv_pos.
IF gv_len = 255. "length of out (contents_bin)
APPEND gs_objbin TO gt_objbin.
CLEAR: gs_objbin, gv_len.
IF gv_pos < 134.
gs_objbin = gs_pdf_tab+gv_pos.
gv_len = 134 - gv_pos.
ENDIF.
ENDIF.
ENDLOOP.
IF gv_len > 0.
APPEND gs_objbin TO gt_objbin.
ENDIF.
Filling the details in SAPoffice: Description of Imported Object Components table
DESCRIBE TABLE gt_objbin LINES gv_tab_lines.
CLEAR gs_objbin.
READ TABLE gt_objbin INTO gs_objbin INDEX gv_tab_lines.
IF sy-subrc = 0.
gs_objpack-doc_size = ( gv_tab_lines - 1 ) * 255 + STRLEN( gs_objbin ).
gs_objpack-transf_bin = 'X'.
gs_objpack-head_start = 1.
gs_objpack-head_num = 0.
gs_objpack-body_start = 1.
gs_objpack-body_num = gv_tab_lines.
gs_objpack-doc_type = 'PDF'.
gs_objpack-obj_name = 'ATTACHMENT'.
gs_objpack-obj_descr = 'test'.
APPEND gs_objpack TO gt_objpack.
ENDIF.
Sending the Form Output in the PDF format to email
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = gs_docdata
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = gt_objpack
contents_bin = gt_objbin
receivers = gt_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.
ELSE.
WRITE 'Sent Successfully'.
ENDIF.
SUBMIT rsconn01
WITH mode EQ 'INT'
AND RETURN.
END-OF-SELECTION.Regards,
Midhun Abraham
Edited by: Midhun Abraham on Oct 12, 2008 4:06 AM
Maybe you are looking for
-
I recently did an update on my macbook this year around Jan. or Feb and now I am not getting the same juice from my battery. I can use my notebook for 30 minutes and the bars will go from 99-80 in just 15 minutes. Before this update my computer batte
-
How can I remove restriction from my iPhone 4s
How can I remove the restriction on iPhone 4S
-
My phone went through the Kitkat update about a week ago, and since I've ran out of battery with in 8 hours of taking it off a full charge, and now today It died, and I plugged it in, well it won't charge, and i can't get it to turn on at all. My pho
-
Problem in displaying Eastern asain language characters in GUI components.
hi all, i m getting probelm in displaying chinies & japanies charatcter on GUI, i have my strings in xml file UTF-16 and UTF-8 formates. problem is that i can display the character on JFrame Title, tabbedPane Titles and in Text Area too, but i can't
-
How to send a mail from SAP 3.1H Ver.
Hi, I am working on SAP 3.1H Version. I need to send mail from one of my ABAP program. Since SAP 3.1H version does not have Standard function modules which send mails from any ABAP program so how can I achive this task in this version of SAP. The O