Report output send through mail

Dear friends,
Looking for sample report to send the report output through external mail on execution.
Regards,
Praveen Lobo

*& Report  ZKB_EMAIL
REPORT  zkb_email NO STANDARD PAGE HEADING LINE-SIZE 200.
TABLES: ekko.
PARAMETERS: p_email TYPE somlreci1-receiver
DEFAULT '<b>WRITE EMAIL ID EG [email protected]'</b>.
Output Table
TYPES: BEGIN OF t_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
END OF t_ekpo.
DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0,
wa_ekpo TYPE t_ekpo.
TYPES: BEGIN OF t_charekpo,
ebeln(10) TYPE c,
ebelp(5) TYPE c,
aedat(8) TYPE c,
matnr(18) TYPE c,
END OF t_charekpo.
DATA: wa_charekpo TYPE t_charekpo.
Mail Parameters
DATA: it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
WITH HEADER LINE.
DATA: it_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
WITH HEADER LINE.
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,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
*START_OF_SELECTION
START-OF-SELECTION.
Retrieve sample data from table ekpo
  PERFORM data_retrieval.
Populate table with detaisl to be entered into .xls file
  PERFORM build_xls_data_table.
*END-OF-SELECTION
END-OF-SELECTION.
Populate message body text
  PERFORM populate_email_message_body.
Send file by email as .xls speadsheet
  PERFORM send_file_as_email_attachment   TABLES it_message   it_attach
  USING p_email 'Example .xls documnet attachment'  'XLS'  'filename'
  CHANGING gd_error
  gd_reciever.
Instructs mail send program for SAPCONNECT to send email(rsconn01)
  PERFORM initiate_mail_execute_program.
*& Form DATA_RETRIEVAL
Retrieve data form EKPO table and populate itab it_ekko
FORM data_retrieval.
  SELECT ebeln ebelp aedat matnr
  UP TO 10 ROWS
  FROM ekpo
  INTO TABLE it_ekpo.
ENDFORM. " DATA_RETRIEVAL
*& Form BUILD_XLS_DATA_TABLE
Build data table for .xls document
FORM build_xls_data_table.
  CONSTANTS: con_cret TYPE x VALUE '0D', "OK for non Unicode
             con_tab TYPE x VALUE '09'. "OK for non Unicode
*If you have Unicode check active in program attributes thnen you will
*need to declare constants as follows
*class cl_abap_char_utilities definition load.
*constants:
con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB,
con_cret type c value cl_abap_char_utilities=>CR_LF.
  CONCATENATE 'EBELN' 'EBELP' 'AEDAT' 'MATNR'  INTO it_attach SEPARATED BY space.
  CONCATENATE space it_attach INTO it_attach.
  APPEND it_attach.
  LOOP AT it_ekpo INTO wa_charekpo.
    CONCATENATE wa_charekpo-ebeln wa_charekpo-ebelp
    wa_charekpo-aedat wa_charekpo-matnr
    INTO it_attach SEPARATED BY space .
    CONCATENATE space it_attach INTO it_attach.
    APPEND it_attach.
  ENDLOOP.
ENDFORM. " BUILD_XLS_DATA_TABLE
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment TABLES pit_message
pit_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.
  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'.
  w_doc_data-skip_scren = 'X'.
  CLEAR t_attachment.
  REFRESH t_attachment.
  t_attachment[] = pit_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'.
  APPEND t_receivers.
  CLEAR t_receivers.
  t_receivers-receiver = sy-uname. " replace with <login name>
  t_receivers-rec_type = 'B'.
  t_receivers-express = 'X'.
  APPEND t_receivers.
  CLEAR 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.                    "SEND_FILE_AS_EMAIL_ATTACHMENT
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
Instructs mail send program for SAPCONNECT to send email.
FORM initiate_mail_execute_program.
  WAIT UP TO 2 SECONDS.
  SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
  AND RETURN.
ENDFORM. " INITIATE_MAIL_EXECUTE_PROGRAM
*& Form POPULATE_EMAIL_MESSAGE_BODY
Populate message body text
FORM populate_email_message_body.
  REFRESH it_message.
  it_message = 'Please find attached a list test ekpo records'.
  APPEND it_message.
ENDFORM. " POPULATE_EMAIL_MESSAGE_BODY
Rewards if useful.............
Minal

Similar Messages

  • Report data send through mail in sap

    Hi frds
    I need help . when i execute report then data send to mail automaticaly  by sap .
    thanks & regards .
    Anup

    Hi,
    firstly, you need to read [Rules of Engagement|https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement].
    Cheers

  • Sending report output via E-mail (excel pivoted format)

    Hi all,
    i have a written a report where i need to send the report output to somebody via
    E-mail.i am sending this report output via E-mail successfully.The receiver receives, my output in excel format.but this excel is not <b>pivoted</b>.
    i want , the receiver should get my output in pivoted excel format.i.e my output data should be exactly fit in the excel sheet.
    now the columns in excel sheet are overlapping.once i double clicked, the columns are getting separated.i do not want to double click.i want all the columns should come properly i.e excel field  length should be adjusted as per the output field length.
    i am giving my coding below.plz suggest how i can do the above thing .it's urgent.
    any idea will be highly appreaciated.
    Regards
    if not p_email1 is initial.
         perform fill_report_csv.
         perform f_send_internet_mail.
      endif.
    FORM fill_report_csv.
       data :   l_text(232) type c,
               v_matnr1(21) type c,
               v_matnr(21) type c,
               v_matkl(14) type c,
               v_maktx(45) type c,
               v_ttlstk(14) type c,
               v_verpr(14) type c,
               v_werks(14) type c,
               v_lgort(14) type c,
               v_char(10) type c,
               v_stks type p ,
               v_po(40) type c,
               v_qty(13) type c,
                v_qty1 type sy-datum,
               v_date(15) type c,
               v_date1(15) TYPE C,
               v_name(35) type c,
               v_eknam(18) type c,
               v_lifnr(15) type c,
            l_po(40) type c,
            v_matnr(20) type c,
             l_rate(11) type  p decimals 5,
             l_flag type c.
      concatenate c_equal c_colon 'PO no.' c_colon
                    into v_po.
      concatenate c_equal c_colon 'Material no.' c_colon
                    into v_matnr.
      concatenate c_equal c_colon 'Description.' c_colon
                    into v_maktx.
      concatenate c_equal c_colon 'Due Qty.' c_colon
                    into v_qty.
      concatenate c_equal c_colon 'Del Date.' c_colon
                    into v_date.
      concatenate c_equal c_colon 'Vendor.' c_colon
                    into v_name.
      concatenate c_equal c_colon 'Buyer.' c_colon
                    into v_eknam.
      concatenate c_equal c_colon 'Vendor Code.' c_colon
                    into v_lifnr.
    concatenate
             v_po v_matnr v_maktx v_qty
             v_date v_name v_eknam v_lifnr
             into i_download
             SEPARATED BY con_tab.
      append i_download .
    clear : v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
    clear wa_output.
    loop at i_output into wa_output.
       on change of wa_output-ebeln.
         clear v_lines.
         loop at i_eket into wa_eket
                 where ebeln = wa_output-ebeln.
           v_lines = v_lines + 1.
           clear wa_eket.
         endloop.
    **-- Checking of page break
         v_lines = sy-linno + v_lines .
         if 55 < v_lines  .
           write:/0(161) sy-uline.
           new-page.
         endif.
      clear v_lines.
          loop at i_eket into wa_eket
                  where ebeln = wa_output-ebeln.
            v_lines = v_lines + 1.
            clear wa_eket.
          endloop.
    *-- Calculating the due qty.
        wa_output-dumng = wa_output-menge - wa_output-wemng.
    *-- Writing the Line items of the PO.
        read table i_ekpo into wa_ekpo
              with key ebeln = wa_output-ebeln
                       ebelp = wa_output-ebelp.
         l_rate = wa_ekpo-netpr / wa_ekpo-peinh.
    *-- Writing of PO detail
         if wa_output-dumng gt 0 .
         v_qty = wa_output-dumng.
        v_date1 = wa_output-eindt.
        v_maktx = wa_output-maktx.
         if wa_output-maktx+0(1) = '"' .
                concatenate  c_equal wa_output-maktx
                   into v_maktx  .
             else .
                concatenate  c_equal c_colon wa_output-maktx c_colon
                   into v_maktx  .
             endif .
       if wa_output-name1+0(1) = '"' .
                concatenate  c_equal wa_output-name1
                   into v_name  .
             else .
                concatenate  c_equal c_colon wa_output-name1 c_colon
                   into v_name  .
             endif .
        v_name = wa_output-name1.
        v_lifnr = wa_output-lifnr.
         write wa_output-eindt to v_date1 DD/MM/YYYY.
         concatenate '="' wa_output-ebeln '/'
                wa_output-ebelp '"' into v_po .
         concatenate '="' wa_output-matnr '"' into v_matnr .
             concatenate  c_equal c_colon wa_output-maktx c_colon
               into v_maktx  .
              concatenate  c_equal c_colon wa_output-dumng c_colon
               into v_qty1  .
               concatenate  c_equal c_colon wa_output-eindt c_colon
               into v_date1  .
              concatenate  c_equal c_colon wa_output-name1 c_colon
               into v_name  .
                concatenate  c_equal c_colon wa_output-eknam c_colon
                into v_eknam  .
              concatenate  c_equal c_colon wa_output-lifnr c_colon
               into v_lifnr  .
              concatenate  c_equal c_colon wa_mard-werks '/'
               wa_mard-lgort c_colon
               into v_lgort .
                 concatenate '="' wa_output-lifnr '"' into v_lifnr .
    condense:v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
         concatenate
             v_po v_matnr v_maktx v_qty
             v_date1 v_name v_eknam v_lifnr
             into i_download
             SEPARATED BY con_tab.
        concatenate con_cret i_download INTO i_download .
        append i_download .
      endif.
    clear : v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
    endloop.
    ENDFORM.                    " fill_report_csv
    *&      Form  f_send_internet_mail
          text
    -->  p1        text
    <--  p2        text
    FORM f_send_internet_mail.
    Variables
    data:   it_packing_list like sopcklsti1 occurs 0 with header line,
            it_contents like solisti1 occurs 0 with header line,
            it_receivers like somlreci1 occurs 0 with header line,
            it_attachment like solisti1 occurs 0 with header line,
            gd_cnt type i,
            gd_sent_all(1) type c,
            gd_doc_data like sodocchgi1,
            gd_error type sy-subrc.
    data:   it_message type standard table of SOLISTI1 initial size 0
                    with header line.
    data : found_receiver type c,
           v_title(80) type c,
           l_text(180) type c.
    Fill the document data.
      gd_doc_data-doc_size = 1.
    Adds text to email text table
      append 'Pls see attached open purchase order report.' to it_message.
      append '' to it_message.
      concatenate 'Note: This is system generated report'
                  ', figures may subject to actual physical count.'
                  into l_text separated by space.
      append l_text to it_message.
    Populate the subject/generic message attributes
      CLEAR gd_doc_data.
      READ TABLE i_download INDEX w_cnt.
      gd_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( i_download ).
      gd_doc_data-obj_langu  = sy-langu.
      gd_doc_data-obj_name   = 'SAPRPT'.
    if p_asdate is initial .
         concatenate p_title ' '
                  sy-datum sy-uzeit into v_title separated by space.
    else .
        concatenate p_title ' '
                 p_bldat p_cputm into v_title separated by space.
    endif .
      gd_doc_data-obj_descr  = v_title .
      gd_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = i_download[].
    Describe the body of the message
      clear it_packing_list.
      refresh it_packing_list.
      it_packing_list-transf_bin = space.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 0.
      it_packing_list-body_start = 1.
      describe table it_message lines it_packing_list-body_num.
      it_packing_list-doc_type = 'RAW'.
      append it_packing_list.
    Create attachment notification
      it_packing_list-transf_bin = 'X'.
      it_packing_list-head_start = 1.
      it_packing_list-head_num   = 1.
      it_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES it_packing_list-body_num.
      it_packing_list-doc_type   =  'XLS'.
      it_packing_list-obj_descr  =  'OPEN PURCHASE ORDER' .
      it_packing_list-obj_name   =  'PO.XLS' .
      it_packing_list-doc_size   =  it_packing_list-body_num * 255.
      APPEND it_packing_list.
    assign SAP user smtp address from successful retrieval.
      loop at p_email.
    Add the recipients email address
         found_receiver = 'X' .
         it_receivers-receiver = p_email-low.
         it_receivers-rec_type = 'U'.
         it_receivers-com_type = 'INT'.
         it_receivers-notif_del = ''.
         it_receivers-notif_ndel = 'X'.
         append it_receivers .
      endloop .
    Add default recipient email when unable to locate purc group email
       if found_receiver is initial .
           it_receivers-receiver = p_email.
           it_receivers-rec_type = 'U'.
           it_receivers-com_type = 'INT'.
           it_receivers-notif_del = ''.
           it_receivers-notif_ndel = 'X'.
          append it_receivers.
       endif .
    Call the FM to post the message to SAPMAIL
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           exporting
                document_data              = gd_doc_data
                put_in_outbox              = 'X'
                commit_work                = 'X'
           importing
                sent_to_all                = gd_sent_all
           tables
                packing_list               = it_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = it_receivers
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
    Store function module return code
      gd_error = sy-subrc.
    Get it_receivers return code
      loop at it_receivers.
      endloop.
    Instructs mail send program for SAPCONNECT to send email.
      wait up to 2 seconds.
      if gd_error eq 0.
          submit rsconn01 with mode = 'INT'
                        with output = ' '
                        and return.
      endif.
    ENDFORM.                    " f_send_internet_mail

    Hi,
    go through this link,
    http://www.sapdevelopment.co.uk/reporting/email/emailhome.htm
    you have some sample programs.
    Regards,
    Raghavendra

  • Report output via E-mail

    Hi all,
    i have a written a report where i need to send the report output to somebody via
    E-mail.i am sending this report output via E-mail successfully.The receiver receives, my output in excel format.but this excel is not <b>pivoted</b>.
    i want , the receiver should get my output in pivoted excel format.i.e my output data should be exactly fit in the excel sheet.
    now the columns in excel sheet are overlapping.once i double clicked, the columns are getting separated.i do not want to double click.i want all the columns should come properly i.e excel field  length should be adjusted as per the output field length.
    i am giving my coding below.plz suggest how i can do the above thing .it's urgent.
    any idea will be highly appreaciated.
    Regards
    if not p_email1 is initial.
         perform fill_report_csv.
         perform f_send_internet_mail.
      endif.
    FORM fill_report_csv.
       data :   l_text(232) type c,
               v_matnr1(21) type c,
               v_matnr(21) type c,
               v_matkl(14) type c,
               v_maktx(45) type c,
               v_ttlstk(14) type c,
               v_verpr(14) type c,
               v_werks(14) type c,
               v_lgort(14) type c,
               v_char(10) type c,
               v_stks type p ,
               v_po(40) type c,
               v_qty(13) type c,
                v_qty1 type sy-datum,
               v_date(15) type c,
               v_date1(15) TYPE C,
               v_name(35) type c,
               v_eknam(18) type c,
               v_lifnr(15) type c,
            l_po(40) type c,
            v_matnr(20) type c,
             l_rate(11) type  p decimals 5,
             l_flag type c.
      concatenate c_equal c_colon 'PO no.' c_colon
                    into v_po.
      concatenate c_equal c_colon 'Material no.' c_colon
                    into v_matnr.
      concatenate c_equal c_colon 'Description.' c_colon
                    into v_maktx.
      concatenate c_equal c_colon 'Due Qty.' c_colon
                    into v_qty.
      concatenate c_equal c_colon 'Del Date.' c_colon
                    into v_date.
      concatenate c_equal c_colon 'Vendor.' c_colon
                    into v_name.
      concatenate c_equal c_colon 'Buyer.' c_colon
                    into v_eknam.
      concatenate c_equal c_colon 'Vendor Code.' c_colon
                    into v_lifnr.
    concatenate
             v_po v_matnr v_maktx v_qty
             v_date v_name v_eknam v_lifnr
             into i_download
             SEPARATED BY con_tab.
      append i_download .
    clear : v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
    clear wa_output.
    loop at i_output into wa_output.
       on change of wa_output-ebeln.
         clear v_lines.
         loop at i_eket into wa_eket
                 where ebeln = wa_output-ebeln.
           v_lines = v_lines + 1.
           clear wa_eket.
         endloop.
    **-- Checking of page break
         v_lines = sy-linno + v_lines .
         if 55 < v_lines  .
           write:/0(161) sy-uline.
           new-page.
         endif.
      clear v_lines.
          loop at i_eket into wa_eket
                  where ebeln = wa_output-ebeln.
            v_lines = v_lines + 1.
            clear wa_eket.
          endloop.
    *-- Calculating the due qty.
        wa_output-dumng = wa_output-menge - wa_output-wemng.
    *-- Writing the Line items of the PO.
        read table i_ekpo into wa_ekpo
              with key ebeln = wa_output-ebeln
                       ebelp = wa_output-ebelp.
         l_rate = wa_ekpo-netpr / wa_ekpo-peinh.
    *-- Writing of PO detail
         if wa_output-dumng gt 0 .
         v_qty = wa_output-dumng.
        v_date1 = wa_output-eindt.
        v_maktx = wa_output-maktx.
         if wa_output-maktx+0(1) = '"' .
                concatenate  c_equal wa_output-maktx
                   into v_maktx  .
             else .
                concatenate  c_equal c_colon wa_output-maktx c_colon
                   into v_maktx  .
             endif .
       if wa_output-name1+0(1) = '"' .
                concatenate  c_equal wa_output-name1
                   into v_name  .
             else .
                concatenate  c_equal c_colon wa_output-name1 c_colon
                   into v_name  .
             endif .
        v_name = wa_output-name1.
        v_lifnr = wa_output-lifnr.
         write wa_output-eindt to v_date1 DD/MM/YYYY.
         concatenate '="' wa_output-ebeln '/'
                wa_output-ebelp '"' into v_po .
         concatenate '="' wa_output-matnr '"' into v_matnr .
             concatenate  c_equal c_colon wa_output-maktx c_colon
               into v_maktx  .
              concatenate  c_equal c_colon wa_output-dumng c_colon
               into v_qty1  .
               concatenate  c_equal c_colon wa_output-eindt c_colon
               into v_date1  .
              concatenate  c_equal c_colon wa_output-name1 c_colon
               into v_name  .
                concatenate  c_equal c_colon wa_output-eknam c_colon
                into v_eknam  .
              concatenate  c_equal c_colon wa_output-lifnr c_colon
               into v_lifnr  .
              concatenate  c_equal c_colon wa_mard-werks '/'
               wa_mard-lgort c_colon
               into v_lgort .
                 concatenate '="' wa_output-lifnr '"' into v_lifnr .
    condense:v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
         concatenate
             v_po v_matnr v_maktx v_qty
             v_date1 v_name v_eknam v_lifnr
             into i_download
             SEPARATED BY con_tab.
        concatenate con_cret i_download INTO i_download .
        append i_download .
      endif.
    clear : v_po,v_matnr, v_maktx, v_qty, v_date, v_name, v_eknam,v_lifnr .
    endloop.
    ENDFORM.                    " fill_report_csv
    *&      Form  f_send_internet_mail
          text
    -->  p1        text
    <--  p2        text
    FORM f_send_internet_mail.
    Variables
    data:   it_packing_list like sopcklsti1 occurs 0 with header line,
            it_contents like solisti1 occurs 0 with header line,
            it_receivers like somlreci1 occurs 0 with header line,
            it_attachment like solisti1 occurs 0 with header line,
            gd_cnt type i,
            gd_sent_all(1) type c,
            gd_doc_data like sodocchgi1,
            gd_error type sy-subrc.
    data:   it_message type standard table of SOLISTI1 initial size 0
                    with header line.
    data : found_receiver type c,
           v_title(80) type c,
           l_text(180) type c.
    Fill the document data.
      gd_doc_data-doc_size = 1.
    Adds text to email text table
      append 'Pls see attached open purchase order report.' to it_message.
      append '' to it_message.
      concatenate 'Note: This is system generated report'
                  ', figures may subject to actual physical count.'
                  into l_text separated by space.
      append l_text to it_message.
    Populate the subject/generic message attributes
      CLEAR gd_doc_data.
      READ TABLE i_download INDEX w_cnt.
      gd_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( i_download ).
      gd_doc_data-obj_langu  = sy-langu.
      gd_doc_data-obj_name   = 'SAPRPT'.
    if p_asdate is initial .
         concatenate p_title ' '
                  sy-datum sy-uzeit into v_title separated by space.
    else .
        concatenate p_title ' '
                 p_bldat p_cputm into v_title separated by space.
    endif .
      gd_doc_data-obj_descr  = v_title .
      gd_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = i_download[].
    Describe the body of the message
      clear it_packing_list.
      refresh it_packing_list.
      it_packing_list-transf_bin = space.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 0.
      it_packing_list-body_start = 1.
      describe table it_message lines it_packing_list-body_num.
      it_packing_list-doc_type = 'RAW'.
      append it_packing_list.
    Create attachment notification
      it_packing_list-transf_bin = 'X'.
      it_packing_list-head_start = 1.
      it_packing_list-head_num   = 1.
      it_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES it_packing_list-body_num.
      it_packing_list-doc_type   =  'XLS'.
      it_packing_list-obj_descr  =  'OPEN PURCHASE ORDER' .
      it_packing_list-obj_name   =  'PO.XLS' .
      it_packing_list-doc_size   =  it_packing_list-body_num * 255.
      APPEND it_packing_list.
    assign SAP user smtp address from successful retrieval.
      loop at p_email.
    Add the recipients email address
         found_receiver = 'X' .
         it_receivers-receiver = p_email-low.
         it_receivers-rec_type = 'U'.
         it_receivers-com_type = 'INT'.
         it_receivers-notif_del = ''.
         it_receivers-notif_ndel = 'X'.
         append it_receivers .
      endloop .
    Add default recipient email when unable to locate purc group email
       if found_receiver is initial .
           it_receivers-receiver = p_email.
           it_receivers-rec_type = 'U'.
           it_receivers-com_type = 'INT'.
           it_receivers-notif_del = ''.
           it_receivers-notif_ndel = 'X'.
          append it_receivers.
       endif .
    Call the FM to post the message to SAPMAIL
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           exporting
                document_data              = gd_doc_data
                put_in_outbox              = 'X'
                commit_work                = 'X'
           importing
                sent_to_all                = gd_sent_all
           tables
                packing_list               = it_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = it_receivers
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
    Store function module return code
      gd_error = sy-subrc.
    Get it_receivers return code
      loop at it_receivers.
      endloop.
    Instructs mail send program for SAPCONNECT to send email.
      wait up to 2 seconds.
      if gd_error eq 0.
          submit rsconn01 with mode = 'INT'
                        with output = ' '
                        and return.
      endif.
    ENDFORM.                    " f_send_internet_mail

    ans

  • Attaching HTML file and sending through mail

    Hi
    My Requirement is
    I want to attach HTML File and send through mail id's.
    But there are number of html files
    user can select any  one file.
    it has to attach and send to the mail id.

    Hi V,
    check the link:
    http://wiki.sdn.sap.com/wiki/display/Snippets/SendEmailwithHTMLattachment.

  • Report output sending as an attachement through mail

    we are facing one problem while sending report output as an attachement to specific mail-ids.
    Every thing is working fine.But for each row upto 255 characteers only it is printig.
    Remaining is not comming.
    We are using  Function Module  SO_DOCUMENT_SEND_API1.
    Please help us to solve this.
    Regards,
    Phani

    check this code sample
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5931ff64-0a01-0010-2bb7-ff2f9a6165a0">E-mail ABAP Report List output in HTML format</a>
    Regards
    Raja

  • Smartform output to pdf and send through mail

    Hi,
    I am able to save the output of the smartform as pdf file and able to send the pdf as attachment in mail.
    But the problems are -
    1 - As i have set the field - 'X' TO ls_control_param-getotf.
         I am unable to view the print preview of the billing document and no spool is getting displayed. I want to see the print preview and create a spool and also generate a pdf file.
    2- I am using the FM SO_DOCUMENT_SEND_API1 to send the mail of the pdf file. But i am getting the message like
        "Cannot extract the embedded font 'FranklinGothalicITCBook'. Some charactersmay not display or print correctly" followed by "An error exists on this page. Acrobat may not display the page correctly".
    Pls help me in resolving the issues.
    Thanks,
    Raju

    Hi
    I was worked on similar type of requirement. For your reference, please check the below piece of code which i have developed for my requirement.
    FORM ENTRY USING RETCODE
                     US_SCREEN.
    *Check if Nast key is initial or not
      IF NAST-OBJKY IS NOT INITIAL.
    *if nast-objkey is not initial than we need to get the smartform name
    *which is ZSF_PURCHASE_ORDER01
        CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
          EXPORTING
            FORMNAME           = C_FORM
          IMPORTING
            FM_NAME            = G_FNAME
          EXCEPTIONS
            NO_FORM            = 1
            NO_FUNCTION_MODULE = 2
            OTHERS             = 3.
    *if sy-subrc ne 0 than we need to update the nast entry with error
        IF SY-SUBRC <> 0.
          RETCODE = 1.
          PERFORM NAST_PROTOCOL_UPDATE.
          EXIT.
        ENDIF.
    *check if we need to take a print out
        CLEAR W_CTRLOP.
        IF SY-UCOMM = 'PREVOUTPUT'.
          NAST-NACHA = '1'.
        ENDIF.
    OUTPUT TO PRINTER
        IF NAST-NACHA = C_1.                 " Output to Printer
          W_COMPOP-TDDEST     = NAST-LDEST.
          W_COMPOP-TDNEWID    = 'X'.
          W_COMPOP-TDIMMED    = 'X'.
          W_COMPOP-TDDELETE   = 'X'.
          W_COMPOP-TDLIFETIME = 1.
          W_COMPOP-TDFINAL    = 'X'.
         W_CTRLOP-NO_DIALOG  = 'X'.
          W_CTRLOP-DEVICE     = 'PRINTER'.
          W_CTRLOP-PREVIEW    = 'X'.
    *Smartform is called and print program is done
          CALL FUNCTION G_FNAME
            EXPORTING
              CONTROL_PARAMETERS = W_CTRLOP
              OUTPUT_OPTIONS     = W_COMPOP
              USER_SETTINGS      = ' '
              WA_NAST            = NAST
            EXCEPTIONS
              FORMATTING_ERROR   = 1
              INTERNAL_ERROR     = 2
              SEND_ERROR         = 3
              USER_CANCELED      = 4
              OTHERS             = 5.
    *if print program is successful we need to update the nast entry
          IF SY-SUBRC EQ 0.
            RETCODE = 0.
            IF US_SCREEN EQ 'X'.
              PERFORM NAST_PROTOCOL_UPDATE.
            ELSEIF SY-SUBRC NE 0.
    *if print program is not successful than we need to update the nast
    *entry
              RETCODE = 1.
              PERFORM NAST_PROTOCOL_UPDATE.
              EXIT.
            ENDIF.
          ENDIF.
    OUTPUT TO MAIL
        ELSEIF NAST-NACHA = C_5.                " External Mail
    We need to get the smartform into OTF file format
          W_CTRLOP-GETOTF     = 'X'.
          IF  NAST-TCODE = 'ZLE'.
            W_COMPOP-TDDEST = 'LOCL'.
          ENDIF.
          CALL FUNCTION G_FNAME
            EXPORTING
              CONTROL_PARAMETERS = W_CTRLOP
              OUTPUT_OPTIONS     = W_COMPOP
              USER_SETTINGS      = ' '
              WA_NAST            = NAST
            IMPORTING
              JOB_OUTPUT_INFO    = WA_RETURN
            EXCEPTIONS
              FORMATTING_ERROR   = 1
              INTERNAL_ERROR     = 2
              SEND_ERROR         = 3
              USER_CANCELED      = 4
              OTHERS             = 5.
    *update the nast entry accordingly
          IF SY-SUBRC EQ 0.
            RETCODE = 0.
            IF US_SCREEN EQ 'X'.
              PERFORM NAST_PROTOCOL_UPDATE.
            ELSEIF SY-SUBRC NE 0.
              RETCODE = 1.
              PERFORM NAST_PROTOCOL_UPDATE.
              EXIT.
            ENDIF.
          ENDIF.
    *convert the smartform data into OTF file
          DATAB[] = WA_RETURN-OTFDATA[].
          CALL FUNCTION 'CONVERT_OTF'
            EXPORTING
              FORMAT                = 'PDF'
              MAX_LINEWIDTH         = 134
             ARCHIVE_INDEX         = ' '
              ASCII_BIDI_VIS2LOG    = 'X'
              PDF_DELETE_OTFTAB     = ' '
            IMPORTING
              BIN_FILESIZE          = BINFILESIZE
            TABLES
              OTF                   = DATAB[]
              LINES                 = PDFTAB[]
            EXCEPTIONS
              ERR_MAX_LINEWIDTH     = 1
              ERR_FORMAT            = 2
              ERR_CONV_NOT_POSSIBLE = 3
              ERR_BAD_OTF           = 4
              OTHERS                = 5.
    *if file conversion fails we need to update the nast entry
          IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
            EXPORTING
              LINE_WIDTH_SRC              = 134
              LINE_WIDTH_DST              = 255
              TRANSFER_BIN                = 'X'
            TABLES
              CONTENT_IN                  = PDFTAB[]
              CONTENT_OUT                 = PDF[]
            EXCEPTIONS
              ERR_LINE_WIDTH_SRC_TOO_LONG = 1
              ERR_LINE_WIDTH_DST_TOO_LONG = 2
              ERR_CONV_FAILED             = 3
              OTHERS                      = 4.
    *if conversion fails update the nast entry accordingly
          IF SY-SUBRC <> 0.
            RETCODE = 1.
            PERFORM NAST_PROTOCOL_UPDATE.
            EXIT.
          ENDIF.
    Hope it helps...

  • Report Output to be mailed as an attachment-On Schedule

    Hi ,
    I have a requirement to develop a oracle report with reportbuilder6i,the report output should be in excel format,needs to be run every monday and has to be mailed to some id [email protected]
    While converting it to excel output emp.xls using text_io iam saving it in some location .I want that emp.xls to be mailed to an email id ,also the report has to be scheduled to run periodically.
    If any one has done it,can u share the details and code.
    Thanks in Advance.
    Regards,
    Roja

    At the first outset, I dont think, this is possible.  Moreover, this approach is definitely not recommended since it will severely impact on the system performance and if there is a Security Team, they will not allow to have this practice.
    Normally, either we can send as PDF attachment to any internal user via email or this can also be sent externally via PDF.  There is also an option to view as PDF from the existing output itself.
    G. Lakshmipathi

  • Link to SAP Report Output from SAP Mail Inbox

    Hi Experts,
    I wants to send a link of SAP  ALV  Report output screen to SAP mail inbox and if a user clicks that link ,the report output
    screen should open and user has to see & interact  the ouput of that  ALV Report.how can i achieve this without webdynpro
    and workflow.
    Regards,
    Veera.

    Hi Asif
    When I said 'pdf/rtf/html/htmlcss', I meant any one of the above.
    You need to run the report as:
    rwrun60 <report_name> <connection_string> desformat=pdf destype=mail desname=<email_id> batch=yes
    In case you want to mail as HTMLCSS, replace PDF in DESFORMAT option in the above command to:
    DESFORMAT=HTMLCSS.
    Regards
    Sripathy

  • RSVTPROT report output send via email

    Hi Experts,
    Are there any means of sending the report of RSVTPROT through email? Is this feature included in the standard program? Thanks a lot!
    Best Regards,
    Kurtt

    Hi,
    I hope the below link can help you.
    Send the Report output to email from spool
    Thanks,
    Khushboo.

  • Can't get emails,but can send through Mail

    I just got Roadrunner and I cannot get emails in the Mail program. RR says it is a Mac Mail problem. I can send emails through Mail. I do get emails through Webmail but really want to use the Mail program. It worked with my Earthlink account. I have rebuilt the account and have the settings in Mail correct. Are there other settings I need to set on the Mac?
    Thank you for any help.

    No, a combination of letters and numbers. I just noticed that the email address for me on webmail is @adelphia.net, [email protected] That is not how Mail is set up nor is that the email address I was given. I was never with any Adelphia internet service. It is strange.

  • Task Outputs Send e-mail message

    Hi all,
    When I run a task from scom operations console, a new window opens and I can see the result and task output as usual.
    Is it possible to send that task output via e-mail message to corresponding department'e e-mail address.
    Regards.

    Hi,
    In addition, for more information and usage about the commands Get-Task and Get-TaskResult, please also refer to:
    Get-Task
    http://technet.microsoft.com/en-us/library/gg132265.aspx
    Get-TaskResult
    http://technet.microsoft.com/en-us/library/gg132216.aspx
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact [email protected]

  • How to convert script output to excel and send through mail in the report

    I need a solution for Converting script into EXCEL  and sending Excel as a attachment to the mail. In my current Program I am getting OTF data from script and converting into PDF using Function module ' CONVERT_OTF'
    And sending PDF as a mail attachment using Function module 'SO_NEW_DOCUMENT_SEND_API1' it is working fine but
    My current requirement is I need to send Excel as a mail attachment instead of PDF.
    Hope it is clear for you, please give me possible solutions with sample code..

    hi
    good
    CONSTANTS: CON_CRET TYPE X VALUE '0D',  "OK for non Unicode
                 CON_TAB TYPE X VALUE '09'.   "OK for non Unicode
    *If you have Unicode check active in program attributes thnen you will
    *need to declare constants as follows
    *class cl_abap_char_utilities definition load.
    *constants:
       con_tab  type c value cl_abap_char_utilities=>HORIZONTAL_TAB,
       con_cret type c value cl_abap_char_utilities=>CR_LF.
      CONCATENATE 'EBELN' 'EBELP' 'AEDAT' 'MATNR'
             INTO IT_ATTACH SEPARATED BY CON_TAB.
      CONCATENATE CON_CRET IT_ATTACH  INTO IT_ATTACH.
      APPEND  IT_ATTACH.
      LOOP AT IT_EKPO INTO WA_CHAREKPO.
        CONCATENATE WA_CHAREKPO-EBELN WA_CHAREKPO-EBELP
                    WA_CHAREKPO-AEDAT WA_CHAREKPO-MATNR
               INTO IT_ATTACH SEPARATED BY CON_TAB.  " Check here
        CONCATENATE CON_CRET IT_ATTACH  INTO IT_ATTACH.  " Check here
        APPEND  IT_ATTACH.
      ENDLOOP.
    thanks
    mrutyun^

  • To send report output to a mail with PDF attachment

    Hi All,
    I have developed a code and the output of the code as to send to a mial id's mentioned on the selection screen with a PDF attachemnt.
    So can any one suggest me how to do and it won't run in background it should always run in foreground.
    Any examples please let me know ASAP.
    Thanks
    Sagar.

    Hi Try this code with the same requirement i have also been working with i have got this code in SDN.
    Check this copy paste and execute i am getting the PDF file but not opening any how try and see
    *& Report  ZSDNF                                                       *
    REPORT  ZSDNF.
    TABLES :
      vbak,
      vbap,
      vbpa,
      mara.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:
    s_vkorg FOR vbak-vkorg OBLIGATORY,
    s_vtweg FOR vbak-vtweg OBLIGATORY,
    s_spart FOR vbak-spart OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    SELECT-OPTIONS:
    s_vbeln FOR vbak-vbeln,
    s_matnr FOR mara-matnr.
    PARAMETERS:
    p_kunnr TYPE vbak-kunnr.
    SELECT-OPTIONS:
    s_erdat FOR vbak-erdat OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b2.
    DATA : w_spono  LIKE  tsp01-rqident,
         w_binsize TYPE i,
         w_filelen TYPE i,
         t_sale LIKE TABLE OF tline WITH HEADER LINE.
    DATA:
    BEGIN OF t_sales OCCURS 0,
      vbeln TYPE vbak-vbeln,
      vkorg TYPE vbak-vkorg,
      vtweg TYPE vbak-vtweg,
      spart TYPE vbak-spart,
      erdat TYPE vbak-erdat,
      kunnr TYPE vbak-kunnr,
      posnr TYPE vbap-posnr,
      matnr TYPE vbap-matnr,
      arktx TYPE vbap-arktx,
      parvw TYPE vbpa-parvw,
      kwmeng TYPE vbap-kwmeng,
      kunnr1 TYPE vbpa-kunnr ,
    END OF t_sales.
    START-OF-SELECTION.
      SELECT vbak~vbeln
             vkorg
             vtweg
             vbak~spart
             vbak~erdat
             vbak~kunnr
             vbap~posnr
             matnr
              arktx
              parvw
             kwmeng
             vbpa~kunnr
        INTO CORRESPONDING FIELDS OF TABLE t_sales
        FROM ( ( vbak JOIN vbap ON vbapvbeln EQ vbakvbeln )
        JOIN vbpa ON vbpavbeln EQ vbakvbeln
                            and vbpaposnr eq vbapposnr
                               AND vbpa~parvw EQ 'WE' )
        WHERE vkorg IN s_vkorg
          AND vtweg IN s_vtweg
          AND vbak~spart IN s_spart
          AND vbak~vbeln IN s_vbeln
          AND matnr IN s_matnr
          AND vbak~kunnr EQ p_kunnr
          AND vbak~erdat IN s_erdat.
      IF sy-subrc EQ 0.
        NEW-PAGE PRINT ON.
        PERFORM display_sales_data.
        NEW-PAGE PRINT OFF.
      ELSE.
        MESSAGE 'No records found with the spcified criteria' TYPE 'E'.
      ENDIF.
      w_spono = sy-spono.
      CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
        EXPORTING
          src_spoolid                    = w_spono
      NO_DIALOG                      =
      DST_DEVICE                     =
      PDF_DESTINATION                =
       IMPORTING
         pdf_bytecount                  = w_binsize
      PDF_SPOOLID                    =
      LIST_PAGECOUNT                 =
      BTC_JOBNAME                    =
      BTC_JOBCOUNT                   =
       TABLES
         pdf                            = t_sale
       EXCEPTIONS
         err_no_abap_spooljob           = 1
         err_no_spooljob                = 2
         err_no_permission              = 3
         err_conv_not_possible          = 4
         err_bad_destdevice             = 5
         user_cancelled                 = 6
         err_spoolerror                 = 7
         err_temseerror                 = 8
         err_btcjob_open_failed         = 9
         err_btcjob_submit_failed       = 10
         err_btcjob_close_failed        = 11
         OTHERS                         = 12
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
         bin_filesize                  = w_binsize
          filename                      =
                 'C:\Documents and Settings\Desktop\SO.pdf'
         filetype                      = 'BIN'
      APPEND                        = ' '
      WRITE_FIELD_SEPARATOR         = 'X'
      HEADER                        = '00'
      TRUNC_TRAILING_BLANKS         = ' '
      WRITE_LF                      = 'X'
      COL_SELECT                    = ' '
      COL_SELECT_MASK               = ' '
      DAT_MODE                      = ' '
      CONFIRM_OVERWRITE             = ' '
      NO_AUTH_CHECK                 = ' '
      CODEPAGE                      = ' '
      IGNORE_CERR                   = ABAP_TRUE
      REPLACEMENT                   = '#'
      WRITE_BOM                     = ' '
    IMPORTING
      FILELENGTH                    = w_filelen
        TABLES
          data_tab                      = t_sale
       EXCEPTIONS
         file_write_error              = 1
         no_batch                      = 2
         gui_refuse_filetransfer       = 3
         invalid_type                  = 4
         no_authority                  = 5
         unknown_error                 = 6
         header_not_allowed            = 7
         separator_not_allowed         = 8
         filesize_not_allowed          = 9
         header_too_long               = 10
         dp_error_create               = 11
         dp_error_send                 = 12
         dp_error_write                = 13
         unknown_dp_error              = 14
         access_denied                 = 15
         dp_out_of_memory              = 16
         disk_full                     = 17
         dp_timeout                    = 18
         file_not_found                = 19
         dataprovider_exception        = 20
         control_flush_error           = 21
         OTHERS                        = 22
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *&      Form  display_sales_data
       This subroutine is used to display the sales report               *
       No interface parameters
    FORM display_sales_data .
      LOOP AT t_sales.
        AT NEW spart.
          SKIP 3.
          WRITE :/ 'Sales Organization : ', t_sales-vkorg,
            / 'Distribution Channel : ', t_sales-vtweg,
            / 'Division             : ', t_sales-spart.
          SKIP.
          WRITE:/ 'Sales Order'(001),
            15 'Order Date'(002),
            30 'Sold-to-party'(003),
            50 'Ship-to-party'(004),
            65 'Item'(005),
            75 'Material'(006),
            90 'Quantity'(007).
          SKIP.
        ENDAT.
        IF t_sales-kunnr1 IS INITIAL.
          t_sales-kunnr1 = p_kunnr.
        ENDIF.
        WRITE :/ t_sales-vbeln UNDER text-001,
          t_sales-erdat UNDER text-002,
          t_sales-kunnr UNDER text-003,
          t_sales-kunnr1 UNDER text-004,
          t_sales-posnr UNDER text-005,
          t_sales-matnr UNDER text-006,
          t_sales-kwmeng UNDER text-007.
      ENDLOOP.
    ENDFORM.

  • Send SAP Script output (PDF) through Mail

    Dear Friends,
    Looking for sample program to send <b>SAP Script</b> output in PDF format to external mails while printing.
    Regards,
    Praveen Lobo

    Hi,
    better option is to convert your spool request to PDF and send it
    call function 'CONVERT_ABAPSPOOLJOB_2_PDF'
    exporting
    src_spoolid = mi_rqident
    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.
    then call FM after populating attachment data
    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

Maybe you are looking for

  • Can't update iPod touch from Russia

    Hello, I have bought iPod touch today. I have receipt and guarantee. But I can't upgrade firmware (2.0) because I can't create account in iTunes Store. iTunes store registration returns "An Error occurred. The iTunes Store could not process your requ

  • Acrobat X Pro v 10.1.10 (Mac OS 10.9.3) hangs when trying to save PDF files

    Acrobat X Pro v 10.1.10 (Mac OS 10.9.3) hangs when trying to save some PDF files, after opening or after commenting.  Applies for any of the Save options.  "Watch" then "spinning beach ball" appear and application is indicated as "not responding."  M

  • Webcached.exe uses all CPU on IAS server

    Hi, I'm having trouble with a process called webcached.exe according to Windows task manager, this process takes all available CPU resources, so our IAS server hangs. Anyone why this is? Any help highly appriciated! I'm pretty new to Oracle Applicati

  • Paragraph format and character format in script

    hi expects, what is the difference between paragraph format and character format in script?

  • ITunes 11.1.2.31 crashing whenever I pause a song

    Whenever I pause a song, iTunes crahses. Currently using Windows 8.1 Pro, and I haven't experienced this on the last versions. Anybody know what to do?