<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SEND IN EMAIL.... in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661483#M293115</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the Code for you ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*   
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZSPOOLTOPDF                                                 *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Converts spool request into PDF document and emails it to           *
*&amp;amp; recipicant.                                                         *
*&amp;amp;                                                                     *
*&amp;amp; Execution                                                           *
*&amp;amp; ---------                                                           *
*&amp;amp; This program must be run as a background job in-order for the write *
*&amp;amp; commands to create a Spool request rather than be displayed on      *
*&amp;amp; screen                                                              *
*&amp;amp;---------------------------------------------------------------------*
REPORT  zspooltopdf.

PARAMETER: p_email1 LIKE somlreci1-receiver
                                    DEFAULT 'abap@sapdev.co.uk',
           p_sender LIKE somlreci1-receiver
                                    DEFAULT 'abap@sapdev.co.uk',
           p_delspl  AS CHECKBOX.

*DATA DECLARATION
DATA: gd_recsize TYPE i.

* Spool IDs
TYPES: BEGIN OF t_tbtcp.
        INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
      wa_tbtcp TYPE t_tbtcp.

* Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
      gd_eventparm LIKE tbtcm-eventparm,
      gd_external_program_active LIKE tbtcm-xpgactive,
      gd_jobcount LIKE tbtcm-jobcount,
      gd_jobname LIKE tbtcm-jobname,
      gd_stepcount LIKE tbtcm-stepcount,
      gd_error    TYPE sy-subrc,
      gd_reciever TYPE sy-subrc.


DATA:  w_recsize TYPE i.

DATA: gd_subject   LIKE sodocchgi1-obj_descr,
      it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      gd_sender_type     LIKE soextreci1-adr_typ,
      gd_attachment_desc TYPE so_obj_nam,
      gd_attachment_name TYPE so_obj_des.

* 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.

CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
           c_no(1)     TYPE c   VALUE ' ',
           c_device(4) TYPE c   VALUE 'LOCL'.

************************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.

* Write statement to represent report output. Spool request is created
* if write statement is executed in background. This could also be an
* ALV grid which would be converted to PDF without any extra effort
  WRITE 'Hello World'.
  new-page.
  commit work.
  new-page print off.

  IF sy-batch EQ 'X'.
    PERFORM get_job_details.
    PERFORM obtain_spool_id.

************************************
*** Alternative way could be to submit another program and store spool
*** id into memory, will be stored in sy-spono.
*submit ZSPOOLTOPDF2
*        to sap-spool
*        spool parameters   %_print
*        archive parameters %_print
*        without spool dynpro
*        and return.
************************************

* Get spool id from program called above 
*  IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.

    PERFORM convert_spool_to_pdf.
    PERFORM process_email.

    if p_delspl EQ 'X'.
      PERFORM delete_spool.
    endif.

    IF sy-sysid = c_dev.
      wait up to 5 seconds.
      SUBMIT rsconn01 WITH mode   = 'INT'
                      WITH output = 'X'
                      AND RETURN.
    ENDIF.
  ELSE.
    SKIP.
    WRITE:/ 'Program must be executed in background in-order for spool',
            'request to be created.'.
  ENDIF.


*---------------------------------------------------------------------*
*       FORM obtain_spool_id                                          *
*---------------------------------------------------------------------*
FORM obtain_spool_id.
  CHECK NOT ( gd_jobname IS INITIAL ).
  CHECK NOT ( gd_jobcount IS INITIAL ).

  SELECT * FROM  tbtcp
                 INTO TABLE it_tbtcp
                 WHERE      jobname     = gd_jobname
                 AND        jobcount    = gd_jobcount
                 AND        stepcount   = gd_stepcount
                 AND        listident   &amp;lt;&amp;gt; '0000000000'
                 ORDER BY   jobname
                            jobcount
                            stepcount.

  READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
  IF sy-subrc = 0.
    message s004(zdd) with gd_spool_nr.
    gd_spool_nr = wa_tbtcp-listident.
    MESSAGE s004(zdd) WITH gd_spool_nr.
  ELSE.
    MESSAGE s005(zdd).
  ENDIF.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM get_job_details                                          *
*---------------------------------------------------------------------*
FORM get_job_details.
* Get current job details
  CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
       IMPORTING
            eventid                 = gd_eventid
            eventparm               = gd_eventparm
            external_program_active = gd_external_program_active
            jobcount                = gd_jobcount
            jobname                 = gd_jobname
            stepcount               = gd_stepcount
       EXCEPTIONS
            no_runtime_info         = 1
            OTHERS                  = 2.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM convert_spool_to_pdf                                     *
*---------------------------------------------------------------------*
FORM convert_spool_to_pdf.

  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
       EXPORTING
            src_spoolid              = gd_spool_nr
            no_dialog                = c_no
            dst_device               = c_device
       IMPORTING
            pdf_bytecount            = gd_bytecount
       TABLES
            pdf                      = it_pdf_output
       EXCEPTIONS
            err_no_abap_spooljob     = 1
            err_no_spooljob          = 2
            err_no_permission        = 3
            err_conv_not_possible    = 4
            err_bad_destdevice       = 5
            user_cancelled           = 6
            err_spoolerror           = 7
            err_temseerror           = 8
            err_btcjob_open_failed   = 9
            err_btcjob_submit_failed = 10
            err_btcjob_close_failed  = 11
            OTHERS                   = 12.

  CHECK sy-subrc = 0.

* Transfer the 132-long strings to 255-long strings
  LOOP AT it_pdf_output.
    TRANSLATE it_pdf_output USING ' ~'.
    CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
  ENDLOOP.

  TRANSLATE gd_buffer USING '~ '.

  DO.
    it_mess_att = gd_buffer.
    APPEND it_mess_att.
    SHIFT gd_buffer LEFT BY 255 PLACES.
    IF gd_buffer IS INITIAL.
      EXIT.
    ENDIF.
  ENDDO.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM process_email                                            *
*---------------------------------------------------------------------*
FORM process_email.
  DESCRIBE TABLE it_mess_att LINES gd_recsize.
  CHECK gd_recsize &amp;gt; 0.
  PERFORM send_email USING p_email1.
*  perform send_email using p_email2.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM send_email                                               *
*---------------------------------------------------------------------*
*  --&amp;gt;  p_email                                                       *
*---------------------------------------------------------------------*
FORM send_email USING p_email.
  CHECK NOT ( p_email IS INITIAL ).

  REFRESH it_mess_bod.

* Default subject matter
  gd_subject         = 'Subject'.
  gd_attachment_desc = 'Attachname'.
*  CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
  it_mess_bod        = 'Message Body text, line 1'.
  APPEND it_mess_bod.
  it_mess_bod        = 'Message Body text, line 2...'.
  APPEND it_mess_bod.

* If no sender specified - default blank
  IF p_sender EQ space.
    gd_sender_type  = space.
  ELSE.
    gd_sender_type  = 'INT'.
  ENDIF.


* Send file by email as .xls speadsheet
  PERFORM send_file_as_email_attachment
                               tables it_mess_bod
                                      it_mess_att
                                using p_email
                                      'Example .xls documnet attachment'
                                      'PDF'
                                      gd_attachment_name
                                      gd_attachment_desc
                                      p_sender
                                      gd_sender_type
                             changing gd_error
                                      gd_reciever.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM delete_spool                                             *
*---------------------------------------------------------------------*
FORM delete_spool.
  DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.

  ld_spool_nr = gd_spool_nr.

  CHECK p_delspl &amp;lt;&amp;gt; c_no.
  CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
       EXPORTING
            spoolid = ld_spool_nr.
ENDFORM.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
*&amp;amp;---------------------------------------------------------------------*
*       Send email
*----------------------------------------------------------------------*
FORM send_file_as_email_attachment tables it_message
                                          it_attach
                                    using p_email
                                          p_mtitle
                                          p_format
                                          p_filename
                                          p_attdescription
                                          p_sender_address
                                          p_sender_addres_type
                                 changing p_error
                                          p_reciever.


  DATA: ld_error    TYPE sy-subrc,
        ld_reciever TYPE sy-subrc,
        ld_mtitle LIKE sodocchgi1-obj_descr,
        ld_email LIKE  somlreci1-receiver,
        ld_format TYPE  so_obj_tp ,
        ld_attdescription TYPE  so_obj_nam ,
        ld_attfilename TYPE  so_obj_des ,
        ld_sender_address LIKE  soextreci1-receiver,
        ld_sender_address_type LIKE  soextreci1-adr_typ,
        ld_receiver LIKE  sy-subrc.

data:   t_packing_list like sopcklsti1 occurs 0 with header line,
        t_contents like solisti1 occurs 0 with header line,
        t_receivers like somlreci1 occurs 0 with header line,
        t_attachment like solisti1 occurs 0 with header line,
        t_object_header like solisti1 occurs 0 with header line,
        w_cnt type i,
        w_sent_all(1) type c,
        w_doc_data like sodocchgi1.


  ld_email   = p_email.
  ld_mtitle = p_mtitle.
  ld_format              = p_format.
  ld_attdescription      = p_attdescription.
  ld_attfilename         = p_filename.
  ld_sender_address      = p_sender_address.
  ld_sender_address_type = p_sender_addres_type.


* Fill the document data.
  w_doc_data-doc_size = 1.

* Populate the subject/generic message attributes
  w_doc_data-obj_langu = sy-langu.
  w_doc_data-obj_name  = 'SAPRPT'.
  w_doc_data-obj_descr = ld_mtitle .
  w_doc_data-sensitivty = 'F'.

* Fill the document data and get size of attachment
  CLEAR w_doc_data.
  READ TABLE it_attach INDEX w_cnt.
  w_doc_data-doc_size =
     ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
  w_doc_data-obj_langu  = sy-langu.
  w_doc_data-obj_name   = 'SAPRPT'.
  w_doc_data-obj_descr  = ld_mtitle.
  w_doc_data-sensitivty = 'F'.
  CLEAR t_attachment.
  REFRESH t_attachment.
  t_attachment[] = it_attach[].

* Describe the body of the message
  CLEAR t_packing_list.
  REFRESH t_packing_list.
  t_packing_list-transf_bin = space.
  t_packing_list-head_start = 1.
  t_packing_list-head_num = 0.
  t_packing_list-body_start = 1.
  DESCRIBE TABLE it_message LINES t_packing_list-body_num.
  t_packing_list-doc_type = 'RAW'.
  APPEND t_packing_list.

* Create attachment notification
  t_packing_list-transf_bin = 'X'.
  t_packing_list-head_start = 1.
  t_packing_list-head_num   = 1.
  t_packing_list-body_start = 1.

  DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
  t_packing_list-doc_type   =  ld_format.
  t_packing_list-obj_descr  =  ld_attdescription.
  t_packing_list-obj_name   =  ld_attfilename.
  t_packing_list-doc_size   =  t_packing_list-body_num * 255.
  APPEND t_packing_list.

* Add the recipients email address
  CLEAR t_receivers.
  REFRESH t_receivers.
  t_receivers-receiver = ld_email.
  t_receivers-rec_type = 'U'.
  t_receivers-com_type = 'INT'.
  t_receivers-notif_del = 'X'.
  t_receivers-notif_ndel = 'X'.
  APPEND t_receivers.

  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
       EXPORTING
            document_data              = w_doc_data
            put_in_outbox              = 'X'
            sender_address             = ld_sender_address
            sender_address_type        = ld_sender_address_type
            commit_work                = 'X'
       IMPORTING
            sent_to_all                = w_sent_all
       TABLES
            packing_list               = t_packing_list
            contents_bin               = t_attachment
            contents_txt               = it_message
            receivers                  = t_receivers
       EXCEPTIONS
            too_many_receivers         = 1
            document_not_sent          = 2
            document_type_not_exist    = 3
            operation_no_authorization = 4
            parameter_error            = 5
            x_error                    = 6
            enqueue_error              = 7
            OTHERS                     = 8.

* Populate zerror return code
  ld_error = sy-subrc.

* Populate zreceiver return code
  LOOP AT t_receivers.
    ld_receiver = t_receivers-retrn_code.
  ENDLOOP.
ENDFORM.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;look at the Below Thread&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="258664"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Nov 2006 11:46:18 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-11-27T11:46:18Z</dc:date>
    <item>
      <title>SEND IN EMAIL....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661479#M293111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HOW TO SEND THE PDF IN EMAIL WHICH IS CONVERTED FROM SMARTFORMS TO PDF FORM???&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 10:54:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661479#M293111</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T10:54:26Z</dc:date>
    </item>
    <item>
      <title>Re: SEND IN EMAIL....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661480#M293112</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;See this blog&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/people/thomas.jung3/blog/2004/09/08/sending-e-mail-from-abap--version-610-and-higher--bcs-interface&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="34966"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;These should help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;P&gt;Note - Please mark all the helpful answers&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 10:59:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661480#M293112</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T10:59:25Z</dc:date>
    </item>
    <item>
      <title>Re: SEND IN EMAIL....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661481#M293113</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;chk this simple code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;DATA: i_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
      i_tline TYPE TABLE OF tline WITH HEADER LINE,
      i_receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,
      i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE,
* Objects to send mail.
      i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
      i_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      i_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
 
* Work Area declarations
      wa_objhead TYPE soli_tab,
      w_ctrlop TYPE ssfctrlop,
      w_compop TYPE ssfcompop,
      w_return TYPE ssfcrescl,
      wa_doc_chng typE sodocchgi1,
      w_data TYPE sodocchgi1,
      wa_buffer TYPE string,"To convert from 132 to 255
 
* Variables declarations
      v_form_name TYPE rs38l_fnam,
      v_len_in LIKE sood-objlen,
      v_len_out LIKE sood-objlen,
      v_len_outn TYPE i,
      v_lines_txt TYPE i,
      v_lines_bin TYPE i.
 
call function 'SSF_FUNCTION_MODULE_NAME'
     exporting
          formname           = 'ZZZ_TEST1'
     importing
          fm_name            = v_form_name
     exceptions
          no_form            = 1
          no_function_module = 2
          others             = 3.
IF sy-subrc &amp;lt;&amp;gt; 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
 
 
w_ctrlop-getotf = 'X'.
w_ctrlop-no_dialog = 'X'.
w_compop-tdnoprev = 'X'.
 
CALL FUNCTION v_form_name
     EXPORTING
          control_parameters = w_ctrlop
          output_options     = w_compop
          user_settings      = 'X'
     IMPORTING
          job_output_info    = w_return
     EXCEPTIONS
          formatting_error   = 1
          internal_error     = 2
          send_error         = 3
          user_canceled      = 4
          OTHERS             = 5.
IF sy-subrc &amp;lt;&amp;gt; 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
 
i_otf[] = w_return-otfdata[].
 
call function 'CONVERT_OTF'
       EXPORTING
            format                = 'PDF'
            max_linewidth         = 132
       IMPORTING
            bin_filesize          = v_len_in
       TABLES
            otf                   = i_otf
            lines                 = i_tline
       EXCEPTIONS
            err_max_linewidth     = 1
            err_format            = 2
            err_conv_not_possible = 3
            others                = 4.
*   Fehlerhandling
  if sy-subrc &amp;lt;&amp;gt; 0.
 
  endif.
 
  loop at i_tline.
    translate i_tline using '~'.
    concatenate wa_buffer i_tline into wa_buffer.
  endloop.
 
  translate wa_buffer using '~'.
 
  do.
    i_record = wa_buffer.
    append i_record.
    shift wa_buffer left by 255 places.
    if wa_buffer is initial.
      exit.
    endif.
  enddo.
 
* Attachment
  refresh:
    i_reclist,
    i_objtxt,
    i_objbin,
    i_objpack.
 
  clear wa_objhead.
 
  i_objbin[] = i_record[].
 
 
******* Create Message Body
**** Title and Description
  i_objtxt = 'test with pdf-Attachment!'.
  append i_objtxt.
  describe table i_objtxt lines v_lines_txt.
  read table i_objtxt index v_lines_txt.
  wa_doc_chng-obj_name = 'smartform'.
  wa_doc_chng-expiry_dat = sy-datum + 10.
  wa_doc_chng-obj_descr = 'smartform'.
  wa_doc_chng-sensitivty = 'F'.
  wa_doc_chng-doc_size = v_lines_txt * 255.
 
**** Main Text
*  wa_doc_chng-doc_size = ( v_lines_txt - 1 ) * 255 + strlen( i_objtxt )
*.
  clear i_objpack-transf_bin.
  i_objpack-head_start = 1.
  i_objpack-head_num = 0.
  i_objpack-body_start = 1.
  i_objpack-body_num = v_lines_txt.
  i_objpack-doc_type = 'RAW'.
  append i_objpack.
 
**** Attachment
* (pdf-Attachment)
  i_objpack-transf_bin = 'X'.
  i_objpack-head_start = 1.
  i_objpack-head_num = 0.
  i_objpack-body_start = 1.
* Länge des Attachment ermitteln
  describe table i_objbin lines v_lines_bin.
  read table i_objbin index v_lines_bin.
  i_objpack-doc_size =  v_lines_bin * 255 .
 
  i_objpack-body_num = v_lines_bin.
  i_objpack-doc_type = 'PDF'.
  i_objpack-obj_name = 'smart'.
  i_objpack-obj_descr = 'test'.
  append i_objpack.
 
  clear i_reclist.
  i_reclist-receiver = 'zyz@wipro.com'.
  i_reclist-rec_type = 'U'.
  append i_reclist.
 
    call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
         EXPORTING
              document_data              = wa_doc_chng
              put_in_outbox              = 'X'
         TABLES
              packing_list               = i_objpack
              object_header              = wa_objhead
              CONTENTS_BIN               = i_objbin
              contents_txt               = i_objtxt
              receivers                  = i_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.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rgds&lt;/P&gt;&lt;P&gt;Anver&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 11:02:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661481#M293113</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2006-11-27T11:02:29Z</dc:date>
    </item>
    <item>
      <title>Re: SEND IN EMAIL....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661482#M293114</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;this is my code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  Z_MM_RE_INVOICE_EMAIL&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  ZMM_RE_INVOICE_EMAIL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARATION OF THE TABLES                                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : RBKP  ,                    " Document Header: Invoice Receipt&lt;/P&gt;&lt;P&gt;         LFA1  ,                    " Vendor Master (General Section)&lt;/P&gt;&lt;P&gt;         LFB1  ,                    " Vendor Master (Company Code)&lt;/P&gt;&lt;P&gt;         EKKO  ,                    " Purchasing Document Header&lt;/P&gt;&lt;P&gt;         EKPO  ,                    " Purchasing Document Item&lt;/P&gt;&lt;P&gt;         MAKT  ,                    " Material Descriptions&lt;/P&gt;&lt;P&gt;         TVZBT ,                    " Customers: Terms of Payment Texts&lt;/P&gt;&lt;P&gt;         BSIK  .                    " Accounting: Secondary Index for Vendors&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARATION OF THE WORKAREAS AND INTERNAL TABLES                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : W_RBKP     TYPE RBKP ,&lt;/P&gt;&lt;P&gt;       W_LFA1     TYPE LFA1 ,&lt;/P&gt;&lt;P&gt;       W_LFB1     TYPE LFB1 ,&lt;/P&gt;&lt;P&gt;       W_EKKO     TYPE EKKO ,&lt;/P&gt;&lt;P&gt;       T_EKPO     TYPE STANDARD TABLE OF EKPO INITIAL SIZE 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       W_MAKT     TYPE MAKT ,&lt;/P&gt;&lt;P&gt;       W_TVZBT    TYPE TVZBT ,&lt;/P&gt;&lt;P&gt;       W_BSIK     TYPE BSIK  ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       G_ADRNR    TYPE LFA1-ADRNR ,&lt;/P&gt;&lt;P&gt;       G_NETPR    TYPE EKPO-NETPR ,&lt;/P&gt;&lt;P&gt;       G_MENGE    TYPE EKPO-MENGE ,&lt;/P&gt;&lt;P&gt;       G_NETVAL   TYPE EKPO-NETWR,&lt;/P&gt;&lt;P&gt;       G_SALESTAX LIKE BSIK-WMWST,&lt;/P&gt;&lt;P&gt;       G_SUBTOT   TYPE I,&lt;/P&gt;&lt;P&gt;       G_TOTAL    TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARATION OF THE VARIABLE FOR THE FM NAME                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : G_FUN TYPE RS38L_FNAM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DECLARATION OF THE PARAMETERS                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.&lt;/P&gt;&lt;P&gt;  PARAMETERS : P_EBELN LIKE EKKO-EBELN.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START OF SELECTION                                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA RETRIEVAL INTO THE WORKAREAS AND INTERNAL TABLES                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM EKKO INTO W_EKKO WHERE EBELN EQ P_EBELN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT *&lt;/P&gt;&lt;P&gt;       FROM EKPO&lt;/P&gt;&lt;P&gt;       INTO TABLE T_EKPO&lt;/P&gt;&lt;P&gt;       WHERE EBELN EQ W_EKKO-EBELN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       LOOP AT T_EKPO .&lt;/P&gt;&lt;P&gt;           CLEAR G_NETPR .&lt;/P&gt;&lt;P&gt;           G_MENGE    = T_EKPO-MENGE.&lt;/P&gt;&lt;P&gt;           G_NETVAL   = T_EKPO-MENGE  * T_EKPO-NETPR.&lt;/P&gt;&lt;P&gt;           G_SUBTOT   = G_SUBTOT + G_NETVAL.&lt;/P&gt;&lt;P&gt;           G_SALESTAX = W_BSIK-WMWST.&lt;/P&gt;&lt;P&gt;           G_TOTAL    = G_SALESTAX + G_SUBTOT. " +FREIGHT&lt;/P&gt;&lt;P&gt;       ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE *&lt;/P&gt;&lt;P&gt;              FROM  LFA1&lt;/P&gt;&lt;P&gt;              INTO  W_LFA1&lt;/P&gt;&lt;P&gt;              WHERE LIFNR EQ W_EKKO-LIFNR .&lt;/P&gt;&lt;P&gt;              G_ADRNR = W_LFA1-ADRNR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE *&lt;/P&gt;&lt;P&gt;              FROM  LFB1&lt;/P&gt;&lt;P&gt;              INTO  W_LFB1&lt;/P&gt;&lt;P&gt;              WHERE LIFNR EQ W_EKKO-LIFNR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE *&lt;/P&gt;&lt;P&gt;              FROM  RBKP&lt;/P&gt;&lt;P&gt;              INTO  W_RBKP&lt;/P&gt;&lt;P&gt;              WHERE BUKRS EQ W_LFB1-BUKRS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE *&lt;/P&gt;&lt;P&gt;              FROM  MAKT&lt;/P&gt;&lt;P&gt;              INTO  W_MAKT&lt;/P&gt;&lt;P&gt;              WHERE MATNR EQ T_EKPO-MATNR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE *&lt;/P&gt;&lt;P&gt;              FROM  TVZBT&lt;/P&gt;&lt;P&gt;              INTO  W_TVZBT&lt;/P&gt;&lt;P&gt;              WHERE ZTERM EQ W_LFB1-ZTERM .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE *&lt;/P&gt;&lt;P&gt;              FROM  BSIK&lt;/P&gt;&lt;P&gt;              INTO  W_BSIK&lt;/P&gt;&lt;P&gt;              WHERE LIFNR = W_EKKO-LIFNR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal Table declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_OTF TYPE ITCOO OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;I_TLINE TYPE TABLE OF TLINE WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;I_RECEIVERS TYPE TABLE OF SOMLRECI1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;I_RECORD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Objects to send mail.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJPACK LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;I_OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;I_RECLIST LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work Area declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;W_OBJHEAD TYPE SOLI_TAB,&lt;/P&gt;&lt;P&gt;W_CTRLOP TYPE SSFCTRLOP,&lt;/P&gt;&lt;P&gt;W_COMPOP TYPE SSFCOMPOP,&lt;/P&gt;&lt;P&gt;W_RETURN TYPE SSFCRESCL,&lt;/P&gt;&lt;P&gt;W_DOC_CHNG TYPE SODOCCHGI1,&lt;/P&gt;&lt;P&gt;W_DATA TYPE SODOCCHGI1,&lt;/P&gt;&lt;P&gt;W_BUFFER TYPE STRING,"To convert from 132 to 255&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Variables declarations&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;V_FORM_NAME TYPE RS38L_FNAM,&lt;/P&gt;&lt;P&gt;V_LEN_IN LIKE SOOD-OBJLEN,&lt;/P&gt;&lt;P&gt;V_LEN_OUT LIKE SOOD-OBJLEN,&lt;/P&gt;&lt;P&gt;V_LEN_OUTN TYPE I,&lt;/P&gt;&lt;P&gt;V_LINES_TXT TYPE I,&lt;/P&gt;&lt;P&gt;V_LINES_BIN TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CALLING THE FUNCTION MODULES                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    FORMNAME                 = 'ZMM_SF_INVOICE1'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;P&gt;   FM_NAME                  = G_FUN .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;W_CTRLOP-GETOTF = 'X'.&lt;/P&gt;&lt;P&gt;W_CTRLOP-NO_DIALOG = 'X'.&lt;/P&gt;&lt;P&gt;W_COMPOP-TDNOPREV = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION G_FUN&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_INDEX_TAB          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ARCHIVE_PARAMETERS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   CONTROL_PARAMETERS         = W_CTRLOP&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_APPL_OBJ              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_RECIPIENT             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MAIL_SENDER                =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   OUTPUT_OPTIONS             = W_COMPOP&lt;/P&gt;&lt;P&gt;   USER_SETTINGS              = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    W_RBKP                     = W_RBKP&lt;/P&gt;&lt;P&gt;    W_LFA1                     = W_LFA1&lt;/P&gt;&lt;P&gt;    W_LFB1                     = W_LFB1&lt;/P&gt;&lt;P&gt;    W_EKKO                     = W_EKKO&lt;/P&gt;&lt;P&gt;    W_MAKT                     = W_MAKT&lt;/P&gt;&lt;P&gt;    W_TVZBT                    = W_TVZBT&lt;/P&gt;&lt;P&gt;    W_BSIK                     = W_BSIK&lt;/P&gt;&lt;P&gt;    G_ADRNR                    = G_ADRNR&lt;/P&gt;&lt;P&gt;    G_NETPR                    = G_NETPR&lt;/P&gt;&lt;P&gt;    G_MENGE                    = G_MENGE&lt;/P&gt;&lt;P&gt;    G_NETVAL                   = G_NETVAL&lt;/P&gt;&lt;P&gt;    G_SALESTAX                 = G_SALESTAX&lt;/P&gt;&lt;P&gt;    G_SUBTOT                   = G_SUBTOT&lt;/P&gt;&lt;P&gt;    G_TOTAL                    = G_TOTAL&lt;/P&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DOCUMENT_OUTPUT_INFO       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   JOB_OUTPUT_INFO            = W_RETURN&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  JOB_OUTPUT_OPTIONS         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    T_EKPO                     = T_EKPO&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;   FORMATTING_ERROR           = 1&lt;/P&gt;&lt;P&gt;   INTERNAL_ERROR             = 2&lt;/P&gt;&lt;P&gt;   SEND_ERROR                 = 3&lt;/P&gt;&lt;P&gt;   USER_CANCELED              = 4&lt;/P&gt;&lt;P&gt;   OTHERS                     = 5&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt; MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I_OTF[] = W_RETURN-OTFDATA[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERT_OTF'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;    FORMAT = 'PDF'&lt;/P&gt;&lt;P&gt;    MAX_LINEWIDTH = 132&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;    BIN_FILESIZE = V_LEN_IN&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;    OTF = I_OTF&lt;/P&gt;&lt;P&gt;    LINES = I_TLINE&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;    ERR_MAX_LINEWIDTH = 1&lt;/P&gt;&lt;P&gt;    ERR_FORMAT = 2&lt;/P&gt;&lt;P&gt;    ERR_CONV_NOT_POSSIBLE = 3&lt;/P&gt;&lt;P&gt;    OTHERS = 4.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Convert PDF from 132 to 255.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT I_TLINE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Replacing space by ~&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TRANSLATE I_TLINE USING ' *'.&lt;/P&gt;&lt;P&gt;  CONCATENATE W_BUFFER I_TLINE INTO W_BUFFER.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Replacing ~ by space&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TRANSLATE W_BUFFER USING '~ '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DO.&lt;/P&gt;&lt;P&gt;I_RECORD = W_BUFFER.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Appending 255 characters as a record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;APPEND I_RECORD.&lt;/P&gt;&lt;P&gt;SHIFT W_BUFFER LEFT BY 255 PLACES.&lt;/P&gt;&lt;P&gt;IF W_BUFFER IS INITIAL.&lt;/P&gt;&lt;P&gt;  EXIT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH: I_RECLIST,&lt;/P&gt;&lt;P&gt;I_OBJTXT,&lt;/P&gt;&lt;P&gt;I_OBJBIN,&lt;/P&gt;&lt;P&gt;I_OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR W_OBJHEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Object with PDF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJBIN[] = I_RECORD[].&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE I_OBJBIN LINES V_LINES_BIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Object with main text of the mail.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJTXT = 'Find attached the output of the smart form.'.&lt;/P&gt;&lt;P&gt;APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;I_OBJTXT = 'Regards,'.&lt;/P&gt;&lt;P&gt;APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;I_OBJTXT = 'sirisha'.&lt;/P&gt;&lt;P&gt;APPEND I_OBJTXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DESCRIBE TABLE I_OBJTXT LINES V_LINES_TXT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document information.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;W_DOC_CHNG-OBJ_NAME = 'Smartform'.&lt;/P&gt;&lt;P&gt;W_DOC_CHNG-EXPIRY_DAT = SY-DATUM + 10.&lt;/P&gt;&lt;P&gt;W_DOC_CHNG-OBJ_DESCR = 'Smart form output'.&lt;/P&gt;&lt;P&gt;W_DOC_CHNG-SENSITIVTY = 'F'. "Functional object&lt;/P&gt;&lt;P&gt;W_DOC_CHNG-DOC_SIZE = V_LINES_TXT * 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Pack to main body as RAW.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Obj. to be transported not in binary form&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR I_OBJPACK-TRANSF_BIN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start line of object header in transport packet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Number of lines of an object header in object packet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJPACK-HEAD_NUM = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start line of object contents in an object packet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Number of lines of the object contents in an object packet&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJPACK-BODY_NUM = V_LINES_TXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Code for document class&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJPACK-DOC_TYPE = 'RAW'.&lt;/P&gt;&lt;P&gt;APPEND I_OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Packing as PDF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_OBJPACK-TRANSF_BIN = 'X'.&lt;/P&gt;&lt;P&gt;I_OBJPACK-HEAD_START = 1.&lt;/P&gt;&lt;P&gt;I_OBJPACK-HEAD_NUM = 1.&lt;/P&gt;&lt;P&gt;I_OBJPACK-BODY_START = 1.&lt;/P&gt;&lt;P&gt;I_OBJPACK-BODY_NUM = V_LINES_BIN.&lt;/P&gt;&lt;P&gt;I_OBJPACK-DOC_TYPE = 'PDF'.&lt;/P&gt;&lt;P&gt;I_OBJPACK-OBJ_NAME = 'Smartform'.&lt;/P&gt;&lt;P&gt;CONCATENATE 'Smartform_output' '.pdf'&lt;/P&gt;&lt;P&gt;INTO I_OBJPACK-OBJ_DESCR.&lt;/P&gt;&lt;P&gt;I_OBJPACK-DOC_SIZE = V_LINES_BIN * 255.&lt;/P&gt;&lt;P&gt;APPEND I_OBJPACK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document information.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR I_RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;e-mail receivers.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I_RECLIST-RECEIVER = 'X@YAHOO.COM'.&lt;/P&gt;&lt;P&gt;I_RECLIST-EXPRESS = 'X'.&lt;/P&gt;&lt;P&gt;I_RECLIST-REC_TYPE = 'U'. "Internet address&lt;/P&gt;&lt;P&gt;APPEND I_RECLIST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sending mail.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;    DOCUMENT_DATA = W_DOC_CHNG&lt;/P&gt;&lt;P&gt;    PUT_IN_OUTBOX = 'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;    PACKING_LIST = I_OBJPACK&lt;/P&gt;&lt;P&gt;    OBJECT_HEADER = W_OBJHEAD&lt;/P&gt;&lt;P&gt;    CONTENTS_HEX = I_OBJBIN&lt;/P&gt;&lt;P&gt;    CONTENTS_TXT = I_OBJTXT&lt;/P&gt;&lt;P&gt;    RECEIVERS = I_RECLIST&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;    TOO_MANY_RECEIVERS = 1&lt;/P&gt;&lt;P&gt;    DOCUMENT_NOT_SENT = 2&lt;/P&gt;&lt;P&gt;    DOCUMENT_TYPE_NOT_EXIST = 3&lt;/P&gt;&lt;P&gt;    OPERATION_NO_AUTHORIZATION = 4&lt;/P&gt;&lt;P&gt;    PARAMETER_ERROR = 5&lt;/P&gt;&lt;P&gt;    X_ERROR = 6&lt;/P&gt;&lt;P&gt;    ENQUEUE_ERROR = 7&lt;/P&gt;&lt;P&gt;    OTHERS = 8.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i get an exception stating 'I_OBJBIN IS NOT AN COMPATIBLE PARAMETER ' AND 'CONTENTS HEX'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CAN U TELL ME WAT TO DO NEXT???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THANKING U IN ANTICIPATION........&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 11:41:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661482#M293114</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T11:41:45Z</dc:date>
    </item>
    <item>
      <title>Re: SEND IN EMAIL....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661483#M293115</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the Code for you ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*   
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Report  ZSPOOLTOPDF                                                 *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Converts spool request into PDF document and emails it to           *
*&amp;amp; recipicant.                                                         *
*&amp;amp;                                                                     *
*&amp;amp; Execution                                                           *
*&amp;amp; ---------                                                           *
*&amp;amp; This program must be run as a background job in-order for the write *
*&amp;amp; commands to create a Spool request rather than be displayed on      *
*&amp;amp; screen                                                              *
*&amp;amp;---------------------------------------------------------------------*
REPORT  zspooltopdf.

PARAMETER: p_email1 LIKE somlreci1-receiver
                                    DEFAULT 'abap@sapdev.co.uk',
           p_sender LIKE somlreci1-receiver
                                    DEFAULT 'abap@sapdev.co.uk',
           p_delspl  AS CHECKBOX.

*DATA DECLARATION
DATA: gd_recsize TYPE i.

* Spool IDs
TYPES: BEGIN OF t_tbtcp.
        INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
      wa_tbtcp TYPE t_tbtcp.

* Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
      gd_eventparm LIKE tbtcm-eventparm,
      gd_external_program_active LIKE tbtcm-xpgactive,
      gd_jobcount LIKE tbtcm-jobcount,
      gd_jobname LIKE tbtcm-jobname,
      gd_stepcount LIKE tbtcm-stepcount,
      gd_error    TYPE sy-subrc,
      gd_reciever TYPE sy-subrc.


DATA:  w_recsize TYPE i.

DATA: gd_subject   LIKE sodocchgi1-obj_descr,
      it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      gd_sender_type     LIKE soextreci1-adr_typ,
      gd_attachment_desc TYPE so_obj_nam,
      gd_attachment_name TYPE so_obj_des.

* 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.

CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
           c_no(1)     TYPE c   VALUE ' ',
           c_device(4) TYPE c   VALUE 'LOCL'.

************************************************************************
*START-OF-SELECTION.
START-OF-SELECTION.

* Write statement to represent report output. Spool request is created
* if write statement is executed in background. This could also be an
* ALV grid which would be converted to PDF without any extra effort
  WRITE 'Hello World'.
  new-page.
  commit work.
  new-page print off.

  IF sy-batch EQ 'X'.
    PERFORM get_job_details.
    PERFORM obtain_spool_id.

************************************
*** Alternative way could be to submit another program and store spool
*** id into memory, will be stored in sy-spono.
*submit ZSPOOLTOPDF2
*        to sap-spool
*        spool parameters   %_print
*        archive parameters %_print
*        without spool dynpro
*        and return.
************************************

* Get spool id from program called above 
*  IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.

    PERFORM convert_spool_to_pdf.
    PERFORM process_email.

    if p_delspl EQ 'X'.
      PERFORM delete_spool.
    endif.

    IF sy-sysid = c_dev.
      wait up to 5 seconds.
      SUBMIT rsconn01 WITH mode   = 'INT'
                      WITH output = 'X'
                      AND RETURN.
    ENDIF.
  ELSE.
    SKIP.
    WRITE:/ 'Program must be executed in background in-order for spool',
            'request to be created.'.
  ENDIF.


*---------------------------------------------------------------------*
*       FORM obtain_spool_id                                          *
*---------------------------------------------------------------------*
FORM obtain_spool_id.
  CHECK NOT ( gd_jobname IS INITIAL ).
  CHECK NOT ( gd_jobcount IS INITIAL ).

  SELECT * FROM  tbtcp
                 INTO TABLE it_tbtcp
                 WHERE      jobname     = gd_jobname
                 AND        jobcount    = gd_jobcount
                 AND        stepcount   = gd_stepcount
                 AND        listident   &amp;lt;&amp;gt; '0000000000'
                 ORDER BY   jobname
                            jobcount
                            stepcount.

  READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
  IF sy-subrc = 0.
    message s004(zdd) with gd_spool_nr.
    gd_spool_nr = wa_tbtcp-listident.
    MESSAGE s004(zdd) WITH gd_spool_nr.
  ELSE.
    MESSAGE s005(zdd).
  ENDIF.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM get_job_details                                          *
*---------------------------------------------------------------------*
FORM get_job_details.
* Get current job details
  CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
       IMPORTING
            eventid                 = gd_eventid
            eventparm               = gd_eventparm
            external_program_active = gd_external_program_active
            jobcount                = gd_jobcount
            jobname                 = gd_jobname
            stepcount               = gd_stepcount
       EXCEPTIONS
            no_runtime_info         = 1
            OTHERS                  = 2.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM convert_spool_to_pdf                                     *
*---------------------------------------------------------------------*
FORM convert_spool_to_pdf.

  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
       EXPORTING
            src_spoolid              = gd_spool_nr
            no_dialog                = c_no
            dst_device               = c_device
       IMPORTING
            pdf_bytecount            = gd_bytecount
       TABLES
            pdf                      = it_pdf_output
       EXCEPTIONS
            err_no_abap_spooljob     = 1
            err_no_spooljob          = 2
            err_no_permission        = 3
            err_conv_not_possible    = 4
            err_bad_destdevice       = 5
            user_cancelled           = 6
            err_spoolerror           = 7
            err_temseerror           = 8
            err_btcjob_open_failed   = 9
            err_btcjob_submit_failed = 10
            err_btcjob_close_failed  = 11
            OTHERS                   = 12.

  CHECK sy-subrc = 0.

* Transfer the 132-long strings to 255-long strings
  LOOP AT it_pdf_output.
    TRANSLATE it_pdf_output USING ' ~'.
    CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
  ENDLOOP.

  TRANSLATE gd_buffer USING '~ '.

  DO.
    it_mess_att = gd_buffer.
    APPEND it_mess_att.
    SHIFT gd_buffer LEFT BY 255 PLACES.
    IF gd_buffer IS INITIAL.
      EXIT.
    ENDIF.
  ENDDO.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM process_email                                            *
*---------------------------------------------------------------------*
FORM process_email.
  DESCRIBE TABLE it_mess_att LINES gd_recsize.
  CHECK gd_recsize &amp;gt; 0.
  PERFORM send_email USING p_email1.
*  perform send_email using p_email2.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM send_email                                               *
*---------------------------------------------------------------------*
*  --&amp;gt;  p_email                                                       *
*---------------------------------------------------------------------*
FORM send_email USING p_email.
  CHECK NOT ( p_email IS INITIAL ).

  REFRESH it_mess_bod.

* Default subject matter
  gd_subject         = 'Subject'.
  gd_attachment_desc = 'Attachname'.
*  CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
  it_mess_bod        = 'Message Body text, line 1'.
  APPEND it_mess_bod.
  it_mess_bod        = 'Message Body text, line 2...'.
  APPEND it_mess_bod.

* If no sender specified - default blank
  IF p_sender EQ space.
    gd_sender_type  = space.
  ELSE.
    gd_sender_type  = 'INT'.
  ENDIF.


* Send file by email as .xls speadsheet
  PERFORM send_file_as_email_attachment
                               tables it_mess_bod
                                      it_mess_att
                                using p_email
                                      'Example .xls documnet attachment'
                                      'PDF'
                                      gd_attachment_name
                                      gd_attachment_desc
                                      p_sender
                                      gd_sender_type
                             changing gd_error
                                      gd_reciever.
ENDFORM.


*---------------------------------------------------------------------*
*       FORM delete_spool                                             *
*---------------------------------------------------------------------*
FORM delete_spool.
  DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.

  ld_spool_nr = gd_spool_nr.

  CHECK p_delspl &amp;lt;&amp;gt; c_no.
  CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
       EXPORTING
            spoolid = ld_spool_nr.
ENDFORM.


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
*&amp;amp;---------------------------------------------------------------------*
*       Send email
*----------------------------------------------------------------------*
FORM send_file_as_email_attachment tables it_message
                                          it_attach
                                    using p_email
                                          p_mtitle
                                          p_format
                                          p_filename
                                          p_attdescription
                                          p_sender_address
                                          p_sender_addres_type
                                 changing p_error
                                          p_reciever.


  DATA: ld_error    TYPE sy-subrc,
        ld_reciever TYPE sy-subrc,
        ld_mtitle LIKE sodocchgi1-obj_descr,
        ld_email LIKE  somlreci1-receiver,
        ld_format TYPE  so_obj_tp ,
        ld_attdescription TYPE  so_obj_nam ,
        ld_attfilename TYPE  so_obj_des ,
        ld_sender_address LIKE  soextreci1-receiver,
        ld_sender_address_type LIKE  soextreci1-adr_typ,
        ld_receiver LIKE  sy-subrc.

data:   t_packing_list like sopcklsti1 occurs 0 with header line,
        t_contents like solisti1 occurs 0 with header line,
        t_receivers like somlreci1 occurs 0 with header line,
        t_attachment like solisti1 occurs 0 with header line,
        t_object_header like solisti1 occurs 0 with header line,
        w_cnt type i,
        w_sent_all(1) type c,
        w_doc_data like sodocchgi1.


  ld_email   = p_email.
  ld_mtitle = p_mtitle.
  ld_format              = p_format.
  ld_attdescription      = p_attdescription.
  ld_attfilename         = p_filename.
  ld_sender_address      = p_sender_address.
  ld_sender_address_type = p_sender_addres_type.


* Fill the document data.
  w_doc_data-doc_size = 1.

* Populate the subject/generic message attributes
  w_doc_data-obj_langu = sy-langu.
  w_doc_data-obj_name  = 'SAPRPT'.
  w_doc_data-obj_descr = ld_mtitle .
  w_doc_data-sensitivty = 'F'.

* Fill the document data and get size of attachment
  CLEAR w_doc_data.
  READ TABLE it_attach INDEX w_cnt.
  w_doc_data-doc_size =
     ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
  w_doc_data-obj_langu  = sy-langu.
  w_doc_data-obj_name   = 'SAPRPT'.
  w_doc_data-obj_descr  = ld_mtitle.
  w_doc_data-sensitivty = 'F'.
  CLEAR t_attachment.
  REFRESH t_attachment.
  t_attachment[] = it_attach[].

* Describe the body of the message
  CLEAR t_packing_list.
  REFRESH t_packing_list.
  t_packing_list-transf_bin = space.
  t_packing_list-head_start = 1.
  t_packing_list-head_num = 0.
  t_packing_list-body_start = 1.
  DESCRIBE TABLE it_message LINES t_packing_list-body_num.
  t_packing_list-doc_type = 'RAW'.
  APPEND t_packing_list.

* Create attachment notification
  t_packing_list-transf_bin = 'X'.
  t_packing_list-head_start = 1.
  t_packing_list-head_num   = 1.
  t_packing_list-body_start = 1.

  DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
  t_packing_list-doc_type   =  ld_format.
  t_packing_list-obj_descr  =  ld_attdescription.
  t_packing_list-obj_name   =  ld_attfilename.
  t_packing_list-doc_size   =  t_packing_list-body_num * 255.
  APPEND t_packing_list.

* Add the recipients email address
  CLEAR t_receivers.
  REFRESH t_receivers.
  t_receivers-receiver = ld_email.
  t_receivers-rec_type = 'U'.
  t_receivers-com_type = 'INT'.
  t_receivers-notif_del = 'X'.
  t_receivers-notif_ndel = 'X'.
  APPEND t_receivers.

  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
       EXPORTING
            document_data              = w_doc_data
            put_in_outbox              = 'X'
            sender_address             = ld_sender_address
            sender_address_type        = ld_sender_address_type
            commit_work                = 'X'
       IMPORTING
            sent_to_all                = w_sent_all
       TABLES
            packing_list               = t_packing_list
            contents_bin               = t_attachment
            contents_txt               = it_message
            receivers                  = t_receivers
       EXCEPTIONS
            too_many_receivers         = 1
            document_not_sent          = 2
            document_type_not_exist    = 3
            operation_no_authorization = 4
            parameter_error            = 5
            x_error                    = 6
            enqueue_error              = 7
            OTHERS                     = 8.

* Populate zerror return code
  ld_error = sy-subrc.

* Populate zreceiver return code
  LOOP AT t_receivers.
    ld_receiver = t_receivers-retrn_code.
  ENDLOOP.
ENDFORM.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;look at the Below Thread&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="258664"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 11:46:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661483#M293115</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T11:46:18Z</dc:date>
    </item>
    <item>
      <title>Re: SEND IN EMAIL....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661484#M293116</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can u tell me wat is wrong with my code sudheer??&lt;/P&gt;&lt;P&gt;i need to do it in the foregroung??&lt;/P&gt;&lt;P&gt;can u help me??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 12:20:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661484#M293116</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T12:20:26Z</dc:date>
    </item>
    <item>
      <title>Re: SEND IN EMAIL....</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661485#M293117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello anyone there???noone kmows it???please do help me????&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 13:00:44 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/send-in-email/m-p/1661485#M293117</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T13:00:44Z</dc:date>
    </item>
  </channel>
</rss>

