Send an e-mail to Skype to report abuse?

can i sent reports to abuse @ skype .net on email?
Subject/title changed to reflect post content.

hi,
No. This email is not used for abuse reporting. Please follow the instructions here instead: https://support.skype.com/en/faq/FA34447/what-should-i-do-if-i-see-abusive-behavior-on-skype
Follow the latest Skype Community News
↓ Did my reply answer your question? Accept it as a solution to help others, Thanks. ↓

Similar Messages

  • Sending an e-mail from an ABAP report

    I would like to automatically e-mail a report to a user when the report is run. Can anyone tell me how to do this? Is there a function module I can use? Can a document be attached to the e-mail?

    Hi,
    Check this link.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-0010-eabe-82149bcc292e
    In this ,I am mailing the smartform output through report.Instead of that you can easily change it to your requirement.
    Just have a look at the report part in that link.
    Check this link also.
    http://www.sap-img.com/abap-function.htm
    Rgds,
    J.Jayanthi

  • How to send a mail with attaching a report

    hi gurus,
        my requirment is i have to send a mail with attaching the report of a program to the client.. is it possible? help me with sample code.
    Thanks in advance.
    Regards,
    Indira D

    Hi Indira,
    plz check out this code below,
    *& Report  ZATTACH                                               *
    REPORT  ZATTACH                   .
    TABLES: ekko.
    PARAMETERS: p_email   TYPE somlreci1-receiver
                                      DEFAULT '[email protected]'.
    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.
    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 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.
        CONCATENATE con_cret 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'.
      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'.
      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.
    *&      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
    <b>
    Reward points if this helps,</b>
    Kiran

  • Hi ! I need to send an e.mail reporting a problem with de Authorized Service Provider in Brasil. I contact Apple Brasil, but didn't solve. Someone know an Apple's USA e.mail i can use ? Thanks.

    Hi ! I need to send an e.mail reporting a problem with de Authorized Service Provider in Brasil. I contact Apple Brasil, but didn't solve. Someone know an Apple's USA e.mail i can use ? Thanks.

    There is a link at the bottom of this page. http://www.apple.com/contact/

  • Good morning. I need to send an e.mail reporting a problem with de Authorized Service Provider in Brasil. I contact Apple Brasil, but didn't solve. Someone know an e.mail i can use in Apple USA? Thanks.

    Good morning. I need to send an e.mail reporting a problem with de Authorized Service Provider in Brasil. I contact Apple Brasil, but didn't solve. Someone know an Apple's USA e.mail i can use ? Thanks.

    There is a link at the bottom of this page. http://www.apple.com/contact/

  • How to send a 100 plus page MS Word Report with Word and pdf. attachments?

    Sir or Madam,
    I am not able to e-mail or have a 100 plus page report received and need your support. It contains a combination of MS Word and pdf files and attachments.
    I am using MS Outlook 2007 and Google Chrome.
    Please advise.
    Thank you in advance.
    Earleb
    Earle Rheaume

    Sir or Madam,
    I am not able to e-mail or have a 100 plus page report received and need your support. It contains a combination of MS Word and pdf files and attachments.
    I am using MS Outlook 2007 and Google Chrome.
    Please advise.
    Thank you in advance.
    Earleb
    Earle Rheaume
    If your mail service allows all of that to be sent as attachments or however you are attempting that then it's possible the email server or servers receiving the email do not allow attachments that large.
    You say you are sending "a combination of MS Word and pdf files and attachments". I've never sent anything like that. I have zipped various files into a zip file then attached that to an email for sending.
    Googles mail appears to allow a total of 25 megabytes of attachments in a single email.
    Yahoo mail appears to allow a total of 25 megabytes also.
    Microsofts mail appears to allow a total of 20 megabytes of attachments in a single email.
    Another option would be to upload everything to your onedrives public folder and provide a link for others to download all of it in the email you send out.
    A single users onedrive supposedly can have up to 10 gigabytes loaded onto it. I suppose all of that could be used by the public folder but maybe not.
    La vida loca

  • Generating a PDF from a OTF (imported from CLOSE_FORM) and send it by mail.

    Hello!
    I have a problem.
    I'll try to explain it toy you.
    I have a SapScript that the user has the option to send it to the printer or have a Print Preview. I need to send it by mail in PDF format.
    If the user select PRINT, a spool id is created, I can get the OTF, generate the PDF and send it by mail. Everything OK with that.
    The problem is if the user select PRINT PREVIEW I don't get a spool id. So, what I did is to get the OTF from the CLOSE_FORM MF and generate de PDF from there. I tried several FM to generate the PDF but for sure I'm doing something wrong, because or the PDF is corrupted or I have a problem with the parameters in the SO_NEW_DOCUMENT_ATT_SEND_API1 FM.
    So, what I need it: Generate a PDF from a OTF imported from CLOSE_FORM FM and send it by mail.
    Examples or the FM I can use are welcome.
    I tried to do search here, but I couldn't find anything that may help me..
    So, please... Show me the light!!!
    Thanks!!!
    Bettina

    Part 3
    * Send Report
      clear:    maildata, mailtxt, mailbin, mailpack, mailhead, mailrec.
      refresh:  mailtxt, mailbin, mailpack, mailhead, mailrec.
    * Creation of the document to be sent File Name
      maildata-obj_name = 'REPORT'.
    * Mail Subject
      maildata-obj_descr = 'Your Report'.
      describe table mailtxt lines tab_lines.
      read table mailtxt index tab_lines.
      maildata-doc_size = ( tab_lines - 1 ) * 255 + strlen( mailtxt ).
    * Creation of the entry for the compressed document
      clear mailpack-transf_bin.
      mailpack-head_start = 1.
      mailpack-head_num = 0.
      mailpack-body_start = 1.
      mailpack-body_num = tab_lines.
      mailpack-doc_type = 'RAW'.
      append mailpack.
    * Creation of the document attachment
      loop at solisti1.
        move-corresponding solisti1 to mailbin.
        append mailbin.
      endloop.
      describe table mailbin lines tab_lines.
      mailhead = 'REPORT.OTF'.
      append mailhead.
    ** Creation of the entry for the compressed attachment
      mailpack-transf_bin = 'X'.
      mailpack-head_start = 1.
      mailpack-head_num = 1.
      mailpack-body_start = 1.
      mailpack-body_num = tab_lines.
      mailpack-doc_type = 'OTF'.
      mailpack-obj_name = 'ATTACHMENT'.
      mailpack-obj_descr = 'Some Report'.
      mailpack-doc_size = tab_lines * 255.
      append mailpack.
      mailrec-receiver = lv_email_address.  "<-- a valid email address
      mailrec-rec_type  = 'U'.
      append mailrec.
    * Sending the document
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           exporting
                document_data              = maildata
                put_in_outbox              = 'X'
           tables
                packing_list               = mailpack
                object_header              = mailhead
                contents_bin               = mailbin
                contents_txt               = mailtxt
                receivers                  = mailrec
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                operation_no_authorization = 4
                others                     = 99.
    Regards,
    Rich Heilman

  • Convert smartform spool to 2 pdf and send it by mail

    Hi! Can someone show me some code how to call the smartform and use the spool to convert to pdf and then send it by mail?
    Thanks in advance,
    Regards

    hai
    its very useful for u
    Object ID          :  PTP_TS_FRM_202                                 *
    Description        :  Print Program For PO Goods Receipt Document    *
    Developer          :  Ganesh Shanker Vidyarthi                       *
    Date               :  11/06/2006                                     *
    Genentech Contact  :                                                 *
    Functional Contact :                                                 *
    Purpose            :  This program is driver program of Goods Receipt*
                          Printing.                                      *
    Program Logic      : The Goods Receipt form (Raw material worksheet) *
                         would be created once we entered the values of
                         MBLNR MJAHR ZEILE fields on the selection screen.
                       Modification Log                                  *
    Changed On    Developer         Transport No.    Description         *
    11/06/2006    G.S.Vidyarthi                      Creation            *
    REPORT  zptpfrm202p_pogr_pr_instr MESSAGE-ID zmm.
              TABLES                                                     *
    Database table made for getting information about PRINTPREVIEW and
    PRINT command more than one times
    TABLES:    zgr_table.
    TYPE-POOLS:syscr.
              GLOBAL TYPE DECLARATION                                    *
    DATA:  zdoc_output_info     TYPE     ssfcrespd,  "SF:Return Document Inf.
         zjob_output_info     TYPE     ssfcrescl,  "SF:Return value at end of
                                                    form printing
           i_control TYPE ssfctrlop ,
           i_output_options TYPE ssfcompop,
           zjob_output_opts     TYPE     ssfcresop.  "SF:Return value at start
                                                    of form printing
    *This internal table is used for storing Document Segment: Material
    DATA: BEGIN OF i_mseg.
            INCLUDE STRUCTURE mseg.
    DATA: END OF i_mseg.
    This internal table is used for storing  Header: Material Document
    DATA: BEGIN OF i_mkpf.
            INCLUDE STRUCTURE mkpf.
    DATA: END OF i_mkpf.
    *Variables
    DATA flag(1) TYPE c.
    DATA: vfile TYPE string.
                    SELECTION-SCREEN                                     *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.
    PARAMETERS:p_mblnr TYPE mkpf-mblnr OBLIGATORY MATCHCODE OBJECT zganesh,
               p_mjahr TYPE mkpf-mjahr OBLIGATORY MATCHCODE OBJECT zganesh1,
               p_zeile TYPE mseg-zeile OBLIGATORY MATCHCODE OBJECT zganesh2.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 10.
    PARAMETER:r_disp RADIOBUTTON GROUP g1 USER-COMMAND u1 DEFAULT 'X'.
    SELECTION-SCREEN:COMMENT 15(10) text-002 .
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 10.
    PARAMETERS: r_down RADIOBUTTON GROUP g1.
    SELECTION-SCREEN:COMMENT 15(10) text-003.
    *PARAMETERS: v_file LIKE rlgrap-filename .
    *SELECTION-SCREEN:COMMENT 70(50) text-005.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 10.
    PARAMETERS: r_print RADIOBUTTON GROUP g1 .
    SELECTION-SCREEN:COMMENT 15(10) text-004.
    SELECTION-SCREEN END OF LINE.
    PARAMETERS: v_file LIKE rlgrap-filename MODIF ID g12.
    SELECTION-SCREEN END OF BLOCK b2.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR v_file.
      DATA : wlv_field_name LIKE dynpread-fieldname,
              wlv_file_name  LIKE ibipparms-path.
      wlv_field_name = v_file.
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          field_name = wlv_field_name
        IMPORTING
          file_name  = wlv_file_name.
      IF sy-subrc EQ 0.
        vfile = wlv_file_name.
        v_file = wlv_file_name.
      ENDIF.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF screen-name = 'V_FILE'.
          IF r_disp EQ 'X' OR r_print EQ 'X'.
            screen-input = 0.
          ELSE.
            screen-input = '1'.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
                        START-OF-SELECTION EVENT                         *
    START-OF-SELECTION.
      CALLING CONVERSION FUNCTION MODULE 'CONVERSION_EXIT_ALPHA_INPUT'   *
    *Conversion function module for appending 00 befor MBLNR FIELD
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = p_mblnr
        IMPORTING
          output = p_mblnr.
    Call subroutine for fetching data from database
      PERFORM get_data.
                        END-OF-SELECTION  EVENT                          *
    END-OF-SELECTION.
    Call subroutine for calling  and processing smartform
      PERFORM call_smartform.
    *&      Form  get_data
          Subroutine for fetching data from database
    FORM get_data .
    Fetching data from MKPF table with using parameters MBLNR and MJAHR
      SELECT SINGLE * FROM mkpf
                      INTO i_mkpf
                      WHERE mblnr = p_mblnr
                        AND mjahr = p_mjahr.
      IF sy-subrc EQ 0.
    Fetching data from MSEG with using parameters MBLNR,ZEILE and MJAHR
        SELECT SINGLE * FROM mseg
                        INTO i_mseg
                        WHERE mblnr = i_mkpf-mblnr
                          AND mjahr = i_mkpf-mjahr
                          AND zeile = p_zeile.
        IF sy-subrc NE 0.
          CLEAR i_mseg.
        ENDIF.
      ELSE.
        MESSAGE i000.
        EXIT.
      ENDIF.
    ENDFORM.                    " get_data
    *&      Form  call_smartform
         Subroutine for calling smartform
    FORM call_smartform .
    Local template used in the processing output of smartform
      TYPES: BEGIN OF lt_ztable,
              mandt TYPE sy-mandt,
              mblnr TYPE mseg-mblnr,
              flag(1) TYPE c,
              END OF lt_ztable.
      CONSTANTS: c_x(1) TYPE c VALUE 'X'.
    Workarea
      DATA: lw_ztable TYPE lt_ztable.
    *Variable used in the smartform
      DATA: lv_form(30)    TYPE c,
            lv_fm_name(30) TYPE c.
      lv_form = 'ZPTPFRM202L_POGR'.
    *Calling function module SSF_FUNCTION_MODULE_NAME which gives  new name
    *to the function module that will generated by smartform.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = lv_form
        IMPORTING
          fm_name            = lv_fm_name
        EXCEPTIONS
          no_form            = 1
          no_function_module = 2
          OTHERS             = 3.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *Calling function module that will be generated by smartform
      IF r_disp = c_x.
        i_output_options-tdimmed       = space.
        i_output_options-tdnewid       = c_x.
        i_output_options-tddest        = 'LOCL'.
        i_control-no_dialog = 'X'.
        i_control-preview = 'X'.
      ELSEIF r_print = c_x.
        i_output_options-tdimmed       = c_x.
        i_output_options-tddest        = 'LOCL'.
        i_control-no_dialog = c_x.
      ELSE.
        i_output_options-tdimmed       = space.
        i_output_options-tdnewid       = c_x.
        i_output_options-tddest        = 'LOCL'.
        i_control-getotf    = 'X'.
        i_control-preview   = space.
        i_control-no_dialog = c_x.
        flag = c_x.
      ENDIF.
      CALL FUNCTION lv_fm_name
        EXPORTING
          control_parameters   = i_control
          output_options       = i_output_options
          user_settings        = space
          zmkpf                = i_mkpf
          zmseg                = i_mseg
        IMPORTING
          document_output_info = zdoc_output_info
          job_output_info      = zjob_output_info
          job_output_options   = zjob_output_opts
        EXCEPTIONS
          formatting_error     = 1
          internal_error       = 2
          send_error           = 3
          user_canceled        = 4
          OTHERS               = 5.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    Modify the database table if it found the print command
      IF  zjob_output_opts-tdpreview NE c_x.
        lw_ztable-mandt = sy-mandt.
        lw_ztable-mblnr = p_mblnr.
        lw_ztable-flag = c_x.
        MODIFY zgr_table FROM lw_ztable.
        CLEAR lw_ztable.
      ENDIF.
      IF flag EQ c_x.
        DATA:   li_lines LIKE tline OCCURS 100 WITH HEADER LINE.
        DATA:   lv_file   TYPE string,
                lbin_fsiz TYPE i.
        lv_file = v_file.
        CALL FUNCTION 'CONVERT_OTF'
          EXPORTING
            format                = 'PDF'
          IMPORTING
            bin_filesize          = lbin_fsiz
          TABLES
            otf                   = zjob_output_info-otfdata
            lines                 = li_lines
          EXCEPTIONS
            err_max_linewidth     = 1
            err_format            = 2
            err_conv_not_possible = 3
            err_bad_otf           = 4
            OTHERS                = 5.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
            bin_filesize            = lbin_fsiz
            filename                = lv_file
            filetype                = 'BIN'
          TABLES
            data_tab                = li_lines
          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.
      ENDIF.
    ENDFORM.                    " call_smartform
    **Please reward suitable points***
    With Regards
    Navin Khedikar

  • How to create Word file and send file in mail as an attachment

    Hi Guys,
    I want to create report which fetech data from table and create word file of the same data and send file in mail as an attachment.

    Hello Sagar,
    Before posting please use GOOGLE,any way it may help u,
    DivulgeSAP: Send email with PDF, ZIP, TXT etc., as attachment from CL_BCS interface
    Thanks
    Sam

  • Send an e-mail to Outlook when a PO is released

    Hello colleagues,
    We need to send an e-mail to some responsible outlook address when a PO is full released, just for information. We don´t want to use workflow for approval. Please, could you tell me how can i customize it?
    thank you in advance.
    Best regards,
    JR.

    This is not possible with standard configuration. You have to create Z report with help of abaper which will trigger mail to the responsible peoples.
    Logic would be
    1.Create Z table which will stores Plant and responsible user name and thier e-mail id
    2.Create Z-program which will take input as creation date and PO number also Plant and others as per your requirement
    3.Goto table CDHDR and input is doc oobject - EINKBELEG ,T-code : ME29N and ME28 ,Date : today date
       get the document number,object value and pass CDPOS table get all the values and store it in internal tabel. Loop internal table if the FNAME = FRGKE and VALUE_NEW = R then get the OBJECTID which is nothing but PO number . Passing this no in EKPO table get the plant no . For this plant whatever e-mail ids are there ,send mail saying that these Po are released .
    To send e-mail you have to use standard function module ISA_AUC_EMAIL_NOTIFY or HR_FBN_GENERATE_SEND_EMAIL or check with abaper

  • How to send an e-mail to additional recipients as CC

    I have the need to code a PPF action which sends an e-mail (smartform) not only to the main recipient(s) but also to additional recipients as CC.
    I am wondering if module SO_NEW_DOCUMENT_ATT_SEND_API1 does the job, but I am very skeptical.
    Has someone already done it and who can share his experience?

    Dear Riccardo,
    the best approach for this issue is to follow the description and example of note #935670.
    The general outline is as follows:
    1. when calling the SF function module set parameter to get back the OTF document
    *-----------get back OTF document --------------------------------------
    * set 'ls_control_parameters-getotf' to get back the processed OTF
    * document; OTF document is returned in 'job_output_info-oftdata'
    * sending will be done in a later step
    ls_control_parameters-getotf = sppf_true.
    2. use class CL_BCS to send the document
    There are standard example reports BCS_EXAMPLE_X  X=1..5 which shows the general usage of this class to send messages. This class is the recommended interface for SAPconnect to generate and send messages. Whenever possible, please use this class instead of outdated function modules.
    3. to add a second recipient as CC use
    * set recipient (mandatory)
      lo_recipient = cl_bor_object_bcs=>getu_persistent(
                            i_logsys  = is_mail_recipient-logsys
                            i_objkey  = is_mail_recipient-objkey
                            i_objtype = is_mail_recipient-objtype ).
      call method send_request->add_recipient
        exporting
          i_recipient      = lo_recipient
    *      i_express        = i_express
    *      i_copy           = i_copy
    *      i_blind_copy     = i_blind_copy
    *      i_no_forward     = i_no_forward
    * set CC recipient in addition (optional)
      clear lo_recipient.
      lo_recipient = cl_cam_address_bcs=>create_internet_address(
                            i_address_string = 'your.internet.address_at_domain.com'
                            i_address_name = 'Your Visible Name'
      call method send_request->add_recipient
        exporting
          i_recipient      = lo_recipient
          i_copy           = sppf_true
    That's all
    Best regards, Daniel
    Edited by: Daniel-Alexander Heller  on Dec 3, 2008 10:24 AM

  • Multiple PDF Sending via single mail

    Hi Experts,
    I have a requirement in which when the user runs a report, he could get many invoices. We need to send all the invoices in the list converted to PDF and sent all the PDF(Multiple) to the sold to party mail ID.
    If the Size of the PDF attachment exceeds we need to send as multiple mails.
    I have only the invoice number and output type from the report. ITs not a print program there is no Close_form to get otf_data.
    Is there any function module to convert a invoice to OTF then to PDF. ?
    Is there any function module to send Mutiple PDF(MIN of 10) attached in a single mail ?
    Regards,
    Venkatesh.

    Hi
    USe this link.
    http://forums.sdn.sap.com/search.jspa?threadID=&q=multiplePDFinSinglemail&objID=f231&dateRange=all&numResults=15&rankBy=10001
    Regards
    Azeez

  • Can't Send Using Yahoo Mail Plus Account

    I'm a Yahoo Mail Plus subscriber and am having problems sending mail with the Apple iPhone. I only have this problem with my Yahoo Mail Plus account. A second (free) Yahoo account works fine, as does a GMail account.
    Other Yahoo Mail Plus users are reporting the same issue:
    http://answers.yahoo.com/question/index;_ylt=Ag8uQ.z8gmrVYBymDwJR4V4jzKIX?qid=20 070704183341AAtwv1J
    and
    http://answers.yahoo.com/question/index;_ylt=AmTc9jW..OVhgxNaeShTn4ojzKIX?qid=20 070705064711AAuaye0
    My problem is that when I send an e-mail on my Yahoo Mail Plus account, it is not received by the recipient, nor does a copy appear in my sent mail folder on the Yahoo server. I don't receive any error message -- the mail just never is sent.
    I spoke with an Apple store genius and he suggested deleting the Yahoo Mail Plus account settings on my iPhone and then setting it up again. I did this and it worked for the first 2-3 messages, but did not work again after that (once I had already ended my Genius Bar appointment). I tried deleting my Yahoo Mail Plus account settings a second time later and got the same result -- I was able to send 1-2 messages but none after that.
    My other free Yahoo Mail account is working fine on the iPhone (send/receive) as is a GMail account. And all accounts work properly when accessed directly via a web browser.
    Apple has a support doc about sending e-mail on the iPhone, but this relates to ISP port blocking and doesn't seem to apply to my situation as it happens in various locations with different WiFi providers, as well as when on AT&T's Edge network.
    http://docs.info.apple.com/article.html?artnum=305634
    I even had the problem in the Apple store using their WiFi network, which presumably doesn't have port issues.
    Anyone else having the same problem? Any suggestions?
    Thanks.
    -Michael
    iPhone    

    after reading how free accounts works fine and plus accounts tends not to, i think its safe to say this is a yahoo problem. the iphone yahoo wizard is probably meant for free accounts, but plus accounts are setup differently.

  • Sending a text mail for different user in

    Hi Abapers,
    I am trying to use function module SO_NEW_DOCUMENT_ATT_SEND_API1 to send a Text mail like "Purchase order is pending" .But how i can send a text mail .
    Here we are not attach any document only the text message we need to different mail id.Or is there any other FM to send text mail.
    Please help me if u have any sample code to send a text mail.
    Thanks
    Nani

    Hi
    You can use the fun module
    UWSP_SEND_MAIL_TO_WEB
    see the sample program using both he fun modules for sending some mails
    REPORT zm_reservation_alert
           NO STANDARD PAGE HEADING
           MESSAGE-ID zm_msg.
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
                   T Y P E S  D E C L A R A T I O N S
    Reservations Main Structure
    TYPES: BEGIN OF s_res,
             rsnum TYPE rsnum,                   " Reservation No
             rspos TYPE rspos,                   " Item No
             usnam TYPE usnam,                   " User Name
             bwart TYPE bwart,                   " Movement Type
             aufnr TYPE aufnr,                   " Order Number
             rsart TYPE rsart,                   " Record Type
             bdart TYPE bdart,                   " Reservation Type
             matnr TYPE matnr,                   " Material No
             bdter TYPE bdter,                   " Req Date
             menge TYPE menge_d,                 " Quantity
             kostl TYPE kostl,                   " Cost Center
             usrid TYPE sysid,                   " User ID
           END OF s_res.
    Output Main Structure
    TYPES: BEGIN OF s_rep,
             usnam TYPE usnam,                   " User Name
             rsnum TYPE rsnum,                   " Reservation No
             rspos TYPE rspos,                   " Item No
             matnr TYPE matnr,                   " Material No
             bdter TYPE bdter,                   " Req Date
             menge TYPE menge_d,                 " Quantity
             kostl TYPE kostl,                   " Cost Center
             aufnr TYPE aufnr,                   " Order Number
           END OF s_rep.
    User Dept Details
    TYPES: BEGIN OF s_dept,
             pernr TYPE persno,                  " Personal No
             usrid TYPE sysid,                   " User ID
             orgeh TYPE orgeh,                   " Orgn Unit
             orgtx TYPE orgtx,                   " Dept Name
           END OF s_dept.
    For Send Mail Purpose
    DATA : i_doc_data LIKE sodocchgi1.
    DATA : BEGIN OF i_pack_list OCCURS 0.
            INCLUDE STRUCTURE sopcklsti1.
    DATA : END OF i_pack_list.
    DATA : BEGIN OF i_receivers OCCURS 0.
            INCLUDE STRUCTURE somlreci1.
    DATA : END OF i_receivers.
    DATA : BEGIN OF i_contents OCCURS 0.
            INCLUDE STRUCTURE solisti1.
    DATA : END OF i_contents.
    DATA : BEGIN OF i_header OCCURS 0.
            INCLUDE STRUCTURE solisti1.
    DATA : END OF i_header.
    DATA : BEGIN OF i_att OCCURS 0.
            INCLUDE STRUCTURE solisti1.
    DATA : END OF i_att.
    Internal table for bdcdata
    DATA : it_bdcdata  LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    Internal table to handle messages
    DATA : it_messages LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
               D A T A  D E C L A R A T I O N S
    DATA: gv_lines  TYPE sy-index,           " Total Lines int Table
          gv_days   TYPE i,                  " Difference Days
          gv_date   TYPE sy-datum,           " Date
          gv_date1  TYPE sy-datum,           " Date
          gv_date2  TYPE sy-datum,           " Date
          gv_text(85),                       " Text Field
          gv_mesg(70),                       " Error Messages
          gv_bdc,                            " BDC Flag
          gv_flag TYPE i,                    " Flag
          gv_ernam TYPE ernam.               " User ID
                C O N S T A N T S     D E C L A R A T I O N S
    CONSTANTS: c_x                VALUE 'X',         " Flag
               c_endda TYPE endda VALUE '99991231'.  " Date
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_res TYPE STANDARD TABLE OF s_res WITH HEADER LINE,  " Reservns
          i_dept TYPE STANDARD TABLE OF s_dept WITH HEADER LINE, " Dept
          i_rep TYPE STANDARD TABLE OF s_rep WITH HEADER LINE.  " Output
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
    Process data
      PERFORM process_data.
    *&      Form  fetch_data
    Fetching the Reservations related data from Database Tables
    FORM fetch_data .
      CLEAR: gv_date, gv_date1, gv_date2.
      gv_date = sy-datum.
      gv_date1 = sy-datum - 10.
      gv_date2 = sy-datum + 10.
      CLEAR i_res.
      REFRESH i_res.
      SELECT a~rsnum                    " Reservation No.
             b~rspos                    " Reservation Item
             a~usnam                    " User Name
             a~bwart                    " Movement Type
             a~aufnr                    " Order Number
             b~rsart                    " Record Type
             b~bdart                    " Reservation Type
             b~matnr                    " Material No
             b~bdter                    " Req Date
        INTO TABLE i_res
        FROM rkpf AS a JOIN resb AS b
        ON arsnum = brsnum
        WHERE ( b~bdter BETWEEN gv_date1 AND gv_date2 ) AND
              b~xloek EQ ' '.
      SORT i_res BY rsnum rspos.
      DELETE ADJACENT DUPLICATES FROM i_res COMPARING matnr.
    Add userid into the i_usr int table
      LOOP AT i_res.
        i_res-usrid = i_res-usnam.
        MODIFY i_res INDEX sy-tabix.
      ENDLOOP.
      IF NOT i_res[] IS INITIAL.
    Get the User Dept Name
        CLEAR i_dept.
        REFRESH i_dept.
        SELECT a~pernr                    " Personal No
               a~usrid                    " User ID
               b~orgeh                    " Orgn Unit
               c~orgtx                    " Dept Name
          INTO TABLE i_dept
          FROM pa0105 AS a JOIN pa0001 AS b
          ON apernr = bpernr JOIN t527x AS c
          ON borgeh = corgeh
          FOR ALL ENTRIES IN i_res
          WHERE a~usrid = i_res-usrid AND
                a~endda EQ c_endda AND
                b~endda EQ c_endda.
      ENDIF.
      SORT i_dept BY pernr.
      DELETE ADJACENT DUPLICATES FROM i_dept COMPARING pernr.
    Move the Creator of Reservation to a diff table
      LOOP AT i_res.
        MOVE-CORRESPONDING i_res TO i_rep.
        APPEND i_rep.
        CLEAR i_rep.
      ENDLOOP.
      SORT i_rep BY usnam rsnum rspos.
    ENDFORM.                               " Fetch_Data
    *&      Form  process_data
    Process the Reservations related data for Expiry Date
    FORM process_data .
      DATA: lv_date1 LIKE sy-datum,
            lv_date2 LIKE sy-datum,
            lv_date3(10),
            lv_menge(13),
            lv_tabix LIKE sy-tabix.
      LOOP AT i_rep.
        CLEAR: gv_days, gv_text, lv_date1, lv_date2,lv_date3.
        lv_tabix = sy-tabix.
        AT NEW usnam.
    Populate the Contents Table
          CLEAR i_att.
          REFRESH i_att.
          i_att = 'Reservations Reminder'(014).
          APPEND i_att.
          i_att = '----
          APPEND i_att.
          i_att-line = '     '.
          APPEND i_att.
          READ TABLE i_dept WITH KEY usrid = i_rep-usnam.
          CONCATENATE 'Name:'(003) i_rep-usnam 'Dept:'(015) i_dept-orgtx
          INTO i_att-line SEPARATED BY space.
          APPEND i_att.
          i_att-line = '     '.
          APPEND i_att.
          i_att = 'Please find the List of expiring Reservations'(004).
          APPEND i_att.
          i_att-line = ' '.
          APPEND i_att.
          CONCATENATE '--' '' '--
    ' INTO
          i_att-line SEPARATED BY space.
          APPEND i_att.
        CONCATENATE 'Reservation #'(006) 'Material #'(007) ' Quantity'(002)
        'Due Date'(008) 'Work Center/CC'(005) INTO
        i_att-line SEPARATED BY space.
          APPEND i_att.
          CONCATENATE '--' '' '--
    ' INTO
          i_att-line SEPARATED BY space.
          APPEND i_att.
          i_att-line = ' '.
          APPEND i_att.
        ENDAT.
        gv_days  = i_rep-bdter - gv_date.
        lv_date1 = i_rep-bdter + 5.
        lv_date2 = i_rep-bdter + 10.
        MOVE i_rep-menge TO lv_menge.
        WRITE i_rep-bdter TO lv_date3.
        IF gv_days = 10.
          IF i_rep-aufnr <> space.
            CONCATENATE i_rep-rsnum i_rep-matnr lv_menge lv_date3
             i_rep-aufnr 'is due for 10 days. Please collect'(009)
             INTO gv_text SEPARATED BY space.
          ELSE.
            CONCATENATE i_rep-rsnum i_rep-matnr lv_menge lv_date3
             i_rep-kostl 'is due for 10 days. Please collect'(009)
             INTO gv_text SEPARATED BY space.
          ENDIF.
          i_att-line = gv_text.
          APPEND i_att.
          CLEAR i_att.
          CLEAR gv_text.
        ENDIF.
        IF gv_days = 5.
          IF i_rep-aufnr <> space.
            CONCATENATE i_rep-rsnum i_rep-matnr lv_menge lv_date3
            i_rep-aufnr 'is due for 5 days. Please collect'(010)
            INTO gv_text SEPARATED BY space.
          ELSE.
            CONCATENATE i_rep-rsnum i_rep-matnr lv_menge lv_date3
            i_rep-kostl 'is due for 5 days. Please collect'(010)
            INTO gv_text SEPARATED BY space.
          ENDIF.
          i_att-line = gv_text.
          APPEND i_att.
          CLEAR i_att.
          CLEAR gv_text.
        ENDIF.
        IF gv_date = lv_date1.
          IF i_rep-aufnr <> space.
            CONCATENATE i_rep-rsnum i_rep-matnr lv_menge lv_date3
            i_rep-aufnr 'is getting cancelled on'(011) lv_date2
            INTO gv_text SEPARATED BY space.
          ELSE.
            CONCATENATE i_rep-rsnum i_rep-matnr lv_menge lv_date3
            i_rep-kostl 'is getting cancelled on'(011) lv_date2
            INTO gv_text SEPARATED BY space.
          ENDIF.
          i_att-line = gv_text.
          APPEND i_att.
          CLEAR i_att.
          CLEAR gv_text.
        ENDIF.
        IF gv_date = lv_date2.
          IF i_rep-aufnr <> space.
            CONCATENATE i_rep-rsnum i_rep-matnr lv_menge lv_date3
            i_rep-aufnr 'is being cancelled'(012)
            INTO gv_text SEPARATED BY space.
          ELSE.
            CONCATENATE i_rep-rsnum i_rep-matnr lv_menge lv_date3
            i_rep-kostl 'is being cancelled'(012)
            INTO gv_text SEPARATED BY space.
          ENDIF.
          i_att-line = gv_text.
          APPEND i_att.
          CLEAR i_att.
          CLEAR gv_text.
    Mark the Reservation Item 'DELETED' using BDC.
         UPDATE resb SET xloek = c_x.
          PERFORM delete_item_resb.
        ENDIF.
        AT END OF usnam.
          IF ( gv_days = 10 OR gv_days = 5 OR gv_date = lv_date1 OR
               gv_date = lv_date2 ).
    Read the User who creates the Reservn and send a mail alert to him
            CLEAR : i_receivers,gv_ernam.
            REFRESH: i_receivers.
            READ TABLE i_rep INDEX lv_tabix.
            gv_ernam = i_rep-usnam.
            IF gv_ernam <> space.
    Send mail Alert to PR Creator(SAP inbox)
              PERFORM send_alert_data.
    Send Mail to External Mail ID of the SAP USER
              PERFORM send_mail_external.
            ENDIF.
          ENDIF.
        ENDAT.
      ENDLOOP.
    ENDFORM.                              " Process_data
    *&      Form  delete_item_resb
    Set the Deletion Indicator for the Res. Item in RESB
    FORM delete_item_resb.
      gv_bdc = 'N'.
    Perform to fill it_bdcdata.
      PERFORM fill_it_bdcdata.
    Call the Transaction MB22
      CALL TRANSACTION 'MB22' USING it_bdcdata MODE 'A' UPDATE 'S'
                                    MESSAGES INTO it_messages.
      IF sy-subrc <> 0.
        gv_flag = 1.
    If error occurs in transaction mode run bdc session for that data
        PERFORM bdc_process.
      ENDIF.
    Handles error messages
      PERFORM error_messages.
      CLEAR   : it_bdcdata, it_messages.
      REFRESH : it_bdcdata, it_messages.
      IF gv_bdc = 'O'.
    close bdc if it is open
        PERFORM close_bdc.
      ENDIF.
    ENDFORM.             "delete_item_resb
    *&      Form  FILL_IT_BDCDATA
    Filling Bdcdata structure with data
    FORM fill_it_bdcdata.
      PERFORM bdc_dynpro      USING 'SAPMM07R' '0560'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RM07M-RSPOS'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'RM07M-RSNUM'
                                    i_rep-rsnum.
      PERFORM bdc_field       USING 'RM07M-RSPOS'
                                    i_rep-rspos.
      PERFORM bdc_dynpro      USING 'SAPMM07R' '0510'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RESB-XLOEK'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'RESB-XLOEK'
                                     c_x.
      PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'COBL-KOSTL'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=ENTE'.
      PERFORM bdc_dynpro      USING 'SAPMM07R' '0510'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RESB-ERFMG'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=BU'.
      PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'COBL-KOSTL'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=ENTE'.
    ENDFORM.                    " FILL_IT_BDCDATA
    *&      Form  BDC_DYNPRO
    Filling the it_bdcdata table with program name & screen number
    FORM bdc_dynpro USING    program LIKE bdcdata-program
                             dynpro LIKE bdcdata-dynpro.
      it_bdcdata-program = program.
      it_bdcdata-dynpro = dynpro.
      it_bdcdata-dynbegin = 'X'.
      APPEND it_bdcdata.
      CLEAR it_bdcdata.
    ENDFORM.                    " BDC_DYNPRO
    *&      Form  BDC_FIELD
      Filling it_bdcdata with field name and field value
    FORM bdc_field USING fnam LIKE bdcdata-fnam
                         fval.
      it_bdcdata-fnam = fnam.
      it_bdcdata-fval = fval.
      APPEND it_bdcdata.
      CLEAR it_bdcdata.
    ENDFORM.                    " BDC_FIELD
    *&      Form  ERROR_MESSAGES
    Displaying error messages
    FORM error_messages.
      CALL FUNCTION 'FORMAT_MESSAGE'
        EXPORTING
          id        = sy-msgid
          lang      = sy-langu
        IMPORTING
          msg       = gv_mesg
        EXCEPTIONS
          not_found = 1
          OTHERS    = 2.
      LOOP AT it_messages WHERE msgtyp = 'E'.
        WRITE : / 'Message :'(001) ,gv_mesg.
        CLEAR it_messages.
      ENDLOOP.
    ENDFORM.                    " ERROR_MESSAGES
    *&      Form  BDC_PROCESS
    Open bdc session if call transaction fails
    FORM bdc_process.
      IF gv_bdc = 'N'.
    open bdc session
        PERFORM open_bdc.
        gv_bdc = 'O'.
      ENDIF.
      IF gv_bdc = 'O'.
    insert data into bdc session
        PERFORM insert_bdc.
      ENDIF.
    ENDFORM.                    " BDC_PROCESS
    *&      Form  OPEN_BDC
      Calling function module to open bdc session
    FORM open_bdc.
      CALL FUNCTION 'BDC_OPEN_GROUP'
        EXPORTING
          client              = sy-mandt
          group               = 'ZMM'
          keep                = 'X'
          user                = sy-uname
        EXCEPTIONS
          client_invalid      = 1
          destination_invalid = 2
          group_invalid       = 3
          group_is_locked     = 4
          holddate_invalid    = 5
          internal_error      = 6
          queue_error         = 7
          running             = 8
          system_lock_error   = 9
          user_invalid        = 10
          OTHERS              = 11.
    ENDFORM.                    " OPEN_BDC
    *&      Form  INSERT_BDC
      Insert it_bdcdata into bdc by calling function module bdc_insert
    FORM insert_bdc.
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          tcode            = 'MB22'
        TABLES
          dynprotab        = it_bdcdata
        EXCEPTIONS
          internal_error   = 1
          not_open         = 2
          queue_error      = 3
          tcode_invalid    = 4
          printing_invalid = 5
          posting_invalid  = 6
          OTHERS           = 7.
    ENDFORM.                    " INSERT_BDC
    *&      Form  CLOSE_BDC
    Closing bdc session
    FORM close_bdc.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
        EXCEPTIONS
          not_open    = 1
          queue_error = 2
          OTHERS      = 3.
    ENDFORM.                    " CLOSE_BDC
    *&      Form  send_alert_data
        Send Alert for the Expired Contract
    FORM send_alert_data .
      CLEAR: gv_lines,i_receivers, i_header, i_contents,i_doc_data.
      REFRESH : i_receivers,i_header,i_contents.
      DESCRIBE TABLE i_att LINES gv_lines.
      i_receivers-receiver = gv_ernam.
    i_receivers-receiver = 'SSHEIK'.
      i_receivers-rec_type = 'B'.
    i_receivers-rec_date = sy-datum.
    i_receivers-express = 'X'.
    i_receivers-com_type = 'INT'.
    i_receivers-notif_del = 'X'.
      APPEND i_receivers.
      i_doc_data-obj_name = 'SAPoffice'(013).
      i_doc_data-obj_descr = 'Reservations Reminder'(014).
      i_doc_data-obj_langu = 'E'.
      i_doc_data-no_change = c_x.
      i_doc_data-obj_prio = 1.
      i_doc_data-priority = 1.
      i_doc_data-doc_size = ( gv_lines - 1 ) * 255 + 135.
      i_pack_list-transf_bin = c_x.
      i_pack_list-head_start = '1'.
      i_pack_list-head_num = '1'.
      i_pack_list-body_start = '1'.
      i_pack_list-body_num = gv_lines.
      i_pack_list-doc_type = 'DOC'.
      i_pack_list-obj_name = 'SAPoffice'(013).
      i_pack_list-obj_descr = 'Reservations Reminder'(014).
      i_pack_list-obj_langu = 'E'.
      i_pack_list-doc_size = ( gv_lines - 1 ) * 255 + 135.
      APPEND i_pack_list.
    i_header-line = 'Header'. APPEND i_header.
    Data for contents
      i_contents-line = 'Please find the Reservations Due List'(016).
      APPEND i_contents.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data                    = i_doc_data
         PUT_IN_OUTBOX                    = 'X'
    IMPORTING
      SENT_TO_ALL                      =
      NEW_OBJECT_ID                    =
        TABLES
          packing_list                     = i_pack_list
          object_header                    = i_header
          contents_bin                     = i_att
          contents_txt                     = i_contents
          receivers                        = i_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.
      IF sy-subrc = 0.
        MESSAGE i000 WITH 'Mail Sucessfully sent'(017).
      ELSE.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    ENDFORM.                    " send_alert_data
    *&      Form  send_mail_external
    Send mail to External MAIL ID of the PR Creator
    FORM send_mail_external.
      DATA : lv_str(24), lv_str1(40),
             lv_pernr LIKE adr6-persnumber,
             lv_adrnr LIKE adr6-addrnumber,
             lv_usrid LIKE pa0105-usrid,
             lv_mail  LIKE adr6-smtp_addr,
             lv_sendor   TYPE syuname,
             lv_receiver TYPE string,
             lv_header   TYPE string,
             lv_body     TYPE string.
      CLEAR: lv_pernr, lv_usrid, lv_adrnr,
             lv_mail, lv_sendor, lv_receiver,
             lv_header, lv_body .
      lv_usrid = gv_ernam.
      SELECT SINGLE persnumber addrnumber FROM usr21
             INTO (lv_pernr,lv_adrnr)
             WHERE bname = lv_usrid.
      IF sy-subrc = 0.
        SELECT SINGLE smtp_addr INTO lv_mail FROM adr6
               WHERE addrnumber = lv_adrnr AND
                     persnumber = lv_pernr.
        IF sy-subrc <> 0.
          CONCATENATE lv_usrid '@anc.com' INTO lv_mail.
          lv_receiver =  lv_mail.
        ELSE.
          lv_receiver =  lv_mail.
        ENDIF.
       lv_receiver =  '[email protected]'.
        lv_sendor = 'JALKHATAM'.
        lv_header = 'Reservations Reminder'(014).
        lv_str  = 'Pls check your SAP Inbox'(019).
        lv_str1 = 'for the status of Reservations Due List'(020).
        CONCATENATE lv_str lv_str1 INTO lv_body
        SEPARATED BY space.
    Call Function Module To send mail
        CALL FUNCTION 'UWSP_SEND_MAIL_TO_WEB'
          EXPORTING
            id_header           = lv_header
            id_body             = lv_body
            id_receiver         = lv_receiver
            id_sender           = lv_sendor
      ID_HTML_MAIL         =
           id_commit_work       = 'X'
         EXCEPTIONS
           error                = 1
           OTHERS               = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ENDIF.
    ENDFORM.                    " send_mail_external
    Reward points for useful Answers
    Regards
    Anji

  • Send an e-mail with an attachment

    Hi all,
    The requirement is to send an e-mail with an attachment containing sales cycle information. The mail-ids will be got from the distribution list mentioned on the selection screen.
    I have to add a select-option with no intervals so that it can accept the distribution list. I also have to check the distribution list for its validity.
    How do I go about it?
    Please help.
    Thanks and regards,
    Anishur

    REPORT  zspooltopdf.
    PARAMETER: p_email1 LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               p_sender LIKE somlreci1-receiver
                                        DEFAULT '[email protected]',
               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   <> '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 > 0.
      PERFORM send_email USING p_email1.
    perform send_email using p_email2.
    ENDFORM.
          FORM send_email                                               *
    -->  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 <> c_no.
      CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
           EXPORTING
                spoolid = ld_spool_nr.
    ENDFORM.
    *&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
          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.

Maybe you are looking for