Missing message in mail sended with SO_NEW_DOCUMENT_ATT_SEND_API1

Hi all,
I've created a new function module which calls the SAP standard function module SO_NEW_DOCUMENT_ATT_SEND_API1. The mail is sent to the correct receiver. <b>The problem:</b> The message field in all my mails is empty. Only subject field is filled.
Thanks in advance,
Fabian
Here is the coding:
FUNCTION z_isa_send_mail_for_new_shipto.
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(I_RECEIVER) LIKE  SOMLRECI1 STRUCTURE  SOMLRECI1
*"     VALUE(I_SUBJECT) LIKE  SODOCCHGI1-OBJ_DESCR
*"  TABLES
*"      T_TEXT STRUCTURE  SOLISTI1
* Data Declaration
  DATA:
    lt_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
    reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE,
    gd_doc_data LIKE sodocchgi1.
  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 = i_subject.
  gd_doc_data-sensitivty = 'F'.
* Describe the body of the message
  CLEAR lt_packing_list.
  REFRESH lt_packing_list.
  lt_packing_list-transf_bin = space.
  lt_packing_list-head_start = 1.
  lt_packing_list-head_num = 0.
  lt_packing_list-body_start = 1.
  DESCRIBE TABLE t_text LINES lt_packing_list-body_num.
  lt_packing_list-doc_type = 'RAW'.
  APPEND lt_packing_list.
* Create receiver list
  reclist-receiver = i_receiver-receiver.
  reclist-rec_type = i_receiver-rec_type.
  APPEND reclist.
* Send Message
  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
       EXPORTING
            document_data              = gd_doc_data
            put_in_outbox              = 'X'
       TABLES
            packing_list               = lt_packing_list
            contents_txt               = t_text
            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.
ENDFUNCTION.

Hi Fabian,
Your code seemes to be good, maybe you schould ensure that your internal table is filled. I am not sure if it is really necessary to tell the function the exact size of your message...Have a look at my code..
I send you my code for the same function,maybe this helps.
    DATA: lt_objpack  TYPE STANDARD TABLE OF sopcklsti1,
          lt_objhead  TYPE STANDARD TABLE OF solisti1,
          lt_objtxt   TYPE STANDARD TABLE OF solisti1,
          lt_reclist  TYPE STANDARD TABLE OF somlreci1.
    DATA: ls_objpack  TYPE sopcklsti1,
          ls_objhead  TYPE solisti1,
          ls_objtxt   TYPE solisti1,
          ls_reclist  TYPE somlreci1,
          ls_doc_chng TYPE sodocchgi1,
          ls_order    TYPE bapiret2.
    DATA: ld_tablines LIKE sy-tabix,
          ld_to       TYPE yylog_mail,
          ld_cc       TYPE yylog_mail,
          ld_bcc      TYPE yylog_mail,
          ld_uzeit(8) TYPE c,
          ld_datum(10) TYPE c.
* Creation of the document to be sent
    CLEAR ls_doc_chng.
* File Name
    ls_doc_chng-obj_name = 'SENDFILE'.
    CONCATENATE gd_datum+6(2) '.'
                gd_datum+4(2) '.'
                gd_datum(4)
           INTO ld_datum.
    CONCATENATE gd_uzeit(2) ':'
                gd_uzeit+2(2) ':'
                gd_uzeit+4(2)
           INTO ld_uzeit.
* Mail Subject
    CONCATENATE 'MGV - Criação ordens de venda' ld_datum ld_uzeit
                      INTO ls_doc_chng-obj_descr SEPARATED BY space.
* Mail Contents
    CLEAR ls_objtxt.
    ls_objtxt = 'MGV - Resultado da criação de ordens de venda.'.
    APPEND ls_objtxt TO lt_objtxt.
    CLEAR ls_objtxt.
    APPEND ls_objtxt TO lt_objtxt.
* Pass messages from result table to the mail body
    LOOP AT i_order_result INTO ls_order.
      CLEAR ls_objtxt.
      ls_objtxt = ls_order-message.
      APPEND ls_objtxt TO lt_objtxt.
    ENDLOOP.
    DESCRIBE TABLE lt_objtxt LINES ld_tablines.
    CLEAR ls_objtxt.
<b>    READ TABLE lt_objtxt INTO ls_objtxt INDEX ld_tablines.
    ls_doc_chng-doc_size = ( ld_tablines - 1 ) * 255
                                               + STRLEN( ls_objtxt ).</b>
* Creation of the entry for the compressed document
    CLEAR ls_objpack-transf_bin.
    ls_objpack-head_start = 1.
    ls_objpack-head_num = 0.
    ls_objpack-body_start = 1.
    ls_objpack-body_num = ld_tablines.
    ls_objpack-doc_type = 'RAW'.
    APPEND ls_objpack TO lt_objpack.
    ls_objhead = 'ENCOMENDAS'.
    APPEND ls_objhead TO lt_objhead.
* GET RECIPENTS FROM CONFIGURATION TABLE
    CLEAR: ld_to,
           ld_cc.
    get_mail_config( EXPORTING id = 'TO'
                     IMPORTING val = ld_to ).
    get_mail_config( EXPORTING id = 'CC'
                     IMPORTING val = ld_cc ).
    get_mail_config( EXPORTING id = 'BCC'
                     IMPORTING val = ld_bcc ).
* Completing the recipient list
* target recipent
    CLEAR ls_reclist.
    ls_reclist-receiver = ld_to. "Destination variavel
    ls_reclist-express  = 'X'.
    ls_reclist-rec_type = 'U'.
    APPEND ls_reclist TO lt_reclist.
* copy recipents
    IF NOT ld_cc IS INITIAL.
      CLEAR ls_reclist.
      ls_reclist-receiver = ld_cc.
      ls_reclist-express  = 'X'.
      ls_reclist-rec_type = 'U'.
      ls_reclist-copy     = 'X'.
      APPEND ls_reclist TO lt_reclist.
    ENDIF.
* blind copy recipents
    IF NOT ld_bcc IS INITIAL.
      CLEAR ls_reclist.
      ls_reclist-receiver   = ld_bcc.
      ls_reclist-express    = 'X'.
      ls_reclist-rec_type   = 'U'.
      ls_reclist-blind_copy = 'X'.
      APPEND ls_reclist TO lt_reclist.
    ENDIF.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
      EXPORTING
        document_data              = ls_doc_chng
        commit_work                = 'X'
      TABLES
        packing_list               = lt_objpack
        object_header              = lt_objhead
        contents_txt               = lt_objtxt
        receivers                  = lt_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 s112.
    ENDIF.

Similar Messages

  • Mail Sending- with Unicode enabled text in the attachment

    hi,
    i have a specific requirement for JAPAN country. its as follows:
    i am retrieving delivery details into my program & i need to send them as in a mail attachment(as CSV file) to particular mail id.
    for sending mail, i am using the function module "SO_NEW_DOCUMENT_ATT_SEND_API1".
    here is my problem :
    as this program will be used by JAPAN people, some of the delivery details are stored in Japanese (text like Customer name,street address etc..)
    .so when i am trying to send it as attachment these japanese text is not appearing correctly in the mail attachment. its appearing as Junk characters.
    i observed here the problem is may be because these Texts are not sending with UNICODE format. may be the default format is ASCII, which can not
    interpret Japanese text properly.
    so pl let me know is there any new function module where we can mention the Encoding format like UNICODE ?? or can i use the
    same above mentioned function module with providing this UNICODE value somewhere....
    regards
    srikanth,Intelligroup.
    Message was edited by: Srikanth Kidambi

    Hi,
    Check the answer from xiaoming cai in this thread:
    Send mails with attachment to external email id
    Eddy

  • E-mail sending with progress bar

    OK so I have a application that allows the user to send an e-mail with multiple attachments. It works fine but I want to add a progress bar - when the user clicks SEND, a new window should pop-up with a progress bar and a OK button after the mail has been successfuly sent.
    Any ideas how to accomplish this?
    Mail sending is handled by this class and is called from a frame:
    import javax.mail.*;
    import javax.mail.internet.*;
    import javax.activation.FileDataSource;
    import javax.activation.DataHandler;
    import java.util.Properties;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Vector;
    import java.io.File;
    import java.io.*;
    public class Mailer implements Runnable {
    boolean success = false;
    String sendToAddress, ccAddress, sendFromAddress,
    subject, messageText, filename, smtpServer;
    mainFrame2 frame;
    public Mailer(String sendToAddress, String ccAddress, String sendFromAddress, String subject, String messageText, String filename,
    String smtpServer, mainFrame2 frame)
    this.sendToAddress = sendToAddress;
    this.ccAddress = ccAddress ;
    this.sendFromAddress = sendFromAddress;
    this.subject = subject;
    this.messageText = messageText ;
    this.filename = filename;
    this.smtpServer = smtpServer ;
    this.frame = frame;
    public void run() {  
    sendMail();
    public void sendMail() {
    Properties props = System.getProperties();
    props.put("mail.smtp.host", smtpServer);
    Session session = Session.getInstance(props, null);
    MimeMessage msg = new MimeMessage(session);
    Multipart mp = new MimeMultipart();
    BodyPart body = new MimeBodyPart();
    BodyPart attachment = new MimeBodyPart();
    try {
    msg.setFrom(new InternetAddress(sendFromAddress));
    msg.setRecipient(javax.mail.Message.RecipientType.TO,
    new InternetAddress(sendToAddress));
    if(ccAddress.length()>3)
    msg.setRecipient(javax.mail.Message.RecipientType.CC, new InternetAddress(ccAddress));
    msg.setSubject(subject);
    msg.setSentDate(new Date());
    msg.addHeaderLine("MIME-Version: 1.0");
    msg.addHeaderLine("Content-type: text/html; charset=\"windows-1251\"");
    body.setText(messageText);
    FileDataSource fds = new FileDataSource(new File(filename));
    DataHandler dh = new DataHandler(fds);
    attachment.setDataHandler(dh);
    attachment.setFileName(filename.substring(filename.lastIndexOf("\\", filename.length())+1));
    mp.addBodyPart(body);
    mp.addBodyPart(attachment);
    // this here is for the attachments, I've already collected them into a Vector
    for(int i=0; i < frame.attachedFiles.files.size(); i++)
    int chertichka = frame.attachedFiles.files.get(i).toString().lastIndexOf("\\");
    String ime = frame.attachedFiles.files.get(i).toString().substring(chertichka+1);
    BodyPart attachment1 = new MimeBodyPart();
    FileDataSource fds1 = new FileDataSource(new File(frame.attachedFiles.files.get(i).toString()));
    DataHandler dh1 = new DataHandler(fds1);
    attachment1.setDataHandler(dh1);
    attachment1.setFileName(ime);
    mp.addBodyPart(attachment1);
    turgData.doc_to_attach = "";
    msg.setContent(mp);
    Transport.send(msg);
    } catch (MessagingException e) {
    e.printStackTrace();
    success = true;
    public static boolean isEmailAddress(String text)
    if(text.indexOf(" ")>-1) return false;
    int kliomba = text.indexOf("@");
    int dotCom = text.lastIndexOf(".");
    if(kliomba < 2 || kliomba >(text.length()-4)) return false;
    else if(dotCom > (text.length()-2)) return false;
    else return true;
    public boolean isSent()
    return success;
    Please provide some code on how to put a progress bar in a pop-up window after the user clicks SEND. Also, the send button should be disabled until the mail has been sent.
    PLZ help me out ;)))

    Hi,
    Check the links for Email Adapter,If u want to send the Attachment then give me ur mail id i will send you one doc which will explain u how to send Email in Attachment.
    Receiver Mail Adapter.
    /people/prasad.ulagappan2/blog/2005/06/07/mail-adapter-scenarios-150-sap-exchange-infrastructure
    /people/community.user/blog/2006/09/07/email-reporting
    /people/community.user/blog/2006/09/08/email-report-as-attachment-excelword
    /people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address
    /people/michal.krawczyk2/blog/2005/11/23/xi-html-e-mails-from-the-receiver-mail-adapter
    /people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step
    eMail Reporting
    /people/community.user/blog/2006/09/07/email-reporting
    Regards,
    Phani
    Reward points if Helpful

  • Missing messages in Mail (IMAP)

    Since upgrading to ML I've noticed that at least two of my email accounts don't receive all my messages. For example, I'll receive a reply-all to a message which was also addressed to me, but didn't get the original message which was sent earlier...
    If I shut down and restart Mail, then the missing message appears where it belongs in my Inbox... I've noticed this on two of my four email accounts (all IMAP). This is quite concerning. It did not occur prior to Mountain Lion. If it matters, I use conversation view in Mail.
    Is this a known problem, or is there something I can do to fix it? I've had no other problems with ML, it works great. Thanks.

    MacBook Pro andiMac with IOS 10.9.5

  • Mail sending with subject and attachment

    hai all,
           my requiremnet is i want to send a mail with a body and pdf attachemnt , but with the below code iam able to send both as attachment , but how to send along with body.
    *& Report  ZV_TEST                                                     *
    Report  ZV_TEST no standard Page heading line-size 200.
    Tables: Pa0105,
            pernr,
            QPPNP,
            HRPY_RGDIR,
            SSCRFIELDS,
            pa0002.
    Constants
    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 '<NEW-PAGE>',
    end of F__CMD.
    CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
               c_no(1)     TYPE c   VALUE ' ',
               c_device(4) TYPE c   VALUE 'LOCL'.
    Data Declaration
    DATA:Begin of Itab occurs 0,
           pernr like HRPY_RGDIR-PERNR,
           SEQNR like HRPY_RGDIR-SEQNR,
           PAYSLIP_VARIANT like BAPI7004-PAYSLIP_VARIANT,
         end of itab.
    data: P_INFO like PC407,
          P_INFO1 like PC407,
          P_FORM like PC408 occurs 0 with header line,
          P_P_FORM like PC408 occurs 0 with header line,
          RETURN like BAPIRETURN1 occurs 0 with header line,
          PAY_VAR like BAPI7004-PAYSLIP_VARIANT value 'ESS_PAYSLIPS' ,
          P_LIST like ABAPLIST occurs 1 with header line,
          P_IDX type I.
    data: begin of P_INDEX occurs 0,
            INDEX type I,
          end of P_INDEX.
    data: OBJBIN like SOLISTI1 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,
          TAB_LINES type I,
          ATT_TYPE like SOODK-OBJTP.
    data: PDF_TAB like TBL1024 occurs 0 with header line,
          OTF_TAB like TBL1024 occurs 0 with header line.
    Spool IDs
    TYPES: BEGIN OF t_tbtcp.
            INCLUDE STRUCTURE tbtcp.
    TYPES: END OF t_tbtcp.
    DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
          wa_tbtcp TYPE t_tbtcp.
    Job Runtime Parameters
    DATA: gd_eventid LIKE tbtcm-eventid,
          gd_eventparm LIKE tbtcm-eventparm,
          gd_external_program_active LIKE tbtcm-xpgactive,
          gd_jobcount LIKE tbtcm-jobcount,
          gd_jobname LIKE tbtcm-jobname,
          gd_stepcount LIKE tbtcm-stepcount,
          gd_error    TYPE sy-subrc,
          gd_reciever TYPE sy-subrc.
    Spool to PDF conversions
    DATA: gd_spool_nr LIKE tsp01-rqident,
          gd_destination LIKE rlgrap-filename,
          gd_bytecount LIKE tst01-dsize,
          gd_buffer TYPE string.
    Binary store for PDF
    DATA: BEGIN OF it_pdf_output OCCURS 0.
            INCLUDE STRUCTURE tline.
    DATA: END OF it_pdf_output.
    DATA:  w_recsize TYPE i.
    DATA: gd_subject   LIKE sodocchgi1-obj_descr,
          it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          gd_sender_type     LIKE soextreci1-adr_typ,
          gd_attachment_desc TYPE so_obj_nam,
          gd_attachment_name TYPE so_obj_des.
    data: PDF_CONTENT TYPE XSTRING,
          PDF_FSIZE   TYPE I.
    data: error        TYPE sysubrc.
    DATA: v_dest LIKE tsp01-rqdest,
          v_handle LIKE sy-tabix,
          v_spool_id LIKE tsp01-rqident,
          v_rc TYPE c,
          v_errmessage(100) TYPE c,
          v_text(70) TYPE c.
    data: PAYSLIP     LIKE     BAPI7004_PAYSLIP occurs 0 with header line.
    Data: v_index like sy-index value 1.
    Data: Begin of I_Sent occurs 0,
            pernr like pernr-pernr,
            name(20),
            usrid_long like pa0105-usrid_long,
            Status(3),
          End of I_sent.
    Data: Begin of I_NSent occurs 0,
             pernr like pernr-pernr,
            usrid_long like pa0105-usrid_long,
          End of I_Nsent.
    DATA: I_FCODE TYPE TABLE OF sy-ucomm.
    data: v_text1(255),
          v_text2(255),
          v_text3(255).
    data: month_names like T247 occurs 0 with header line,
          v_month(2) type c.
    ***********************Selection Screen********************
    selection-screen Begin of Block b2 WITH FRAME TITLE TEXT-BL1 .
    Parameters: P_Print type c default 'X' radiobutton group g1
                                          user-command CMD,
                P_DISP  Type C  Radiobutton Group g1.
    Selection-screen end of Block b2.
    selection-screen Begin of Block b1 WITH FRAME TITLE TEXT-BL2 .
    Recipient address and Period
    SELECT-OPTIONS :   s_name   FOR PERNR-PERNR Modif id M1,
                       s_period for HRPY_RGDIR-FPPER Modif id M1.
                      s_year for QPPNP-PABRJ Modif id M1.
    SELECT-OPTIONS:    p_num    FOR PERNR-PERNR Modif id M2 .
    Selection-screen end of Block b1.
    *SELECTION-SCREEN FUNCTION KEY 1.
    *SELECTION-SCREEN PUSHBUTTON /10(20) CHARLY USER-COMMAND ABCD.
    ***********************At Selection Screen Output**************
    at selection-screen output.
      Loop at screen.
        if P_Print = 'X'.
          if screen-group1 = 'M2'.
            screen-active = 0.
          endif.
        else.
          if screen-group1 = 'M1'.
         if screen-name = 'S_NAME-LOW' Or screen-name = 'S_PERIOD'.
            screen-active = 1.
          endif.
        Endif.
        Modify Screen.
      Endloop.
    ***********************INITIALIZATION********************
    INITIALIZATION.
    MOVE 'Preview' TO SSCRFIELDS-FUNCTXT_01.
    MOVE 'Preview' TO CHARLY.
      p_print = 'X'.
    v_text1 =
    'Please find enclosed your salary slip for the month of Apr 2006 as
    *attachment. This is confidential '.
    ***********************AT SELECTION-SCREEN******************
    AT SELECTION-SCREEN.
    if p_print = 'X'.
       if s_name[] is initial.
          message e000(8i) with 'Make Entry into Personal Number Field'.
       endif.
    else.
       if p_num[] is initial.
          message e000(8i) with 'Make Entry into Personal Number Field'.
       endif.
    endif.
    ***********************Start-of-Selection********************
    Start-of-Selection.
      if p_print = 'X'.
        APPEND 'NEXT' TO i_fcode.
        APPEND 'PREV' TO i_fcode.
        set pf-status 'ZHRF' excluding I_FCODE.
        Perform Get_values.
       Perform Print using v_index.
        perform Write_Values.
      else.
        set pf-status 'ZHRF'.
      Perform Get_values.
        Perform Print using v_index.
      endif.
    ***********************Top-of-page***************************
    Top-of-page.
      skip 2.
      if p_print = 'X'.
        write:50 'The Pay Slip Sent details'.
        skip 1.
        uline at 1(70).
        write :/ sy-vline,2 'Personal Number',18 sy-vline,
                         19 'Name',40 sy-vline,
                         41 'User Mail-Ids',63 sy-vline,
                         64 'Status',70 sy-vline.
        ULINE /1(70).
      endif.
      set left scroll-boundary Column 0.
    *&      Form  Get_values
          text
    -->  p1        text
    <--  p2        text
    FORM Get_values .
      select  *
              from HRPY_RGDIR
              into corresponding fields of table itab
              where PERNR in s_name
              AND
              FPPER IN S_PERIOD.
      if sy-subrc eq 0.
        loop at itab.
          Create receiver list
          refresh RECLIST.
          clear RECLIST.
          select single *
                        from PA0105
                        where PERNR eq ITAB-PERNR
                          and USRTY eq '0010'.
          if SY-SUBRC <> 0.
            I_sent-PERNR = ITAB-PERNR.
            i_sent-status = 'NO'.
            select single *
                          from pa0002
                          where pernr eq itab-pernr.
            concatenate pa0002-VORNA pa0002-NACHN into i_sent-name
                                             separated by space.
            append i_Nsent.
            continue.
          else.
            refresh reclist.
            RECLIST-RECEIVER = pa0105-usrid_long.
            translate RECLIST-RECEIVER to lower case.
            RECLIST-REC_TYPE = 'U'.
            append RECLIST.
          endif.
          call function 'GET_PAYSLIP'
            EXPORTING
              EMPLOYEE_NUMBER = itab-PERNR
              SEQUENCE_NUMBER = itab-SEQNR
              PAYSLIP_VARIANT = PAY_VAR
            IMPORTING
              RETURN          = RETURN
              P_INFO          = P_INFO
            TABLES
              P_FORM          = P_FORM.
          loop at P_FORM
              where LINDA eq F__CMD-NEWPAGE
              and LTYPE eq F__LTYPE-CMD.
            P_INDEX-INDEX = SY-TABIX.
            append P_INDEX.
          endloop.
          P_IDX = 1.
          refresh P_P_FORM.
          append lines of P_FORM from P_IDX to P_INDEX-INDEX
          to P_P_FORM.
          P_IDX = P_INDEX-INDEX.
          export P_P_FORM to memory id '%%_P_FORM_%%'.
          export P_INFO to memory id '%%_P_INFO_%%'.
          submit RPCEDT_LIST_TO_MEMORY exporting list to memory and return.
          call function 'LIST_FROM_MEMORY'
            TABLES
              LISTOBJECT = P_LIST.
          call function 'TABLE_COMPRESS'
            TABLES
              IN     = P_LIST
              OUT    = OBJBIN
            EXCEPTIONS
              others = 1.
          Read table RECLIST index 1.
          I_sent-PERNR = ITAB-PERNR.
          i_sent-usrid_long = RECLIST-RECEIVER.
          select single *
                        from pa0002
                        where pernr eq itab-pernr.
          concatenate pa0002-VORNA pa0002-NACHN into i_sent-name
                                           separated by space.
          i_sent-status = 'YES'.
          append i_sent.
         concatenate ' Payslip-'  '(' ITAB-PERNR+4(4) ')'
        into DOCDATA-OBJ_DESCR.
          CALL FUNCTION 'MONTH_NAMES_GET'
           EXPORTING
             LANGUAGE                    = SY-LANGU
            TABLES
              MONTH_NAMES                 = month_names
           EXCEPTIONS
             MONTH_NAMES_NOT_FOUND       = 1
             OTHERS                      = 2
          IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
         if sy-datum+4(2)  = '01'.
            v_month = '12'.
         else.
            v_month = sy-datum+4(2) - 1.
         endif.
         read table month_names with key mnr = v_month.
         concatenate 'Salary Slip for the month of' month_names-LTX
                      sy-datum+0(4) '-' i_sent-name
                      into DOCDATA-OBJ_DESCR.
          DOCDATA-OBJ_NAME = 'Pay Slip'.
          DOCDATA-OBJ_LANGU = SY-LANGU.
          OBJTXT = 'Dear Mr.'.
          concatenate OBJTXT i_sent-name into objtxt.
          append OBJTXT.
          append initial line to objtxt.
          OBJTXT = 'Please find enclosed your salary slip for the month of'.
          concatenate OBJTXT month_names-LTX sy-datum+0(4)
                                      into objtxt separated by space.
           append OBJTXT.
    OBJTXT =
    'as attachment This is confidential document and not be disclosed'.
          append OBJTXT.
    OBJTXT =
    'shared with any other employee.In case of any queries on this subject'.
    append OBJTXT.
    OBJTXT =
    'you are requested to contact the Payroll administrator “Sabitha” '.
    OBJTXT = 'email:[email protected]'.
    append OBJTXT.
    append initial line to objtxt.
    append initial line to objtxt.
    OBJTXT = 'With Kind Regards'.
    append OBJTXT.
    append initial line to objtxt.
    append initial line to objtxt.
    OBJTXT = 'Sabitha'.
    append OBJTXT.
    OBJTXT = 'Payroll Administrator'.
    append OBJTXT.
    OBJTXT = 'Enteg Infotech Pvt Lyd.'.
    append OBJTXT.
    OBJTXT = 'Banaglore'.
    append OBJTXT.
          Write Packing List (Main)
           describe table objtxt.
           read table OBJTXT index sy-tfill.
          DOCDATA-DOC_SIZE = ( sy-tfill - 1 ) * 255 + strlen( OBJTXT ).
          clear OBJPACK-TRANSF_BIN.
          OBJPACK-HEAD_START = 1.
          OBJPACK-HEAD_NUM = 0.
          OBJPACK-BODY_START = 1.
          OBJPACK-BODY_NUM = sy-tfill.
          OBJPACK-DOC_TYPE = 'TXT'.
          append OBJPACK.
    Create Message Attachment
    Write Packing List (Attachment)
          ATT_TYPE = 'ALI'.
          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.
    Send the document
          call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
            EXPORTING
              DOCUMENT_DATA              = DOCDATA
              PUT_IN_OUTBOX              = ''
              COMMIT_WORK                = 'X'
            TABLES
              PACKING_LIST               = OBJPACK
              OBJECT_HEADER              = OBJHEAD
              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.
        endloop.
      endif.
    ENDFORM.                    " Get_values
    *****************************At User Command*************************
    at User-Command.
      case Sy-ucomm.
        When 'NEXT'.
          describe table itab.
          if sy-tfill GT v_index.
            v_index = v_index + 1.
            Perform Print using v_index.
          else.
            message E000(8i) with 'You Have Reached the Last Entry'.
          endif.
        When 'PREV'.
          if v_index LE 1.
            Message E000(8i) with 'You Have Reached the First Entry'.
          else.
            v_index = v_index - 1.
            Perform Print using v_index.
          endif.
        When 'BACK'.
          leave to screen 0.
        WHen 'EXIT'.
          set Screen 0.
          leave screen.
      Endcase.
    *&      Form  Print
          text
    -->  p1        text
    <--  p2        text
    FORM Print using v_index.
      if v_index = 1.
        select  *
               from HRPY_RGDIR
               into corresponding fields of table itab
               where PERNR in P_num
      endif.
      if not itab[] is initial.
        sort itab by pernr .
        read table itab index v_index.
        select single *
                      from PA0105
                      where PERNR eq ITAB-PERNR
                        and USRTY eq '0010'.
        call function 'GET_PAYSLIP'
          EXPORTING
            EMPLOYEE_NUMBER = itab-PERNR
            SEQUENCE_NUMBER = itab-SEQNR
            PAYSLIP_VARIANT = PAY_VAR
          IMPORTING
            RETURN          = RETURN
            P_INFO          = P_INFO
          TABLES
            P_FORM          = P_FORM.
        loop at P_FORM
            where LINDA eq F__CMD-NEWPAGE
            and LTYPE eq F__LTYPE-CMD.
          P_INDEX-INDEX = SY-TABIX.
          append P_INDEX.
        endloop.
        P_IDX = 1.
        refresh P_P_FORM.
        append lines of P_FORM from P_IDX to P_INDEX-INDEX
        to P_P_FORM.
        P_IDX = P_INDEX-INDEX.
           export P_P_FORM to memory id '%%_P_FORM_%%'.
           export P_INFO to memory id '%%_P_INFO_%%'.
      IMPORT P_P_FORM FROM MEMORY ID '%%_P_FORM_%%'.
      IMPORT P_INFO FROM MEMORY ID '%%_P_INFO_%%'.
        new-page                                                "VKIK008647
        line-size p_info-pcols
        line-count p_info-psize
        no-title
        no-heading.
        SET BLANK LINES ON.
        LOOP AT P_P_FORM.
          if sy-tabix lt 20.
            NEW-LINE NO-SCROLLING.
          endif.
          CASE P_P_FORM-LTYPE.
         WHEN F__LTYPE-TXT.
            WRITE:/ P_P_FORM-LINDA.
            WHEN F__LTYPE-CMD.
              IF P_P_FORM-LINDA EQ F__CMD-NEWPAGE.
                NEW-PAGE.
              ENDIF.
            WHEN others.
              hide: itab,v_index.
              WRITE:/ P_P_FORM-LINDA.
              if sy-tabix lt 20.
                NEW-LINE NO-SCROLLING.
              else.
                NEW-LINE SCROLLING.
              endif.
          ENDCASE.
        ENDLOOP.
        SET BLANK LINES OFF.
    v_index = 1.
      endif.
    ENDFORM.                    " Print
    *&      Form  Write_Values
          text
    -->  p1        text
    <--  p2        text
    FORM Write_Values .
      if p_print = 'X'.
        loop at i_sent.
          write :/ sy-vline,2 i_sent-pernr,18 sy-vline,
                            19 i_sent-name,40 sy-vline,
                            41 i_sent-usrid_long,63 sy-vline,
                            64 i_sent-status,70 sy-vline.
          ULINE /1(70).
        endloop.
      endif.
    ENDFORM.                    " Write_Values
    i want to send the contents of objtxt has body.
    cheers

    Hi,
    in the below code, BOLD Characters coming as body text in my mail.after that i am attaching V_LINE as the attachment.pl compare this with ur code.
    revert, if you need any clarifications.
    <b>*-populate body text</b>
      CONCATENATE <b>'Japan BOL details for the Delivery#'
                    V_VBELN
                   ',is attached'</b>               INTO WA_OBJTXT SEPARATED BY SPACE.
      APPEND WA_OBJTXT TO IT_OBJTXT.
    <b>*---- Append Date and Time into Body of email.</b>
      MOVE 'File is generated on'(004) TO V_INFO.
      V_TIME = SY-UZEIT.
    WRITE : SY-UZEIT TO V_TIME USING EDIT MASK '__:__:__'.
      CONCATENATE V_TIME+0(2)
                  V_TIME+2(2)
                  V_TIME+4(2)
                  INTO
                  V_TIME2 SEPARATED BY ':'.
       WRITE : sy-datum MM/DD/YYYY TO lv_date .
      CONCATENATE SY-DATUM+4(2)
                  SY-DATUM+6(2)
                  SY-DATUM+0(4)
                  INTO V_DATE.
      CONCATENATE <b>V_INFO
                  V_DATE
                  'At'
                  V_TIME2
                  INTO V_INFO</b>              SEPARATED BY SPACE.
      <b>WA_OBJTXT = V_INFO.</b>  APPEND WA_OBJTXT TO IT_OBJTXT.
    *-document size
      CLEAR : V_TABLE_LINES.
      DESCRIBE TABLE IT_OBJTXT LINES V_TABLE_LINES.
      READ TABLE IT_OBJTXT INTO WA_OBJTXT INDEX V_TABLE_LINES.
      X_DOC_CHNG-DOC_SIZE =
                     ( V_TABLE_LINES - 1 ) * 255 + STRLEN( WA_OBJTXT ).
    *-populate packing list for body text
    CLEAR IT_OBJPACK-TRANSF_BIN.
      WA_OBJPACK-HEAD_START = 1.
      WA_OBJPACK-HEAD_NUM = 0.
      WA_OBJPACK-BODY_START = 1.
      WA_OBJPACK-BODY_NUM = V_TABLE_LINES.
      WA_OBJPACK-DOC_TYPE = 'RAW'.
      APPEND WA_OBJPACK TO IT_OBJPACK.
      CLEAR WA_OBJPACK.
    *--for attachment
    *--add Internal table lines here, as attachment.
      WA_OBJBIN = V_LINE.
      APPEND WA_OBJBIN TO IT_OBJBIN.
      CLEAR  WA_OBJBIN.
    *-get total no.of lines of Object table(attachment)
      CLEAR : V_TABLE_LINES.
      DESCRIBE TABLE IT_OBJBIN LINES V_TABLE_LINES.
    *-populate object header
      CONCATENATE  'Delivery#'(005)
                     V_VBELN
                     SY-DATUM
                     V_TIME
                     INTO
                     WA_OBJHEAD SEPARATED BY SPACE.
      APPEND WA_OBJHEAD TO IT_OBJHEAD.
      CLEAR  WA_OBJHEAD.
    *-packing list for attachment
      WA_OBJPACK-TRANSF_BIN = C_X.
      WA_OBJPACK-HEAD_START = 1.
      WA_OBJPACK-HEAD_NUM = 1.
      WA_OBJPACK-BODY_START = 1.
      WA_OBJPACK-BODY_NUM = V_TABLE_LINES .
    WA_OBJPACK-DOC_TYPE = 'CSV' .
      WA_OBJPACK-DOC_TYPE = 'RAW' .
      WA_OBJPACK-OBJ_NAME = 'POTR'.
    CONCATENATE 'Delivery details for '(005)
      CONCATENATE TEXT-005
                V_VBELN
                SY-DATUM
                V_TIME
                '.CSV'
                INTO
                WA_OBJPACK-OBJ_DESCR SEPARATED BY SPACE.
      BREAK-POINT.
      WA_OBJPACK-DOC_SIZE = V_TABLE_LINES * 255.
      APPEND WA_OBJPACK TO IT_OBJPACK.
      CLEAR  WA_OBJPACK.

  • Error Message re: Mail Version with OSX Version & Mail Won't Open

    I have not upgraded my OS and have been with 10.6.8 (on iMac Intel 3.06 GHz) since it came out without any issues.  However today, after using sofware update to install: Java for Mac OSX 10.6 Update 10 and Security Update 2012-004 (which I can't see how they would relate), I went to open Mail and got the following error message:
    You can't use this version of Mail with this versio of Mac OS X
    You tried to open Mail version 4.5 (1084/1085) in : /Applications/Internet/Mail.app (which is where I have had it forever)
    it can't be used on this version of Mac OS X. Try opening the version of Mail located in the Applications for on your computer. For more information, click the Help button (which it stated upon clicking that it could not be accessed).
    Also, though I don't think this could be related - for about a month now, iTunes keeps asking me to enter my password (apparently not recognizing that i never logged out) - however if I just dismiss the request 2-3 times I can look in the menu and the log out option is available - weird.
    I see others have intermittently had this problem and as I said I have not added or upgraded any software and I am not using iCloud. I performed disk repair and permissions, cache cleaning, corrupt preference files etc, using Applejack but it did not resolve the issue.  Any help would be greatly appreciated - while I can get to my mail through other avenues it's not nearly as convenient. Thanks.

    Resolved. Found another thread - had to move my Mail App back into the Applications folder and then re-apply Security update.

  • Mail Sending with attachement

    Hello,
    I have one Modulepool having Z Transaction which sends the mail through workflow.
    I have created a task and bussiness object.
    Using FM SAP_WAPI_START_WORKFLOW to send the workitem in SAP inbox.
    That is attached to a standard Transaction CJ20n.
    I added the CC for sending mail.
    But if one user double click, then the WI will trrigerred and workflow completed and the second will not b able to c the WI.
    I want to send the mail to the second user with that T Code as Attachment.
    How to do this.
    Please Help.
    With Regards,
    Nitin Malhotra

    Here's how I do it, without attachments though (names, users, and servers changed):
    connect system/******@mydb as sysdba
    alter system set smtp_out_server='MAIL.k12.sd.us' SCOPE=BOTH;
    @I:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlmail.sql;
    @I:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\prvtmail.plb;
    GRANT execute ON utl_mail TO USER1;
    connect USER1/******@mydb;
    CREATE OR REPLACE PROCEDURE USER1.E_MAIL_MESSAGER IS
    vSender VARCHAR2(30) := '[email protected]';
    vRecip VARCHAR2(30) := '[email protected]';
    vSubj VARCHAR2(50) := 'TCHNAME_STUDENTS_INSERT';
    vMesg VARCHAR2(4000):='TCHNAME_STUDENTS SUCCESSFUL';
    vMType VARCHAR2(30) := 'text/plain; charset=us-ascii';
    BEGIN
    utl_mail.send(vSender, vRecip, NULL, NULL, vSubj,vMesg, vMType,
    NULL);
    END E_MAIL_MESSAGER;
    Rem Now to call the procedure to run it:
    exec E_MAIL_MESSAGER;

  • Mail sending with attachment

    Hi all,
            i'm working on badi i need to send a mail with excel attachment, if you have sample code pls
    send me.
    Regards
    Suprith

    hi
    refer to this thread
    Re: Send mails with attachment to external email id
    hope this helps
    regards
    Aakash Banga

  • E-Mail sending with payload field in the topic and / or in the body

    Hello all,
    I have follow question:
    For a project, we need follow functionallity:
    If we get a Purchase Oder Message into the SAP XI for the customer:
    1.) XI have generating an E-Mail, which the topic contains the Order Number, or in the
    body of the E-Mail is a list which contains all Order - Numbers from the Message.
    2.) If we send the E-Mail, a attachment shouldn't be necessary.
    Can somebody help me ?
    Thanks
    Kind regards
    Stephan

    Hi,
    Check the links for Email Adapter,If u want to send the Attachment then give me ur mail id i will send you one doc which will explain u how to send Email in Attachment.
    Receiver Mail Adapter.
    /people/prasad.ulagappan2/blog/2005/06/07/mail-adapter-scenarios-150-sap-exchange-infrastructure
    /people/community.user/blog/2006/09/07/email-reporting
    /people/community.user/blog/2006/09/08/email-report-as-attachment-excelword
    /people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address
    /people/michal.krawczyk2/blog/2005/11/23/xi-html-e-mails-from-the-receiver-mail-adapter
    /people/michal.krawczyk2/blog/2005/12/18/xi-sender-mail-adapter--payloadswapbean--step-by-step
    eMail Reporting
    /people/community.user/blog/2006/09/07/email-reporting
    Regards,
    Phani
    Reward points if Helpful

  • Send a file attached to a mail send with sendmail

    Hello,
    I'd like to send a report with a short mail to a mailing list. This task will be done every day by executing a ksh script.
    May I do it with sendmail ? how ?
    Is there another way to do it ?
    Thanks for your help.
    Ncg

    Sorry,
    question already posted on kernel Forum: "Command line mail - attachment"

  • MS Outlook outbox messages will not send with icloud installed

    When I send messages from my PC in MS Outlook, they get stuck in my outbox.
    I was told this is a problem with iCloud.
    I uninstalled iCloud and the messages were sent.
    How can I keep iCloud installed without having to uninstall it every time I want to send an email.
    My operating syste is WIn7

    see what you mean as youve posted 3 of the same posts.
    could well be a signal,connection problem.
    are you on 3G or 4G

  • Missing messages in Mail.

    I have 3 email accounts and it appears I receive all email sent to those accounts with the following exception:
    Account #3, I receive all mail except, we have a website that forwards an email quote request to three of our people, one gets the emails and the other two do not. In researching, I found that Mail is getting the email messages, but not displaying them from this server. I sent a test email from the website, but it never showed up. I then did a search in Mail on a text string that I put in the message and the message then popped up in Mail and looks normal. When I looked at the headings for the message, it shows that it is in the proper Inbox and I can read it fine. BUT, as soon as I delete the text string from the FIND box, the message disappears.
    The message is somewhere, but where? How do I find them?

    It looks like you are storing too much mail in your account mailboxes -- see Overstuffed mailbox is unexpectedly empty.
    You may try to recreate Envelope Index, but it may fail if your mailboxes are already too big:
    1. Quit Mail.
    2. In the Finder, go to HOME/Library/Mail/.
    3. Locate the Envelope Index file and move it to the Desktop (to be deleted later if this fixes the problem).
    4. Launch Mail again and let it finish re-indexing everything -- it says it's "importing", but it's just re-creating the Envelope Index file.

  • Mail sending with longtext

    hi...
    i have created one program for job-monitoring ...the program is about to send the mail sapadmin about whatever job failed within previous 24 hrs...the contents of body should be the long text explaning that job has failed ( in short i want to create a custom  message for this) and after that i want display the joblog (which i got in my internal table) entries in same mail body....how can i do this??????
    thanks in advance

    Hi Priya,
    see this link
    http://help.sap.com/saphelp_40b/helpdata/pt/fb/135d89457311d189440000e829fbbd/content.htm
    thanks
    karthik

  • Missing messages in JMS sender adapter

    Hello All,
    We are in the testing phase of one of the our implementation porject, In which we have used JMS to IDOC scenario  for WMS interfaces.
    But unfortunately we are not receiving all the messages in SAP PI from JMS queue.
    We have checked with JMS provider and maxximum JMS queue message limit is 100000. and there is no other system is trying to access the same queue.
    also there is no message overwritting issue from JMS side.Please check the below screenshot for the channel configuration.

    Hi Anant,
    are you on AEX or Dual Stack? We are experiencing some similar problem at the moment with errors like this show up in the default trace
    com.sap.sql.exception.OpenSQLIntegrityConstraintViolationException
    [NON_TRANSIENT, INTEGRITY_CONSTRAINT_VIOLATION]
    If that's the case in your environment, there's a note for that http://service.sap.com/sap/support/notes/1983366
    We discovered that the problem occurs especially in high load situations.
    Cheers
    Jens

  • Help me with mail sending with servlets/jsp

    : doe any one have a clue as to how to send a mail via jsp/servlets.

    An obvious solution is to use JavaMail. It is part of j2EE.

Maybe you are looking for

  • Access to SSO login when client cannot access port 7777

    We have a situation in which some of our users are behind internet firewalls that only allow access to port 80. I already have the middle tier/portal using port 80 but SSO is using 7777. Is there an easy way to make sign on available via port 80? IMP

  • Problem with bean in a JSP page

    I have developped a JSP pages in wich I call a bean with <jsp:useBean id="db" scope="request" class="SQLBean.class" /> The bean SQLBean.class is in the same directory as the JSP page. When I execute the JSP, I have the following error: SQLBean.class

  • TS3376 I can't get my iPhone on my iPad to find it

    I can't get my iPhone on my iPad to find it

  • Oracle Linux 6.3 and Oracle VM 3.0.3 : high "os thread startup" waits

    Hi all, we just installed Oracle Linux 6.3 as a PVM guest with Oracle VM 3.0.3. The vm is acting as a dbserver. We see high "os thread startup" wait times from statspack report. A 10-hour report shows: Top 5 Timed Events Avg %Total ~~~~~~~~~~~~~~~~~~

  • Before Update

    Hello, I'm building an interface to a 3rd party system and I'm pushing data to an interface table. And I was wondering if anyone could help me on this problem that I'm having. I have a table, call it Table "A", and this is the table that the user ent