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 you

    My 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.

  • I've got my email folders showing but how can i put back my email messages into the folders from time machine

    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.
    kiss

    Hi,
    you can validate below note
    Note 1145354 - Configuring the Mail Services, troubleshooting info
    regards
    nag

  • HT1541 I have an ipad and ipod and my account is set up on both devices so I decided to send a gift to my email 15 pound, but when I looked on my account details it says that the gift hasn't been redeemed how do I cancel the gift or actually get it?

    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&acute;s: activation.jar and mail.jar. Currently using a platform SOA and am creating the serviceType, then a file don&acute;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.m

    Hi
    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 ,
    Kiran

    This 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,
    user9018217

    From 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