Receiving/Reading external Email from ABAP

Unhelpfully, certain information will only be sent to us in the text of emails sent to a specified email address (instead of a flat text file via sftp etc). This will all be within the same Intranet. We can specify the format.
How can ABAP read the emails in the Inbox of a specified email address? Do you get a specific user to link their Office settings to a POP3/IMAP account (for example?).
/people/anton.wenzelhuemer/blog/2006/05/27/abap-pop3-email-client-using-an-rfc-enabled-php-client-proxy gives a solution but is there a simpler way? No mail management is required (delete, flag when read etc).
Cheers,
Matt.
Message was edited by:
        Matt King

hi
good
try this
Use the FM ALSM_EXCEL_TO_INTERNAL_TABLE.
parameters : p_ifile like rlgrap-filename obligatory.
data t_ifile like table of alsmex_tabline with header line.
call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
exporting
filename = p_ifile
i_begin_col = 1
i_begin_row = 1
i_end_col = 100
i_end_row = 5000
tables
intern = t_ifile
exceptions
inconsistent_parameters = 1
upload_ole = 2
others = 3.
thanks
mrutyun^

Similar Messages

  • To send external email from ABAP

    How to send external email from ABAP Program and what are the settings to be done for the same ?

    Please check..
    Sending External email through SAP
    What is the FM for sending the external email through SAP by attaching layout set  to it?
    These are the FM for sending external email :-
    SO_DOCUMENT_SEND_API1 
    SAPoffice: Send new document with attachments via RFC 
    SO_NEW_DOCUMENT_ATT_SEND_API1
    (In 4.6C only, You can go to SE37 and click the documentation on how to use it. A sample program is provided there.)
    SAPoffice: Send new document with attachments via RFC 
    Note : If you are using FM SO_NEW_DOCUMENT_ATT_SEND_API1 then Export Parameter DOCUMENT_DATA-OBJ_DESCR contains the Subject. 
    SO_NEW_DOCUMENT_SEND_API1 
    SAPoffice: Send new document 
    How to send a report to an external mail-id?
    Try this sample code :-
    REPORT ZREPORT_TO_EMAIL NO STANDARD PAGE HEADING LINE-SIZE 200.
    DATA : BEGIN OF ITAB OCCURS 0,
    PERNR LIKE PA0001-PERNR,
    ENAME LIKE PA0001-ENAME,
    END OF ITAB.
    DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE,
    receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE,
    packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE,
    listobject LIKE abaplist OCCURS 10,
    compressed_attachment LIKE soli OCCURS 100 WITH HEADER LINE,
    w_object_hd_change LIKE sood1,
    compressed_size LIKE sy-index.
    START-OF-SELECTION.
    SELECT PERNR ENAME
    INTO CORRESPONDING FIELDS OF TABLE ITAB
    FROM PA0001
    WHERE PERNR < 50.
    LOOP AT ITAB.
    WRITE :/02 SY-VLINE , ITAB-PERNR, 15 SY-VLINE , ITAB-ENAME, 50
    SY-VLINE.
    ENDLOOP.
    Receivers
    receiver_list-recextnam = '[email protected]'. "-->
    EMAIL ADDRESS
    RECEIVER_list-RECESC = 'E'. "<-
    RECEIVER_list-SNDART = 'INT'."<-
    RECEIVER_list-SNDPRI = '1'."<-
    APPEND receiver_list.
    General data
    w_object_hd_change-objla = sy-langu.
    w_object_hd_change-objnam = 'Object name'.
    w_object_hd_change-objsns = 'P'.
    Mail subject
    w_object_hd_change-objdes = 'Message subject'.
    Mail body
    APPEND 'Message content' TO message_content.
    Attachment
    CALL FUNCTION 'SAVE_LIST'
    EXPORTING
    list_index = '0'
    TABLES
    listobject = listobject.
    CALL FUNCTION 'TABLE_COMPRESS'
    IMPORTING
    compressed_size = compressed_size
    TABLES
    in = listobject
    out = compressed_attachment.
    DESCRIBE TABLE compressed_attachment.
    CLEAR packing_list.
    packing_list-transf_bin = 'X'.
    packing_list-head_start = 0.
    packing_list-head_num = 0.
    packing_list-body_start = 1.
    packing_list-body_num = sy-tfill.
    packing_list-objtp = 'ALI'.
    packing_list-objnam = 'Object name'.
    packing_list-objdes = 'Attachment description'.
    packing_list-objlen = compressed_size.
    APPEND packing_list.
    CALL FUNCTION 'SO_OBJECT_SEND'
    EXPORTING
    object_hd_change = w_object_hd_change
    object_type = 'RAW'
    owner = sy-uname
    TABLES
    objcont = message_content
    receivers = receiver_list
    packing_list = packing_list
    att_cont = compressed_attachment.

  • To avoid the attachment for the body content while sending email from ABAP

    SAP Version : 4.7
       When i tried to send an external email from the abap report program, the body content of the mail is coming as an attachment for the same. I need to avoid this. Please give the suggestion. Am attaching the code.
                        DECLARATION PART                                 *
    TYPE-POOLS : SLIS.
    TABLES : VBAK.
    DECLARATION FOR ALV.
    DATA : F_FIELD TYPE SLIS_T_FIELDCAT_ALV,
           W_FIELD TYPE SLIS_FIELDCAT_ALV,
           L_HEADER TYPE SLIS_T_LISTHEADER,
           W_HEADER TYPE SLIS_LISTHEADER,
           W_LAYOUT TYPE SLIS_LAYOUT_ALV,
           t_sort type slis_t_sortinfo_alv,
           w_sort type slis_sortinfo_alv.
    TYPES : BEGIN OF T_VBAK,
              VBELN    LIKE VBAK-VBELN,
              VKGRP    LIKE VBAK-VKGRP,
              KUNNR    LIKE VBAK-KUNNR,
              ERDAT    LIKE VBAK-ERDAT,
              VTWEG    LIKE VBAK-VTWEG,
              LIFSK    LIKE VBAK-LIFSK,
              VKBUR    LIKE VBAK-VKBUR,
            END OF T_VBAK.
    TYPES : BEGIN OF T_VBAP,
              VBELN    LIKE VBAP-VBELN,
              POSNR    LIKE VBAP-POSNR,
              MATNR    LIKE VBAP-MATNR,
              WERKS    LIKE VBAP-WERKS,
              ARKTX    LIKE VBAP-ARKTX,
              KWMENG   LIKE VBAP-KWMENG,
              CUOBJ    LIKE VBAP-CUOBJ,
              NETWR    LIKE VBAP-NETWR,
              ZSCHL_K  LIKE VBAP-ZSCHL_K,
              KONDM    LIKE VBAP-KONDM,
              ZZURWN   LIKE VBAP-ZZURWN,
            END OF T_VBAP.
    TYPES : BEGIN OF T_LIPS,
              VBELN    LIKE LIPS-VBELN,
              POSNR    LIKE LIPS-POSNR,
              VGBEL    LIKE LIPS-VGBEL,
              VGPOS    LIKE LIPS-VGPOS,
            END OF T_LIPS.
    TYPES : BEGIN OF T_KNA1,
              KUNNR    LIKE KNA1-KUNNR,
              NAME1    LIKE KNA1-NAME1,
              ADRNR    LIKE KNA1-ADRNR,
            END OF T_KNA1.
    TYPES : BEGIN OF T_VBKD,
              VBELN    LIKE VBKD-VBELN,
              POSNR    LIKE VBKD-POSNR,
              BSTKD    LIKE VBKD-BSTKD,
              BSTDK    LIKE VBKD-BSTDK,
              KURSK    LIKE VBKD-KURSK,          " CURRENCY CHECK
              BZIRK    LIKE VBKD-BZIRK,          " SALES DISTRICT
              KDGRP    LIKE VBKD-KDGRP,
              IHREZ    LIKE VBKD-IHREZ,
            END OF T_VBKD.
    TYPES : BEGIN OF T_LIKP,
              VBELN    LIKE LIKP-VBELN,
              ERDAT    LIKE LIKP-ERDAT,
            END OF T_LIKP.
    TYPES : BEGIN OF T_ADR6,
              ADDRNUMBER LIKE ADR6-ADDRNUMBER,
              SMTP_ADDR  LIKE ADR6-SMTP_ADDR,
            END OF T_ADR6.
    DATA  : BEGIN OF IT_CUST OCCURS 0,
              KUNNR LIKE VBAK-KUNNR,
            END OF IT_CUST.
    TYPES : BEGIN OF T_VBUP,
              VBELN    LIKE VBUP-VBELN,
              POSNR    LIKE VBUP-POSNR,
              KOSTA    LIKE VBUP-KOSTA,
              WBSTA    LIKE VBUP-WBSTA,
            END OF T_VBUP.
    TYPES : BEGIN OF T_TVLST,
              LIFSP    LIKE TVLST-LIFSP,
              VTEXT    LIKE TVLST-VTEXT,
            END OF T_TVLST.
    TYPES : BEGIN OF T_CONFIG.
            INCLUDE STRUCTURE CONF_OUT.
    TYPES : END OF T_CONFIG.
    DATA  : TMP LIKE VBAK-KUNNR.
    DATA  : NAME_TEXT LIKE THEAD-TDNAME.
    DATA  : TLINE1 LIKE TLINE OCCURS 0 WITH HEADER LINE.
    DATA  : TMP_BRAKET LIKE CONF_OUT-ATWRT,
            TMP_BRAKET1 LIKE CONF_OUT-ATWRT.
    DATA : BEGIN OF IT_FINAL OCCURS 0,
              WERKS   LIKE VBAP-WERKS,
              VBELN   LIKE VBAP-VBELN,
              POSNR   LIKE VBAP-POSNR,
              KUNNR   LIKE VBAK-KUNNR,
              NAME1   LIKE KNA1-NAME1,
              VBELN1  LIKE LIKP-VBELN,
              ERDAT   LIKE LIKP-ERDAT,
              LIFSK   LIKE VBAK-LIFSK,
              ZZURWN  LIKE VBAP-ZZURWN,
              IHREZ   LIKE VBKD-IHREZ,
              ERDAT1  LIKE VBAK-ERDAT,
              NETWR(25) type C,
              BSTKD   LIKE VBKD-BSTKD,
              BSTDK   LIKE VBKD-BSTDK,
              SALORD(17)  TYPE C,
              PUMP_TYPE LIKE CONF_OUT-ATWRT,
              PUMP_SIZE LIKE CONF_OUT-ATWRT,
              VTEXT     LIKE TVLST-VTEXT,
              KWMENG(25) TYPE C,
              FOOTER(330) TYPE C,
              ITMTXT(330) TYPE C,
           END OF IT_FINAL.
    DATA : IT_VBAK TYPE STANDARD TABLE OF T_VBAK,
           IT_VBAP TYPE STANDARD TABLE OF T_VBAP,
           IT_VBKD TYPE STANDARD TABLE OF T_VBKD,
           IT_LIKP TYPE STANDARD TABLE OF T_LIKP,
           IT_LIPS TYPE STANDARD TABLE OF T_LIPS,
           IT_VBUP TYPE STANDARD TABLE OF T_VBUP,
           IT_KNA1 TYPE STANDARD TABLE OF T_KNA1,
           IT_ADR6 TYPE STANDARD TABLE OF T_ADR6,
           IT_FINAL1 LIKE IT_FINAL OCCURS 0 with header line,
           IT_TVLST TYPE STANDARD TABLE OF T_TVLST,
           IT_CONFIG TYPE STANDARD TABLE OF T_CONFIG,
           W_VBAK TYPE T_VBAK,
           W_VBAP TYPE T_VBAP,
           W_VBKD TYPE T_VBKD,
           W_LIKP TYPE T_LIKP,
           W_ADR6 TYPE T_ADR6,
           W_LIPS TYPE T_LIPS,
           W_VBUP TYPE T_VBUP,
           W_KNA1 TYPE T_KNA1,
           W_TVLST TYPE T_TVLST,
           W_CONFIG TYPE T_CONFIG.
    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.
                        SELECTION-CRITERIA                               *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETERS : R2 RADIOBUTTON GROUP G1 USER-COMMAND radio DEFAULT 'X',
                 R1 RADIOBUTTON GROUP G1 .
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-002.
    PARAMETERS:  p_email TYPE somlreci1-receiver
                                      DEFAULT '[email protected]'.
    PARAMETERS : P_VTWEG LIKE W_VBAK-VTWEG ,
                 P_WERKS LIKE W_VBAP-WERKS.
    select-options : s_vkgrp for w_vbak-vkgrp,
                     s_ERDAT for w_LIKP-ERDAT.
    selection-screen end of block b2.
                              Initialization
    INITIALIZATION.
      s_vkgrp-sign = 'I'.
      s_vkgrp-option = 'BT'.
      s_vkgrp-low = '313'.
      s_vkgrp-high = '324'.
      APPEND s_vkgrp.
      s_erdat-sign = 'I'.
      s_erdat-option = 'BT'.
      s_erdat-low = '20080108'.
      s_erdat-high = '20080108'.
    s_erdat-low = '20070101'.
    s_erdat-high = sy-datum.
      APPEND s_erdat.
                      selection-screen validations
    AT SELECTION-SCREEN.
      Validation for Plant.
      IF p_werks NE '7210'.
        MESSAGE : 'Plant entered should be 7210' TYPE 'E'.
      ENDIF.
                   START OF SELECTION                                    *
    start-of-selection.
    GETTING THE DATA FROM THE DATABASE TABLE
      PERFORM DATA_FETCH.
    FILLING THE FINAL INTERNAL TABLE
      PERFORM FILL_FINAL.
    GETTING THE LIST FOR SENDING MAIL OR DISPLAY.
    IF R1 = 'X'.
      Populate table with details to be entered into .xls file
      LOOP AT IT_CUST.
        PERFORM build_xls_data_table using it_cust-kunnr.
      ENDLOOP.
      Instructs mail send program for SAPCONNECT to send email(rsconn01)
        PERFORM initiate_mail_execute_program.
    ELSEIF R2 = 'X'.
      PERFORM LIST_DISPLAY.
    ENDIF.
                   END OF SELECTION                                      *
    end-of-selection.
    *&      Form  DATA_FETCH
          text
    -->  p1        text
    <--  p2        text
    FORM DATA_FETCH .
       SELECT VBELN
              VKGRP
              KUNNR
              ERDAT
              VTWEG
              LIFSK
              VKBUR
       INTO TABLE IT_VBAK
       FROM VBAK
       WHERE VTWEG = P_VTWEG
       AND   VKGRP IN S_VKGRP
       AND   LIFSK NE ''.
    IF IT_VBAK[] IS NOT INITIAL.
      SELECT  LIFSP
              VTEXT
      INTO TABLE IT_TVLST
      FROM TVLST
      FOR ALL ENTRIES IN IT_VBAK
      WHERE  LIFSP = IT_VBAK-LIFSK
      AND    SPRAS = 'EN'.
      SELECT  VBELN
              POSNR
              MATNR
              WERKS
              ARKTX
              KWMENG
              CUOBJ
              NETWR
              ZSCHL_K
              KONDM
              ZZURWN
      INTO TABLE IT_VBAP
      FROM VBAP
      FOR ALL ENTRIES IN IT_VBAK
      WHERE VBELN = IT_VBAK-VBELN
      AND   WERKS = P_WERKS.
      SELECT KUNNR
             NAME1
             ADRNR
      INTO TABLE IT_KNA1
      FROM KNA1
      FOR ALL ENTRIES IN IT_VBAK
      WHERE   KUNNR = IT_VBAK-KUNNR.
      SELECT  VBELN
              POSNR
              BSTKD
              BSTDK
              KURSK
              BZIRK
              KDGRP
      INTO TABLE IT_VBKD
      FROM VBKD
      FOR ALL ENTRIES IN IT_VBAK
      WHERE VBELN = IT_VBAK-VBELN.
    ENDIF.
    IF IT_VBAP[] IS NOT INITIAL.
      SELECT VBELN
             POSNR
             VGBEL
             VGPOS
      INTO TABLE IT_LIPS
      FROM LIPS
      FOR ALL ENTRIES IN IT_VBAP
      WHERE VGBEL = IT_VBAP-VBELN
      AND   VGPOS = IT_VBAP-POSNR.
    ENDIF.
    IF IT_LIPS[] IS NOT INITIAL.
      SELECT VBELN
             ERDAT
      INTO TABLE IT_LIKP
      FROM LIKP
      FOR ALL ENTRIES IN IT_LIPS
      WHERE VBELN = IT_LIPS-VBELN
      AND   ERDAT IN S_ERDAT.
      SELECT VBELN
             POSNR
             KOSTA
             WBSTA
      INTO TABLE IT_VBUP
      FROM VBUP
      FOR ALL ENTRIES IN IT_LIPS
      WHERE VBELN = IT_LIPS-VBELN
      AND   POSNR = IT_LIPS-POSNR
      AND   KOSTA EQ 'C'
      AND   WBSTA NE 'C'.
    ENDIF.
    IF IT_KNA1[] IS NOT INITIAL.
      SELECT ADDRNUMBER
             SMTP_ADDR
      INTO TABLE IT_ADR6
      FROM ADR6
      FOR ALL ENTRIES IN IT_KNA1
      WHERE ADDRNUMBER = IT_KNA1-ADRNR.
    ENDIF.
    ENDFORM.                    " DATA_FETCH
    *&      Form  LIST_DISPLAY
          text
    -->  p1        text
    <--  p2        text
    FORM LIST_DISPLAY .
    REFRESH F_FIELD.
      IF R2 = 'X'.
        W_FIELD-col_pos = 1.
        W_FIELD-fieldname = 'WERKS'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Plant'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 2.
        W_FIELD-fieldname = 'VBELN'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Sales Order'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 3.
        W_FIELD-fieldname = 'KUNNR'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Customer Code'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 4.
        W_FIELD-fieldname = 'NAME1'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Customer Name'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 5.
        W_FIELD-fieldname =  'VBELN1'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Delivery Number'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 6.
        W_FIELD-fieldname = 'ERDAT'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Delivery Date'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 7.
        W_FIELD-fieldname = 'LIFSK'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Delivery Block'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 8.
        W_FIELD-fieldname = 'PUMP_TYPE'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Pump Type'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 9.
        W_FIELD-fieldname = 'PUMP_SIZE'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_l = 'Pump Size'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 10.
        W_FIELD-fieldname = 'ZZURWN'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Pump Srno'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 11.
        W_FIELD-fieldname = 'IHREZ'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Indent No.'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 12.
        W_FIELD-fieldname = 'ERDAT'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Order Booking Dt'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 13.
        W_FIELD-fieldname = 'NETWR'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C710'.
        W_FIELD-seltext_m = 'Net Value'.
        w_field-do_sum = 'X'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 14.
        W_FIELD-fieldname = 'KWMENG'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C710'.
        W_FIELD-seltext_m = 'Qty'.
        w_field-do_sum = 'X'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 15.
        W_FIELD-fieldname = 'BSTKD'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Customer PONO'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 16.
        W_FIELD-fieldname = 'BSTDK'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Customer PODT'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 17.
        W_FIELD-fieldname = 'SALORD'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Sales Order/Item'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 18.
        W_FIELD-fieldname = 'VTEXT'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Delivery Block Desc.'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 19.
        W_FIELD-fieldname = 'FOOTER'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Footer Text'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        W_FIELD-col_pos = 20.
        W_FIELD-fieldname = 'ITMTXT'.
        W_FIELD-tabname = 'IT_FINAL'.
        W_FIELD-emphasize = 'C410'.
        W_FIELD-seltext_m = 'Item Text'.
        APPEND W_FIELD TO F_FIELD.
        CLEAR W_FIELD.
        PERFORM SORT_FIELD.
        PERFORM LAYOUT_DISPLAY.
        PERFORM GRID_DISPLAY.
      ENDIF.
    ENDFORM.                    " LIST_DISPLAY
    *&      Form  FILL_FINAL
          text
    -->  p1        text
    <--  p2        text
    FORM FILL_FINAL .
    REFRESH IT_FINAL.
    LOOP AT IT_VBUP INTO W_VBUP.
        READ TABLE IT_LIPS INTO W_LIPS WITH KEY VBELN = W_VBUP-VBELN POSNR = W_VBUP-POSNR.
        READ TABLE IT_LIKP INTO W_LIKP WITH KEY VBELN = W_LIPS-VBELN.
        IF SY-SUBRC EQ 0.
        READ TABLE IT_VBAP INTO W_VBAP WITH KEY VBELN = W_LIPS-VGBEL POSNR = W_LIPS-VGPOS.
        READ TABLE IT_VBAK INTO W_VBAK WITH KEY VBELN = W_VBAP-VBELN.
        READ TABLE IT_VBKD INTO W_VBKD WITH KEY VBELN = W_VBAK-VBELN.
        READ TABLE IT_KNA1 INTO W_KNA1 WITH KEY KUNNR = W_VBAK-KUNNR.
        READ TABLE IT_TVLST INTO W_TVLST WITH KEY LIFSP = W_VBAK-LIFSK.
          IT_FINAL-WERKS   = W_VBAP-WERKS.
          IT_FINAL-VBELN   = W_VBAP-VBELN.
          IT_FINAL-KUNNR   = W_VBAK-KUNNR.
          IT_FINAL-NAME1   = W_KNA1-NAME1.
          IT_FINAL-VBELN1  = W_LIKP-VBELN.
          IT_FINAL-ERDAT   = W_LIKP-ERDAT.
          IT_FINAL-LIFSK   = W_VBAK-LIFSK.
          IT_FINAL-ZZURWN  = W_VBAP-ZZURWN.
          IT_FINAL-IHREZ   = W_VBKD-IHREZ.
          IT_FINAL-ERDAT1  = W_VBAK-ERDAT.
          IT_FINAL-NETWR   = W_VBAP-NETWR.
          IT_FINAL-BSTKD   = W_VBKD-BSTKD.
          IT_FINAL-BSTDK   = W_VBKD-BSTDK.
          IT_FINAL-POSNR   = W_VBAP-POSNR.
          IT_FINAL-VTEXT   = W_TVLST-VTEXT.
          IT_FINAL-KWMENG  = W_VBAP-KWMENG.
          CONCATENATE W_VBAP-VBELN W_VBAP-POSNR INTO IT_FINAL-SALORD SEPARATED BY '/'.
          IF W_VBAP-CUOBJ NE '000000000000000000'.
            REFRESH IT_CONFIG.
              CALL FUNCTION 'VC_I_GET_CONFIGURATION'
                EXPORTING
                  INSTANCE            = W_VBAP-CUOBJ
                  LANGUAGE            = SY-LANGU
                TABLES
                  CONFIGURATION       = IT_CONFIG
                EXCEPTIONS
                  INSTANCE_NOT_FOUND  = 1
                  INTERNAL_ERROR      = 2
                  NO_CLASS_ALLOCATION = 3
                  INSTANCE_NOT_VALID  = 4
                  OTHERS              = 5.
              IF SY-SUBRC = 0.
                READ TABLE IT_CONFIG INTO W_CONFIG WITH KEY ATNAM = 'IN_PUMP_TYPE'.
                IT_FINAL-PUMP_TYPE = W_CONFIG-ATWRT.
                CLEAR W_CONFIG.
                READ TABLE IT_CONFIG INTO W_CONFIG WITH KEY ATNAM = 'IN_PUMP_SIZE' .
                IT_FINAL-PUMP_SIZE = W_CONFIG-ATWRT.
                CLEAR W_CONFIG.
              ENDIF.
          ENDIF.
            move w_vbap-vbeln to name_text.
            CALL FUNCTION 'READ_TEXT'
              EXPORTING
                id       = 'ZKT1'
                language = 'E'
                name     = name_text
                object   = 'VBBK'
              TABLES
                lines    = tline1
              EXCEPTIONS
                OTHERS   = 8.
          LOOP AT TLINE1.
            CONCATENATE IT_FINAL-FOOTER TLINE1-TDLINE+0(65) INTO IT_FINAL-FOOTER.
            CLEAR : TLINE1.
          ENDLOOP.
          clear : name_text,tline1[].
          concatenate w_vbap-vbeln w_vbap-posnr into name_text.
            CALL FUNCTION 'READ_TEXT'
              EXPORTING
                id       = 'ZKT3'
                language = 'E'
                name     = name_text
                object   = 'VBBP'
              TABLES
                lines    = tline1
              EXCEPTIONS
                OTHERS   = 8.
          LOOP AT TLINE1.
            CONCATENATE IT_FINAL-ITMTXT TLINE1-TDLINE+0(65) INTO IT_FINAL-ITMTXT.
            CLEAR : TLINE1.
          ENDLOOP.
          APPEND IT_FINAL.
        ENDIF.
       CLEAR : IT_FINAL,W_VBAP,W_VBKD,W_VBUP,W_LIPS,W_LIKP,W_KNA1,W_VBAK,W_TVLST,name_text,tline1[].
    ENDLOOP.
    IT_FINAL1[] = IT_FINAL[].
    SORT IT_FINAL1 BY KUNNR.
    LOOP AT IT_FINAL1.
      IF TMP NE IT_FINAL1-KUNNR.
       IT_CUST-KUNNR = IT_FINAL1-KUNNR.
       APPEND IT_CUST.
       clear : tmp,it_cust.
       TMP = IT_FINAL1-KUNNR.
      ENDIF.
      CLEAR : IT_FINAL1.
    ENDLOOP.
    ENDFORM.                    " FILL_FINAL
    *&      Form  LAYOUT_DISPLAY
          text
    -->  p1        text
    <--  p2        text
    FORM LAYOUT_DISPLAY .
      W_LAYOUT-colwidth_optimize = 'X'.
    ENDFORM.                    " LAYOUT_DISPLAY
    *&      Form  GRID_DISPLAY
          text
    -->  p1        text
    <--  p2        text
    FORM GRID_DISPLAY .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
           I_CALLBACK_PROGRAM                = SY-REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
           I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
         IS_LAYOUT                         = W_LAYOUT
         IT_FIELDCAT                       = F_FIELD
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
         IT_SORT                           = T_SORT
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      I_HTML_HEIGHT_TOP                 =
      I_HTML_HEIGHT_END                 =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
          TABLES
            T_OUTTAB                          = IT_FINAL
    EXCEPTIONS
      PROGRAM_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.
    ENDFORM.                    " GRID_DISPLAY
    *&      Form  SORT_FIELD
          text
    -->  p1        text
    <--  p2        text
    FORM SORT_FIELD .
      w_sort-spos = 1.
      w_sort-fieldname = 'KUNNR'.
      w_sort-up = 'X'.
      append w_sort to t_sort.
      clear w_sort.
      w_sort-spos = 2.
      w_sort-fieldname = 'VBELN'.
      w_sort-up = 'X'.
      append w_sort to t_sort.
      clear w_sort.
    ENDFORM.                    " SORT_FIELD
    *&      Form  TOP_OF_PAGE
          text
    FORM top_of_page.
      IF R2 = 'X'.
        REFRESH l_header.
        w_header-typ = 'S'.
        w_header-key = 'Delivery Block : '.
        w_header-info = 'Outbound delivery created but not despatched'.
        APPEND w_header TO l_header.
        CLEAR w_header.
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
          EXPORTING
            it_list_commentary = l_header.
      ENDIF.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  BUILD_XLS_DATA_TABLE
          Build data table for .xls document
    FORM build_xls_data_table using custcode.
    CONSTANTS: con_cret TYPE X VALUE '0D',  "OK for non Unicode
                con_tab TYPE x VALUE '09'.   "OK for non Unicode
    data : it_custcode like vbak-kunnr.
    *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.
    clear : it_attach,it_attach[].
      CONCATENATE 'Customer PONO' 'Customer PODT' 'Sales Order No' 'Item No'
                  'Pump Type' 'Pump Size' 'Order Value Rs' 'Delivery No.' 'Delivery Dt.'
                  'Quantity' 'Reasons for not getting Despatch'
              INTO it_attach SEPARATED BY con_tab.
      CONCATENATE con_cret it_attach  INTO it_attach.
      APPEND  it_attach.
      it_custcode = custcode.
    CLEAR : W_KNA1,W_ADR6.                                             "Code need to be added once testing is over.
    READ TABLE IT_KNA1 INTO W_KNA1 WITH KEY KUNNR = IT_CUSTCODE.
    READ TABLE IT_ADR6 INTO W_ADR6 WITH KEY ADDRNUMBER = W_KNA1-ADRNR.
    P_EMAIL = W_ADR6-SMTP_ADDR.
      LOOP AT it_final where kunnr = it_custcode.
        CONCATENATE
                    IT_FINAL-BSTKD
                    IT_FINAL-BSTDK
                    IT_FINAL-VBELN
                    IT_FINAL-POSNR
                    IT_FINAL-PUMP_TYPE
                    IT_FINAL-PUMP_SIZE
                    IT_FINAL-NETWR
                    IT_FINAL-VBELN1
                    IT_FINAL-ERDAT
                    IT_FINAL-KWMENG
                    IT_FINAL-VTEXT
        INTO it_attach SEPARATED BY con_tab.
        CONCATENATE con_cret it_attach  INTO it_attach.
        APPEND  it_attach.
        clear it_final.
      ENDLOOP.
      if R1 = 'X'.
    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
                                          'AWAITING DESPATCH CLEARANCE'
                                          'XLS'
                                          'Delivery_Block'
                                          'Delivery_Blk'
                                          '[email protected]'
                                          'INT'
                                 changing gd_error
                                          gd_reciever.
      endif.
    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: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
      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,w_cnt.
      DESCRIBE TABLE it_attach LINES w_cnt.
    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
                object_header              = objhead
                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 = 'We have manufactured the pump/s against your purchase order and regret to inform'.
      APPEND it_message.
      it_message = 'you that same cannot be despatched for the reason/s indicated below.'.
      APPEND it_message.
      it_message = ' '.
      APPEND it_message.
      it_message = 'Please find the below attachment "Delivery_Blk.xls" for the details.'.
      APPEND it_message.
      it_message = ' '.
      APPEND it_message.
      it_message = 'We now request you to send the required detail/s by return mail/post to enable us '.
      APPEND it_message.
      it_message = 'to despatch the pump/s at the earliest.'.
      APPEND it_message.
      it_message = ' '.
      APPEND it_message.
      it_message = ' '.
      APPEND it_message.
      it_message = 'Best Regards'.
      APPEND it_message.
      it_message = 'O.E. ENGINEER'.
      APPEND it_message.
    endform.                    " POPULATE_EMAIL_MESSAGE_BODY

    Hi,
    Refer to the following piece of code. This is the simple code to send email with content and attachment.
    Declaration
      DATA:    lwa_hd_change TYPE sood1,
               lt_objcont    TYPE STANDARD TABLE OF soli,
               lwa_objcont   TYPE soli,
               lt_receivers  TYPE STANDARD TABLE OF soos1,
               lwa_receivers TYPE soos1 ,
               lt_att_cont   TYPE STANDARD TABLE OF soli,
               lwa_att_cont  TYPE soli,
               lt_packing    TYPE STANDARD TABLE OF soxpl,
               lwa_packing   TYPE soxpl,
               lf_sent       TYPE sonv-flag,
               lf_size       TYPE i.
      CONSTANTS: lc_obj(11)  TYPE c VALUE 'BOMSouthco',
                 lc_desc(20) TYPE c VALUE 'BOM Download',
                 lc_lang(1)  TYPE c VALUE 'E',
                 lc_raw(3)   TYPE c VALUE 'RAW',
                 lc_net(1)   TYPE c VALUE 'U',
                 lc_mail(4)  TYPE c VALUE 'MAIL',
                 lc_xls(3)   TYPE c VALUE 'XLS',
                 lc_ext(3)   TYPE c VALUE 'EXT'.
    Passing values to the strutures used in SO_OBJECT_SEND function module
      lwa_hd_change-objla      = lc_lang.
      lwa_hd_change-objnam     = lc_obj.
      lwa_hd_change-objdes     = lc_desc.
      lwa_hd_change-objlen     = 255.
      lwa_objcont-line = text-t29.
      APPEND lwa_objcont TO lt_objcont.
      CLEAR lwa_objcont.
      lwa_receivers-recextnam  = text-t31.
      lwa_receivers-recesc     = lc_net.
      lwa_receivers-sndart     = lc_mail.
      lwa_receivers-sndex      = 'X'.
      lwa_receivers-sndpri     = 1.
      lwa_receivers-mailstatus = 'E'.
      APPEND lwa_receivers TO lt_receivers.
      CLEAR lwa_receivers.
      lwa_receivers-recextnam  = text-t30.
      lwa_receivers-recesc     = lc_net.
      lwa_receivers-sndart     = lc_mail.
      lwa_receivers-sndex      = 'X'.
      lwa_receivers-sndpri     = 1.
      lwa_receivers-mailstatus = 'E'.
      APPEND lwa_receivers TO lt_receivers.
      CLEAR lwa_receivers.
    Passing values for the attachment file
      LOOP AT gt_output INTO gwa_output.
        CONCATENATE gf_lf  gwa_output-matnr  gf_etb  gwa_output-idnrk  gf_etb
                    gwa_output-type   gf_etb  gwa_output-menge   gf_etb
                    gwa_output-meins  gf_etb  gwa_output-comp    gf_etb
          INTO lwa_att_cont-line.
        APPEND lwa_att_cont TO lt_att_cont.
        CLEAR lwa_att_cont.
      ENDLOOP.
      CHECK lt_att_cont IS NOT INITIAL.
      DESCRIBE TABLE lt_att_cont LINES lf_size.
      lwa_packing-transf_bin = ' '.
      lwa_packing-head_start = 1.
      lwa_packing-head_num   = 0.
      lwa_packing-body_start = 1.
      lwa_packing-body_num   = lf_size.
      lwa_packing-file_ext   = lc_xls.
      lwa_packing-objlen     = lf_size * 255.
      lwa_packing-objtp      = lc_ext.
      lwa_packing-objdes     = lc_desc.
      lwa_packing-objnam     = lc_obj.
      APPEND lwa_packing TO lt_packing.
      CLEAR lwa_packing.
      CHECK gf_error IS NOT INITIAL. "Check if unix file is written
    FM to send email to the intended recipients
      CALL FUNCTION 'SO_OBJECT_SEND'
        EXPORTING
          object_hd_change           = lwa_hd_change
          object_type                = lc_raw
        IMPORTING
          sent_to_all                = lf_sent
        TABLES
          objcont                    = lt_objcont
          receivers                  = lt_receivers
          packing_list               = lt_packing
          att_cont                   = lt_att_cont
        EXCEPTIONS
          active_user_not_exist      = 1
          communication_failure      = 2
          component_not_available    = 3
          folder_not_exist           = 4
          folder_no_authorization    = 5
          forwarder_not_exist        = 6
          note_not_exist             = 7
          object_not_exist           = 8
          object_not_sent            = 9
          object_no_authorization    = 10
          object_type_not_exist      = 11
          operation_no_authorization = 12
          owner_not_exist            = 13
          parameter_error            = 14
          substitute_not_active      = 15
          substitute_not_defined     = 16
          system_failure             = 17
          too_much_receivers         = 18
          user_not_exist             = 19
          originator_not_exist       = 20
          x_error                    = 21
          OTHERS                     = 22.
      IF sy-subrc = 0.
        MESSAGE s004 WITH text-t34.
      ENDIF.
      COMMIT WORK.
    Reward if helpful.
    Regards,
    Ramya

  • Sending emails from ABAP program

    Hi,
    I need to send error emails from ABAP program.
    I have to pass error internal table as text (not as attachment) in the email.
    Can anybody supply any sample code?
    Thanks in advance.
    Regards,
    Arun Mohan

    HI,
    See if this code helps:
    ***Sending mail to the receipients
    if not it_final[] is initial.
    Populate table with detaisl to be entered into .xls file
    PERFORM BUILD_XLS_DATA_TABLE.
    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
    'Sales Register Report - Set Top Box / Accessories'
    'XLS'
    'SSTB'
    CHANGING GD_ERROR
    GD_RECIEVER.
    Instructs mail send program for SAPCONNECT to send email(rsconn01)
    PERFORM INITIATE_MAIL_EXECUTE_PROGRAM.
    endif.
    *& Form BUILD_XLS_DATA_TABLE
    text
    --> p1 text
    <-- p2 text
    FORM BUILD_XLS_DATA_TABLE .
    data: wa_itab like it_final.
    CONSTANTS:
    CON_TAB TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB,
    CON_CRET TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>CR_LF.
    CONCATENATE 'Business Place' 'Region Code' 'Region' 'Branch Code'
    'Branch' 'Material Desc' 'Area off Code'
    'Area Name' 'Zone code' 'Zone Name' 'Cust No' 'Cust Name'
    'Bill Doc No' 'Bill Date' 'Base Val' 'Total Val' 'Quantity'
    INTO IT_ATTACH SEPARATED BY CON_TAB.
    CONCATENATE CON_CRET IT_ATTACH INTO IT_ATTACH.
    APPEND IT_ATTACH.
    LOOP AT IT_FINAL INTO WA_ITAB.
    CONCATENATE WA_ITAB-BUSINESS_PLACE
    WA_ITAB-KVGR1
    WA_ITAB-REGION
    WA_ITAB-VKBUR
    WA_ITAB-SALES_OFF
    WA_ITAB-ARKTX
    WA_ITAB-vkgrp
    WA_ITAB-sales_grp
    WA_ITAB-bzirk
    WA_ITAB-zone
    WA_ITAB-kunnr
    WA_ITAB-name
    WA_ITAB-vbeln
    WA_ITAB-fkdat
    WA_ITAB-base_value
    WA_ITAB-total_value
    WA_ITAB-fkimg
    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 POPULATE_EMAIL_MESSAGE_BODY
    text
    --> p1 text
    <-- p2 text
    FORM POPULATE_EMAIL_MESSAGE_BODY .
    REFRESH IT_MESSAGE.
    CONCATENATE SY-DATUM6(2) '/' SY-DATUM4(2) '/' SY-DATUM+0(4) INTO G_DATE.
    IT_MESSAGE = 'Please find attached excel sheet.'.
    APPEND IT_MESSAGE.
    IT_MESSAGE = 'Sales Register Report - Set Top Box / Accessories'.
    APPEND IT_MESSAGE.
    Concatenate 'Report generated date' ':' G_Date '.' into IT_MESSAGE.
    APPEND IT_MESSAGE.
    clear it_message.
    append it_message.
    IT_MESSAGE = 'This is an autogenerated mail, please do not reply'.
    APPEND IT_MESSAGE.
    ENDFORM. " POPULATE_EMAIL_MESSAGE_BODY
    *& 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.
    T_PACKING_LIST-OBJ_NAME = 'stb'.
    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-DOC_TYPE = 'XLS'.
    T_PACKING_LIST-OBJ_DESCR = LD_ATTDESCRIPTION.
    T_PACKING_LIST-OBJ_DESCR = 'Sales_STB'.
    T_PACKING_LIST-OBJ_NAME = LD_ATTFILENAME.
    T_PACKING_LIST-OBJ_NAME = 'stb'.
    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.
    LOOP AT IT_RECV.
    T_RECEIVERS-RECEIVER = IT_RECV-EMAIL.
    T_RECEIVERS-REC_TYPE = 'U'.
    T_RECEIVERS-COM_TYPE = 'INT'.
    T_RECEIVERS-COPY = 'X'.
    T_RECEIVERS-NOTIF_DEL = 'X'.
    T_RECEIVERS-NOTIF_NDEL = 'X'.
    APPEND T_RECEIVERS.
    ENDLOOP.
    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
    text
    --> p1 text
    <-- p2 text
    FORM INITIATE_MAIL_EXECUTE_PROGRAM .
    WAIT UP TO 2 SECONDS.
    SUBMIT RSCONN01 WITH MODE = 'INT'
    WITH OUTPUT = ''
    AND RETURN.
    ENDFORM. " INITIATE_MAIL_EXECUTE_PROGRAM
    Regards
    Subramanian

  • I am unable to receive or send email from my IPAD.  The error message says "Connection to server failed".  Help!! geandreamer44

    I am unable to receive or send email from my IPAD.  The error message says "Connection to server failed".  Help!! geandreamer44

    Reset the device:
    Press and hold the Sleep/Wake button and the Home button together for at least ten seconds, until the Apple logo appears.
    If that doesn't help, tap Settings > General > Reset > Reset All Settings
    If that doesn't help, tap Settings > General > Reset > Reset Network Settings
    You will have to re enter your Wi-Fi password.
    If nothing above helped, restart your router.
    No data is lost due to a reset.

  • TS3899 cannot receive or send email from my hotmail account, refuses to verify server. I have changed my password, deleted the account numerous times, any solutions? all on ios 6.

    cannot receive or send email from my hotmail account, refuses to verify server. I have changed my password, deleted the account numerous times, any solutions? all on ios 6. it was working up until a few days ago and now refuses to load on both my ipad 2 and iphone 4S
    in the process deleted all my contact, very annoying.
    all help is much appreciated.
    interesting that my gmail account does work perfectly.

    this may or may not help - but give it a try.  On a forum some were reporting that talk21 is now under the yahoo umbrella.  below are the steps this use listed.  (This was an android forum, but the email settings should be the same.  In short it looks like their server names have changed.  An existing account may have simply been forwarded - but if you are reinstalling, it may want a clean install to the right servers.)  Pay particular attention to the server names and port settings.  (this thread was started based on a discussion of Imap vs pop - you are already an Imap person - so ignore that part)
    See if this helps.
    why settle for pop3, when IMAP works with talk21 and not only does mail get pushed out faster with IMAP, but when you click refresh it will be received faster than pop3.  The other advantage is subfolders are also supported with IMAP but cant be seen with POP3. This mail feature works with my android eclair & hero phone and the settings are exactly the same for win mobiles also (not tested). The mail setting up roadmap is the same from what i can remember once in the mail feature for win mobi. 
    This is what you need to do to setup Talk21 email with IMAP. 
    Incoming server settings
    IMAP server - imap.mail.yahoo.com
    Port - 143
    Security type - none 
    Outgoing Server settings
    SMTP server - smtp.mail.yahoo.com
    Port - 25
    Security type - none Also important note - Enable 'require sign-in'
    and enter your talk21 username and password The End...works a treat for me p.s. Its only taken me 3 years to work it out with win mobile and recently with android. Finally got it to work...hope this helps all the talk21 users out there. if there are any other similar posts out there with no answer...dont forget to mention my name when passing this post around.

  • Adobe Creative Cloud Muse: Why I don't receive anymore the email from the forms I created in several websites?

    Adobe Creative Cloud Muse: Why I don't receive anymore the email from the forms I created in several websites?

    Hello Sanjit,
    thank you for replying.
    I had the problem on this website, I have two forms, one simple and the other more sofisticated:
    www.oeso.org
    (at the bottom I have a simple contact form) and
    I created also a form on www.oeso.org/new-membership.html
    but i didn't receive any reply so
    I put the form on my website (architecturevisualdesign.ch) in a hidden form:
    http://architecturevisualdesign.ch/oeso-new-membership.html
    and here I receive the OESO New Membership Form Submission reply.
    Thank you for your help.
    Best regards,
    Nicole
    2014-09-09 11:17 GMT+02:00 Sanjit_Das <[email protected]>:
    Adobe Creative Cloud Muse: Why I don't receive anymore the email from the forms I created in several websites?
    created by Sanjit_Das in Help with using Adobe Muse CC - View the full discussion
    Please provide the site url in question , also have you hosted the site on Business Catalyst ?
    Emails can land to spam/junk folders so you should also check the folders.
    Thanks,
    Sanjit
    Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at https://forums.adobe.com/message/6713391#6713391
    Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page:
    To unsubscribe from this thread, please visit the message page at . In the Actions box on the right, click the Stop Email Notifications link.
    Start a new discussion in Help with using Adobe Muse CC by email or at Adobe Community
    For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0.

  • Siri says she can't read my email from the iphone5s lock screen when I'm using the standard headphones, but I could do that on 4s. How can I get my 5s to do that?

    Siri says she can't read my email from the iphone5s lock screen when I'm using the standard headphones, but I could do that on 4s. How can I get my 5s to do that?

    Hi Liz,
    Sorry to hear you are having a similar problem.  Last night I went to the tool bar at the top of iphoto, clicked on "File",  then clicked "Browse Backups" in the drop down menu.    I have an external hard drive that is set up to Time Machine.   The Browse Backups  opened the iphoto pages in the Time Machine.  I selected a date one day ahead of the day I performed the now infamous update, and it showed my iphoto library as it had existed that day.   I then clicked  "Restore Library" at the bottom right corner of the Time Machine screen.   Roughly 2 hours later my iphoto was back to normal.   When I opened iphoto there was a message saying I need to upgrade my program to be compatible with the new version of iphoto(version 9.2.1).  I clicked "Upgrade" and within seconds it had done whatever upgrading it needed to do. 
    The only glitch in the restoration was that it restored the library as it appeared last week, so I no longer had photos I had imported this past weekend.   I simply went back to the Browse Backups in the drop down menu,  when Time Machine opened I selected the page showing my pictures from this weekend and again said to Restore Library.   Roughly 45 minutes later the library was restored including the most recent photos.  
    I am now a happy camper. 
    I don't know if any of this will be of help to you because your email says you are having trouble with photos imported after the upgrade was performed.   Have you had any pop up notices when you first open iphoto,  that tell you you need an upgrade to be compatible with the new iphoto?     If so have you clicked "upgrade"? 
    Good luck Liz,  if you have Time Machine running as a back up to your library, maybe you wil be able to get help there, by following my instructions above.   Otherwise,   good luck with your investigations.   I'd be interested in hearing how you make out.
    Karen

  • I have a gmail account and have been able to check my emails on both my PC and iPad. For some strange reasons I am not able to read my emails from my iPad. It says I cannot open another account which is not what I need.Pls help.THANKS!

    Reading my email from my iPad which is no longer allowing me to do. Thanks!

    Hey there palmierl,
    Welcome to Apple Support Communities.
    It sounds like there’s an issue sending and receiving emails from your Gmail account on your iPad. Take a look at the article linked below, the troubleshooting suggestions it provides will likely resolve the issue.
    Gmail account cannot get or send email in iOS - Apple Support
    Cheers,
    -Jason

  • Problem sending email from abap to Outlook

    We have a program that sends an email from ABAP to the SAP Inbox using FM SO_NEW_DOCUMENT_SEND_API1, the email arrives at the SAP Inbox and then it's redirected to Outlook. This works fine in 4.6C
    We just upgraded to ECC 6, the same process does send the email to the SAP Inbox, but it doesn't go to Outlook. In the Recipient list TAB of the email, it appears the following attributes
    Recipeint             email-address     via internet
    Send attribs NONE
    Status Return    Status is never returned. Status mail is only sent to inbox if error occur
    Trans History : Status         Document Sent
                                                Wait for communications service
    The strange thing is that if I'm in the SAP Inbox, and create and email from there, this email does go to the SAP Inbox and Outlook
    Any ideas ?

    Do you have COMMIT_WORK = ABAP_TRUE (or 'X') in your FM call.  I had to make this change for ALL email sends when I migrated from 4.6x to next version.
    In transaction SOST, can you send it from there?  Is your service running constantly or periodically in development (it's usually not)...

  • I received a phishing email from what I thought was my bank.  Do I need to do anything to my MAC for security?

    I received a phishing email from what I thought was my bank.  Do I need to do anything to my MAC for security? I have no anti-virus software.

    Evelyn, there is nothing that can prevent you or anyone from falling victim to those attempts to defraud you – other than you.
    "Phishing" scams are the most common way of getting people to voluntarily supply information that should be kept as secure as any other personal possession. "Anti-virus" solutions can't possibly prevent that sort of fraud, and if anything can only lull you into falsely believing you're being protected from threats, be they real or perceived.
    Do you have any further advice so that I don't fear my Mac?
    There is no reason to fear your Mac; it's a tool to be used for your sole benefit. Like any tool though, it can be misused. If there is any explanation for fear, it's a lack of education. Knowledge conquers fear and renders it inert. Learn what real threats actually exist, how to defend yourself from them, and how to distinguish them from those propagated by fear mongering psychopaths that justify their existence by keeping others misinformed. There are an abundance of the latter.
    There will always be threats to your information security associated with using any Internet - connected communications tool:
    You can mitigate those threats by following commonsense practices
    Delegating that responsibility to software is an ineffective defense
    Assuming that any product will protect you from those threats is a hazardous attitude that is likely to result in neglecting point #1 above.
    OS X already includes everything it needs to protect itself from viruses and malware. Keep it that way with software updates from Apple.
    A much better question is "how should I protect my Mac":
    Never install any product that claims to "clean up", "speed up",  "optimize", "boost" or "accelerate" your Mac; to "wash" it, "tune" it, or to make it "shiny". Those claims are absurd.Such products are very aggressively marketed. They are all scams.
    Never install pirated or "cracked" software, software obtained from dubious websites, or other questionable sources.
    Illegally obtained software is almost certain to contain malware.
    "Questionable sources" include but are not limited to spontaneously appearing web pages or popups, download hosting sites such as C net dot com, Softonic dot com, Soft pedia dot com, Download dot com, Mac Update dot com, or any other site whose revenue is primarily derived from junk product advertisements
    If you need to install software that isn't available from the Mac App Store, obtain it only from legitimate sources authorized by the software's developer.
    Don’t supply your password in response to a popup window requesting it, unless you know what it is and the reason your credentials are required.
    Don’t open email attachments from email addresses that you do not recognize, or click links contained in an email:
    Most of these are scams that direct you to fraudulent sites that attempt to convince you to disclose personal information.
    Such "phishing" attempts are the 21st century equivalent of a social exploit that has existed since the dawn of civilization. Don’t fall for it.
    Apple will never ask you to reveal personal information in an email. If you receive an unexpected email from Apple saying your account will be closed unless you take immediate action, just ignore it. If your iCloud, iTunes, or App Store account becomes disabled for valid reasons, you will know when you try to buy something or log in to this support site, and are unable to.
    Don’t install browser extensions unless you understand their purpose. Go to the Safari menu > Preferences > Extensions. If you see any extensions that you do not recognize or understand, simply click the Uninstall button and they will be gone.
    Don’t install Java unless you are certain that you need it:
    Java, a non-Apple product, is a potential vector for malware. If you are required to use Java, be mindful of that possibility.
    Java can be disabled in System Preferences.
    Despite its name JavaScript is unrelated to Java. No malware can infect your Mac through JavaScript. It’s OK to leave it enabled.
    Beware spontaneous popups: Safari menu > Preferences > Security > check "Block popup windows".
    Popup windows are useful and required for some websites, but unsolicited popups are commonly used to deceive people into installing unwanted software they would never intentionally install.
    Popups themselves cannot infect your Mac, but many contain resource-hungry code that will slow down Internet browsing.
    If you ever receive a popup window indicating that your Mac is infected with some ick or that you won some prize, it is 100% fraudulent. Ignore it. The more insistent it is that you upgrade or install something, the more likely it is to be a scam. Close the window or tab and forget it.
    Ignore hyperventilating popular media outlets that thrive by promoting fear and discord with entertainment products arrogantly presented as "news". Learn what real threats actually exist and how to arm yourself against them:
    The most serious threat to your data security is phishing. Most of these attempts are pathetic and are easily recognized, but that hasn't stopped prominent public figures from recently succumbing to this age-old scam.
    OS X viruses do not exist, but intentionally malicious or poorly written code, created by either nefarious or inept individuals, is nothing new.
    Never install something without first knowing what it is, what it does, how it works, and how to get rid of it when you don’t want it any more.
    If you elect to use "anti-virus" software, familiarize yourself with its limitations and potential to cause adverse effects, and apply the principle immediately preceding this one.
    Most such utilities will only slow down and destabilize your Mac while they look for viruses that do not exist, conveying no benefit whatsoever - other than to make you "feel good" about security, when you should actually be exercising sound judgment, derived from accurate knowledge, based on verifiable facts.
    Do install updates from Apple as they become available. No one knows more about Macs and how to protect them than the company that builds them.
    Summary: Use common sense and caution when you use your Mac, just like you would in any social context. There is no product, utility, or magic talisman that can protect you from all the evils of mankind.

  • Read external mail through ABAP

    Hi All,
    i want read external mail ( say yahoo, gamil etc) through ABAP code with attachments.
    Thanks and regards
    JK

    Hi,
    Reading external email through pure ABAP won't be an easy task as far as I know. Because it needs user login and password authentication. Therefore it would be better to use something like cURL, which is a good tool for simulating a user's actions at a web browser. You can use cURL on a web server with php installed and after reading the emails pass the contents to ABAP.

  • What do I do if I have received a phishing email from HMRC?

    I have received a phishing email from HMRC which I opened. I then deleted it.  Do I need to do anything to remove any potential threat?

    No but if that happans again, "forward" the email to Apple at this address:   [email protected]
    Apple wlll never send you an email asking you to verify your Apple ID.

  • Sending external email from SAP with following requirements...

    Hi All,
           I need to send external emails from SAP by meeting following requirements.
    1) With subject line more than 100 characters.
    2) No attachments, only body which has specific format (blueprint/layout) and would be amended often, hence code shouldn't be touched during amendments.
    3) Should be able to know the success/failure of mail sending at program level.

    Hi,
    The code below demonstrates how to send an email to an external email address
    *& Report  ZSENDEMAIL                                                  *
    *& Example of sending external email via SAPCONNECT                    *
    REPORT  zsendemail                    .
    PARAMETERS: psubject(40) type c default  'Hello',
                p_email(40)   type c default '[email protected]' .
    data:   it_packing_list like sopcklsti1 occurs 0 with header line,
            it_contents like solisti1 occurs 0 with header line,
            it_receivers like somlreci1 occurs 0 with header line,
            it_attachment like solisti1 occurs 0 with header line,
            gd_cnt type i,
            gd_sent_all(1) type c,
            gd_doc_data like sodocchgi1,
            gd_error type sy-subrc.
    data:   it_message type standard table of SOLISTI1 initial size 0
                    with header line.
    *START-OF-SELECTION.
    START-OF-SELECTION.
    Perform populate_message_table.
    *Send email message, although is not sent from SAP until mail send
    *program has been executed(rsconn01)
    PERFORM send_email_message.
    *Instructs mail send program for SAPCONNECT to send email(rsconn01)
    perform initiate_mail_execute_program.
    *&      Form  POPULATE_MESSAGE_TABLE
          Adds text to email text table
    form populate_message_table.
      Append 'Email line 1' to it_message.
      Append 'Email line 2' to it_message.
      Append 'Email line 3' to it_message.
      Append 'Email line 4' to it_message.
    endform.                    " POPULATE_MESSAGE_TABLE
    *&      Form  SEND_EMAIL_MESSAGE
          Send email message
    form send_email_message.
    Fill the document data.
      gd_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      gd_doc_data-obj_langu = sy-langu.
      gd_doc_data-obj_name  = 'SAPRPT'.
      gd_doc_data-obj_descr = psubject.
      gd_doc_data-sensitivty = 'F'.
    Describe the body of the message
      clear it_packing_list.
      refresh it_packing_list.
      it_packing_list-transf_bin = space.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 0.
      it_packing_list-body_start = 1.
      describe table it_message lines it_packing_list-body_num.
      it_packing_list-doc_type = 'RAW'.
      append it_packing_list.
    Add the recipients email address
      clear it_receivers.
      refresh it_receivers.
      it_receivers-receiver = p_email.
      it_receivers-rec_type = 'U'.
      it_receivers-com_type = 'INT'.
      it_receivers-notif_del = 'X'.
      it_receivers-notif_ndel = 'X'.
      append it_receivers.
    Call the FM to post the message to SAPMAIL
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           exporting
                document_data              = gd_doc_data
                put_in_outbox              = 'X'
           importing
                sent_to_all                = gd_sent_all
           tables
                packing_list               = it_packing_list
                contents_txt               = it_message
                receivers                  = it_receivers
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
    Store function module return code
      gd_error = sy-subrc.
    Get it_receivers return code
      loop at it_receivers.
      endloop.
    endform.                    " SEND_EMAIL_MESSAGE
    *&      Form  INITIATE_MAIL_EXECUTE_PROGRAM
          Instructs mail send program for SAPCONNECT to send email.
    form initiate_mail_execute_program.
      wait up to 2 seconds.
      if gd_error eq 0.
          submit rsconn01 with mode = 'INT'
                        with output = 'X'
                        and return.
      endif.
    endform.                    " INITIATE_MAIL_EXECUTE_PROGRAM
    Hope this helps.
    Reward if helpful.
    Regards,
    Sipra

  • I would like to inform you that  i have received today an email from Apple adrees (Warning your account has been limited), Apple in this email requesting me to update my Apple ID information. After i updated that as well and follw up with instructions the

    i would like to inform you that
    i have received today an email from Apple adrees (Warning your account has been limited), Apple in this email requesting me to update my Apple ID information. After i updated that as well and follw up with instructions the massage bellwo was appeared to me(Apple ID doesnot have permission to access iTunes connect)
    I appreciate if you kindly explain this and tell me please if i do something wrong.
    You feedback is high appreciate.

    You have been scammed. Most likely your iTunes account will be hacked. Contact Apple:
    Apple Store Customer Service at 1-800-676-2775 or visit online Help for more information.
    To contact product and tech support: Apple - Support - Contact Apple Support.
    For Mac App Store: Apple - Support - Mac App Store.
    For iTunes: Apple - Support - iTunes.
    BTW. The forums are user forums. You aren't speaking to Apple here.

Maybe you are looking for

  • Exit or BADI for operation in PM

    Hi All, I am searching for a User Exit or BADI to get the changes made  in operation tab of IW32. so that if any changes found I can send a mail to respective person . Thanks in Advance, Abhaya

  • Unicode issue in XI

    Hi Experts, here is my problem. when the non english characters are coming to XI it is replacing them with space. how to avoid this problem? the sender is file adapter and rcv is idoc. due to this, idocs are failing in ECC 6.0. i tried the encoding o

  • Performance of extracting document elements

    I have a container with about 100,000 documents, of which several elements are indexed. When I run a query like this: for $lead in doc('dbxml:leads.dbxml/31308')/als:auto-lead-service return <lead attempts="{$lead/@processing-attempts}"/> the query r

  • Rendering quotation marks in svg on exporting

    On working with illustrator and exporting as svg file, I faced an error that all the text I write between quotation marks is not detected in the svg I get the quotation marks codes only. Why did that happen and how can I fix it?

  • DTMF Isn't Working When a Call is Placed Outbound from UCCX

    I have a script that places an outbound call and when the caller answers the call, I do a get digit string to capture caller input and the DTMF isn't working. The caller is hearing "Are you there?". Here is the call flow: Http Trigger into a script S