Reg sending mail attachment

Hi,
im working on sending report output as mail attachment in pdf format..
but im not getting the required output,,,i.e., even after entering email addresses in the selection screen....im not getting any mail to the respective mail-ids..
im pasting the code..pls fix the problem..
pls let me know wat we have to do in SCOT transaction after executing the program....pls respond ..pls ..
TABLES : t001,                                         "COMPANY CODE
         knb1,                                         "CUSTOMER MASTER(COMPANY CODE)
         cdhdr,                                        "CHANGE DOCUMENT HEADER
         knkk,                                         "CUSTOMER MASTER CREDIT MANAGEMENT: CONTROL AREA DATA
         kna1,                                         "GENERAL DATA IN CUSTOMER MASTER
         adrc,                                         "ADDRESSES (BUSINESS ADDRESS SERVICES)
         t001s,                                        "ACCOUNTING CLERKS
         adrt,                                         "COMMUNICATION DATA TEXT (BUSINESS ADDRESS SERVICES)
         adr6.                                         "E-MAIL ADDRESSES (BUSINESS ADDRESS SERVICES)
TABLES: itcpo,                                         "SAPscript output interface
        itcpp.                                         "SAPscript output parameters
TYPES:   BEGIN OF y_t001,
                  bukrs TYPE bukrs,
                  kkber TYPE kkber,
                  adrnr TYPE adrnr,
         END OF y_t001.
TYPES:   BEGIN OF y_cust,
                  p_objectid TYPE cdobjectv,
         END OF y_cust.
TYPES:   BEGIN OF y_knkk,
                  kunnr TYPE kunnr,
                  kkber TYPE kkber,
                  dtrev TYPE dtrev_cm,
                  nxtrv TYPE nxtrv_cm,
                  klimk TYPE klimk,
                  dbwae TYPE dbwae_cm,
         END OF y_knkk.
TYPES:   BEGIN OF y_customer,
                  kunnr TYPE kunnr,
                  adrnr TYPE adrnr,
         END OF y_customer.
TYPES:   BEGIN OF y_custo ,
                  kunnr TYPE  kunnr,
                  name  TYPE  name1_gp,
                  kkber TYPE kkber,
         END OF y_custo.
TYPES:   BEGIN OF y_knkk1,
                  kunnr LIKE knkk-kunnr,
                  dtrev LIKE knkk-dtrev,
                  nxtrv LIKE knkk-nxtrv,
                  klimk LIKE knkk-klimk,
         END OF y_knkk1.
TYPES:   BEGIN OF y_report_display,
                  kunnr TYPE kunnr,
                  name  TYPE name1_gp,
                  dtrev TYPE dtrev_cm,
                  nxtrv TYPE nxtrv_cm,
                  klimk TYPE klimk,
                  dbwae TYPE dbwae_cm,
         END OF y_report_display.
TYPES:   BEGIN OF y_adrt,
                  addrnumber TYPE adrnr,
                  comm_type  TYPE ad_comm,
                  remark     TYPE ad_remark2,
                  persnumber TYPE ad_persnum,
                  date_from  TYPE ad_date_fr,
                  consnumber TYPE ad_consnum,
                  smtp_addr  TYPE ad_smtpadr,
          END OF y_adrt.
*TYPES : BEGIN OF y_adr6,
                 addrnumber TYPE ad_addrnum,
                 persnumber TYPE ad_persnum,
                 date_from  TYPE ad_date_fr,
                 consnumber TYPE ad_consnum,
                 smtp_addr  TYPE ad_smtpadr,
       END OF y_adr6.
*TYPES:   BEGIN OF y_addr,
                 addrnumber TYPE adrnr,
                 name1  TYPE ad_name1,
                 postcode TYPE ad_pstcd1,
                 city1    TYPE ad_city1,
                 street   TYPE ad_street,
                 housenum TYPE ad_hsnm1,
                 telnum   TYPE ad_tlnmbr1,
                 faxnum   TYPE ad_fxnmbr1,
        END OF y_addr.
TYPES:   BEGIN OF y_custnam,
                  adrnr TYPE adrnr,
                  name2 TYPE ad_name1,
         END OF y_custnam.
TYPES:   BEGIN OF y_kna1,
                  kunnr TYPE kunnr,
                  adrnr TYPE adrnr,
                  name1 TYPE name1,
                 END OF y_kna1.
TYPES:   BEGIN OF y_knb1,
                  kunnr TYPE kunnr,
                  bukrs TYPE bukrs,
                  busab TYPE busab,
         END OF y_knb1.
TYPES:   BEGIN OF y_clv,
                  dtrev TYPE dtrev_cm,
                  nxtrv TYPE nxtrv_cm,
                  klimk TYPE klimk,
         END OF y_clv.
TYPES:    BEGIN OF y_ccname,
                   sname TYPE t001s-sname,
          END OF y_ccname.
*TYPES DECLARATION FOR DESIGING SCRIPT
TYPES : BEGIN OF y_adrc,
           addrnumber LIKE adrc-addrnumber,
           name1 LIKE adrc-name1,
           post_code1 LIKE adrc-post_code1,
           city1 LIKE adrc-city1,
           street LIKE adrc-street,
           house_num1 LIKE adrc-house_num1,
           tel_number LIKE adrc-tel_number,
           nation LIKE adrc-nation ,
           fax_number LIKE adrc-fax_number,
           country LIKE adrc-country,
           END OF y_adrc.
*TO GET C1 (CUSTOMER NAME IN RUSSIAN
TYPES : BEGIN OF y_adrc1,
        addrnumber LIKE adrc-addrnumber,
        name1 LIKE adrc-name1,
        nation LIKE adrc-nation,
        END OF y_adrc1.
*TO GET C7
TYPES :BEGIN OF y_t001s,
        bukrs LIKE t001s-bukrs,    "Company Code
        busab LIKE t001s-busab,
        sname LIKE t001s-sname,
        END OF y_t001s.
CONSTANTS:
c_printer         LIKE itcpp-tddevice VALUE 'PRINTER',
c_true(1)         TYPE c VALUE 'X',
c_1(1)            TYPE n VALUE '1',
c_pdf_format(3)   TYPE c VALUE 'PDF',
c_u               LIKE soos1-recesc   VALUE 'U',
c_recipient_name  LIKE soos1-recnam   VALUE 'U-',
c_english         LIKE sy-langu       VALUE 'E',
c_f               LIKE sood1-objsns   VALUE 'F',
c_int(3)          TYPE c VALUE 'INT',
c_main(4)         TYPE c VALUE 'ITEM',
c_main_window(4)  TYPE c VALUE 'MAIN',
c_header(6)       TYPE c VALUE 'HEADER',
c_minus_sign(1)   TYPE c VALUE '-',
c_document_type   LIKE sood-objtp     VALUE 'EXT',
c_space(1)        TYPE c VALUE ' '.
DATA t_result LIKE itcpp.
DATA :w_t001      TYPE t001,
      w_custo     TYPE y_custo,
      w_knkk      TYPE y_knkk,
      w_cust      TYPE y_cust,
      w_customer  TYPE y_customer,
      w_report_display TYPE y_report_display,
     w_addr      TYPE y_addr,
      w_custnam   TYPE y_custnam,
      w_adrt      TYPE y_adrt,
     w_adr6      TYPE y_adr6,
      w_kna1      TYPE y_kna1,
      w_knb1      TYPE y_knb1,
      w_clv       TYPE y_clv,
      w_ccname    TYPE y_ccname.
DATA:    w_error_found(1)       TYPE c,
         w_key_date_text(30)    TYPE c,
         w_total(10)            TYPE p DECIMALS 2,
         w_htddevice            LIKE itcpp-tddevice.
DATA: E_PROFILE LIKE SOPRD.
DATA:   t_t001            TYPE STANDARD TABLE OF y_t001,
        t_custo           TYPE STANDARD TABLE OF y_custo,
      t_knkk            TYPE STANDARD TABLE OF y_knkk,
        t_cust            TYPE STANDARD TABLE OF y_cust,
        t_customer        TYPE STANDARD TABLE OF y_customer,
        t_report_display  TYPE STANDARD TABLE OF y_report_display,
       t_addr            TYPE STANDARD TABLE OF y_addr,
        t_custnam         TYPE STANDARD TABLE OF y_custnam,
        t_adrt            TYPE STANDARD TABLE OF y_adrt,
       t_adr6            TYPE STANDARD TABLE OF y_adr6,
        t_kna1            TYPE STANDARD TABLE OF y_kna1,
        t_knb1            TYPE STANDARD TABLE OF y_knb1,
        t_clv             TYPE STANDARD TABLE OF y_clv,
        t_ccname          TYPE STANDARD TABLE OF y_ccname.
DATA : number LIKE spell,
       amount(1000) TYPE c.
For storing error log
DATA: BEGIN OF t_error OCCURS 0,
        kunnr LIKE kna1-kunnr,
        comm(30) TYPE c,
      END OF t_error.
For storing customer's email address
DATA: BEGIN OF t_email OCCURS 0,
        smtp_addr LIKE adr6-smtp_addr,
      END OF t_email.
To be used in the function to send a layout via email
DATA: t_otfdata LIKE itcoo OCCURS 0 WITH HEADER LINE,
      t_htline  LIKE tline OCCURS 0 WITH HEADER LINE.
DATA DECLARATIONS FOR DESIGING SCRIPT
DATA : it_t001 TYPE STANDARD TABLE OF y_t001,
       wa_t001 TYPE y_t001.
DATA : it_adrc TYPE STANDARD TABLE OF y_adrc,
        wa_adrc type  y_adrc.
DATA : it_adrc1 TYPE STANDARD TABLE OF y_adrc1,
       wa_adrc1 TYPE y_adrc1.
DATA : it_knb1 TYPE STANDARD TABLE OF y_knb1,
       wa_knb1 TYPE y_knb1.
DATA : it_kna1 TYPE STANDARD TABLE OF y_kna1,
       wa_kna1 TYPE y_kna1.
DATA : it_knkk TYPE STANDARD TABLE OF y_knkk,
       wa_knkk TYPE y_knkk.
DATA : it_knkk1 TYPE STANDARD TABLE OF y_knkk1,
       wa_knkk1 TYPE y_knkk1.
DATA : it_t001s TYPE STANDARD TABLE OF y_t001s,
       wa_t001s TYPE y_t001s.
*DATA STATEMENTS FOR EMAIL ADDRESSES
DATA : it_adrt TYPE TABLE OF y_adrt,
       wa_adrt TYPE y_adrt,
       wa_email LIKE t_email.
*DATA : it_adr6 TYPE TABLE OF y_adr6,
      wa_adr6 TYPE y_adr6,
DATA : counter TYPE i,
       counter1 TYPE i,
       c5 LIKE spell.
SELECTION-SCREEN BEGIN OF BLOCK clcn WITH FRAME TITLE text-200.
SELECTION-SCREEN SKIP.
PARAMETERS:     p_bukrs LIKE t001-bukrs OBLIGATORY,                    "COMPANY CODE
                p_kkber LIKE t001-kkber OBLIGATORY.                    "CREDIT CONTROL AREA
SELECT-OPTIONS: s_kunnr FOR knb1-kunnr OBLIGATORY,                     "CUSTOMER NUMBER
                s_datum FOR sy-datum OBLIGATORY DEFAULT sy-datum.      "DATE OF CREDIT LIMIT UPDATE
SELECTION-SCREEN SKIP.
PARAMETERS : p_simul AS CHECKBOX DEFAULT 'X'.                          "RUN IN SIMULATION MODE
SELECTION-SCREEN SKIP.
PARAMETERS : p_lemail LIKE adr6-smtp_addr.                             " EMAIL
SELECTION-SCREEN END OF BLOCK clcn.
AT SELECTION-SCREEN.
  PERFORM f0100_validate_bukrs.  "*  For Company Code.
  PERFORM f0200_validate_kkber.  "* For Credit Control Area.
  PERFORM f0300_validate_kunnr.  "* For Customer Number
  PERFORM f0400_validate_datum.  "* For Date of Credit Limit Update
  PERFORM f0500_validate_simul.  "* For simulation mode and e-mail address
*======================================================================
START-OF-SELECTION.
  PERFORM f1000_get_customer.          "** COLLECT INFO FOR REPORT DISPLAY
  IF p_simul is initial AND NOT P_lemail IS INITIAL.
    PERFORM F1000_CHECK_GATEWAY_CONNECTION.
  ENDIF.
  IF p_simul IS INITIAL AND  NOT p_lemail IS INITIAL.
    PERFORM f3000_process_data_script USING t_report_display.
  ENDIF.
END-OF-SELECTION.
  IF NOT p_simul IS INITIAL.
    PERFORM f2000_display_customer USING t_report_display.
  ENDIF.
FORM f0100_validate_bukrs.
  DATA : w_bukrs TYPE bukrs.
VALIDATION OF P_BUKRS
  SELECT SINGLE bukrs
                FROM t001
                INTO w_bukrs
                WHERE bukrs EQ p_bukrs.
  IF sy-subrc NE 0.
    MESSAGE e999(zf) WITH 'Invalid Company Code' p_bukrs.   "(E01).
*AUTHORIZATION CHECK
    AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
                        ID 'BUKRS' FIELD p_bukrs
                        ID 'ACTVT' FIELD '03'.
    IF sy-subrc NE 0.
      MESSAGE e999(zf)  WITH 'No Authorization for company code' p_bukrs."(e06).
    ENDIF.
  ENDIF.
ENDFORM.                    " F0100_VALIDATE_BUKRS
*Eject
*&      Form  F0200_VALIDATE_KKBER
     *-> CREDIT CONTROL AREA AUTHORITY CHECK
FOR CREDIT CONTROL AREA.
FORM f0200_validate_kkber.
  DATA : w_kkber LIKE t001-kkber.
  SELECT SINGLE kkber
          FROM t001
          INTO w_kkber
          WHERE bukrs EQ p_bukrs
            AND   kkber EQ p_kkber.
  IF sy-subrc NE 0.
    MESSAGE e999(zf) WITH
   'Credit Control Area' p_kkber 'not defined for Company Code' p_bukrs."(e02).
   MESSAGE e999 WITH text-e02 p_kkber .
  ENDIF.
ENDFORM.                    "F0200_VALIDATE_KKBER
*&      Form  F0300_VALIDATE_KUNNR
     *-> CUSTOMER NUMBER AUTHORITY CHECK
FORM f0300_validate_kunnr.
VALIDATION OF S_KUNNR
  DATA : w_kunnr TYPE kunnr,
         w_bukrs TYPE bukrs.
  IF s_kunnr IS INITIAL .
    MESSAGE e999 WITH 'Enter Customer Number'(e04).
    SUBMIT (sy-cprog) VIA SELECTION-SCREEN.
  ENDIF.
  LOOP AT s_kunnr.
    CLEAR : w_kunnr,
            w_bukrs.
    IF NOT s_kunnr-low IS INITIAL.
      SELECT SINGLE kunnr bukrs
      FROM knb1 INTO (w_kunnr ,w_bukrs)
      WHERE kunnr EQ s_kunnr-low
      AND bukrs EQ p_bukrs.
      IF sy-subrc NE 0.
        MESSAGE e999(zf)  WITH 'Customer S_KUNNR-LOW not defined in company code' p_bukrs."(e03).
      ENDIF.
    ENDIF. "if not s_kunnr-low is initial.
    IF NOT s_kunnr-high IS INITIAL.
      CLEAR : w_kunnr,
              w_bukrs.
      SELECT SINGLE kunnr bukrs
      FROM knb1 INTO (w_kunnr , w_bukrs)
      WHERE kunnr EQ s_kunnr-high
      AND bukrs EQ p_bukrs.
      IF sy-subrc NE 0.
        MESSAGE e999(zf)  WITH 'Customer S_KUNNR-HIGH not defined in company code' p_bukrs."(e03).
      ENDIF.
    ENDIF. "if not s_kunnr-high is initial.
  ENDLOOP. " loop at s_kunnr
ENDFORM.                    " F0200_VALIDATE_KUNNR
*&      Form  F0400_VALIDATE_DATUM
     *-> DATE OF CREDIT LIMIT UPDATE
FORM f0400_validate_datum.
  IF s_kunnr IS INITIAL AND s_datum IS INITIAL.
    MESSAGE e999 WITH 'Enter either Date of CL update or Customer number.'(e04).
  ENDIF.
ENDFORM.                    "F0400_VALIDATE_DATUM
*&      Form  F1000_GET_CUSTOMER
      text
-->  p1        text
<--  p2        text
FORM f1000_get_customer .
  DATA : w_kunnr LIKE knkk-kunnr,
           w_kkber LIKE knkk-kkber.
  IF s_datum IS NOT INITIAL.
    SELECT objectid
           FROM cdhdr
           INTO TABLE t_cust
           WHERE  objectclas IN ('KLIM','DTREV','NXTRV')
           AND  change_ind IN ('U','I')
           AND udate IN s_datum.
          WHERE ( objectclas EQ 'KLIM' OR objectclas EQ 'DTREV' OR  objectclas EQ 'NXTRV')
          AND  ( change_ind EQ 'U' OR change_ind EQ 'I')
          AND udate IN s_datum .
  ENDIF.
  IF sy-subrc NE 0.
    MESSAGE s999 WITH 'There is no data for selected period'(e07).
  ELSE.
    MOVE t_cust TO t_customer.
  ENDIF.
  SORT t_customer BY kunnr.
  IF NOT t_customer[] IS INITIAL.
    SELECT kunnr
           kkber
           dtrev
           nxtrv
           klimk
           dbwae
           FROM knkk
           INTO TABLE t_knkk
           FOR ALL ENTRIES IN t_customer
           WHERE kunnr = t_customer-kunnr
           AND   kkber = p_kkber.
  ELSE.
    MESSAGE e999 WITH text-e07.
  ENDIF.
  IF sy-subrc NE 0.
  ENDIF.
  SORT t_knkk BY kunnr kkber.
  IF NOT t_knkk[] IS INITIAL.
    SELECT   kunnr
             name1
    FROM kna1
    INTO TABLE t_custo
    FOR ALL ENTRIES IN t_knkk
    WHERE kunnr = t_knkk-kunnr.
  ENDIF.
  IF sy-subrc = 0.
  ENDIF.
  SORT t_custo BY kunnr kkber.
  LOOP AT t_custo INTO w_custo.
    CLEAR w_knkk.
    READ TABLE t_knkk INTO w_knkk WITH KEY kunnr = w_custo-kunnr
                                  BINARY SEARCH.
    IF sy-subrc = 0.
      w_report_display-kunnr = w_custo-kunnr.
      w_report_display-name  = w_custo-name.
      w_report_display-dtrev = w_knkk-dtrev.
      w_report_display-nxtrv = w_knkk-nxtrv.
      w_report_display-klimk = w_knkk-klimk.
      w_report_display-dbwae = w_knkk-dbwae.
      APPEND w_report_display TO t_report_display .
    ENDIF.
  ENDLOOP.
ENDFORM.                    " F1000_GET_CUSTOMER
*&      Form  F2000_DISPLAY_CUSTOMER
      text
     -->P_T_REPORT_DISPLAY  text
FORM f2000_display_customer  USING    p_t_report_display.
  DATA: no  TYPE n  VALUE 1.
  DATA: t_data TYPE STANDARD TABLE OF y_report_display.
  t_data = p_t_report_display.
  DATA : w_data LIKE LINE OF t_data .
  ULINE (118).
  WRITE:/ sy-vline,
          8 'CREDIT LIMIT CHANGE NOTIFICATION REPORT ON',
          sy-datum , 118 sy-vline.
  ULINE (118).
  WRITE:/ sy-vline,'NO'(008) ,
        10 sy-vline, 11 'CUSTOMER NUMBER',
        28 sy-vline, 29 'CUSTOMER NAME', 43 sy-vline,
        44 'CREDIT LIMIT VALID', 63 sy-vline ,
        64 'CREDIT LIMIT AMOUNT', 85 sy-vline, 86 'CURRENCY',
        95 sy-vline , 96 'Notification Status',118 sy-vline.
  ULINE (118).
  WRITE:/ sy-vline,43 sy-vline, 44 'FROM', 53 sy-vline,
  56 'TILL', 63 sy-vline, 118 sy-vline .
  ULINE (118).
  LOOP AT t_data INTO w_data.
    WRITE:/ sy-vline, no,
          10 sy-vline, 11 w_data-kunnr ,
          28 sy-vline, 29 w_data-name, 43 sy-vline, 44 w_data-dtrev,
          53 sy-vline, 56 w_data-nxtrv ,63 sy-vline ,64 w_data-klimk,
          85 sy-vline, 86 w_data-dbwae,
          95 sy-vline , 118 sy-vline.
    no = no + 1.
    ULINE (118).
  ENDLOOP.
ENDFORM.                    " F2000_DISPLAY_CUSTOMER
*&      Form  F3000_PROCESS_DATA_SCRIPT
      text
     -->P_T_REPORT_DISPLAY  text
FORM f3000_process_data_script  USING    p_t_report_display.
  DATA: t_data TYPE STANDARD TABLE OF y_report_display.
  t_data = p_t_report_display.
  DATA : w_data LIKE LINE OF t_data .
  DATA: temp_is_negative(1) TYPE c,
           temp_text(20)       TYPE c,
           temp_sname          LIKE t001s-sname,
           temp_email          LIKE adr6-smtp_addr.
  DATA : number LIKE spell,
         amount(255) TYPE c.
  PERFORM f3100_initialize_settings.
  LOOP AT t_data INTO w_data.
    AT NEW kunnr.
      CLEAR w_error_found.
      IF p_simul IS INITIAL AND  NOT p_lemail IS INITIAL.
        PERFORM f3300_open_form.
       data:  wa_t001 like line of t001
        DATA : begin of wa_t001,
               adrnr like t001-adrnr,
               end of wa_t001.
        SELECT SINGLE
               adrnr FROM t001 INTO wa_t001
               WHERE bukrs = p_bukrs.
      DATA: BEGIN OF wa_adrc,
             addrnumber LIKE adrc-addrnumber,
             name1 LIKE adrc-name1,
             post_code1 LIKE adrc-post_code1,
             city1 LIKE adrc-city1,
             street LIKE adrc-street,
             house_num1 LIKE adrc-house_num1,
             tel_number LIKE adrc-tel_number,
             nation LIKE adrc-nation ,
             fax_number LIKE adrc-fax_number,
             country LIKE adrc-country,
           END OF wa_adrc.
   SELECT SINGLE
            addrnumber
            name1
            post_code1
            city1
            street
            house_num1
            tel_number
            nation
            fax_number
            country
            FROM adrc
            INTO corresponding fields of wa_adrc
            WHERE addrnumber EQ wa_t001-adrnr  AND
                  nation EQ ' '.
        PERFORM f3700_write_form.
        DATA: wa_kna1 LIKE LINE OF t_kna1,
              wa_adrcc LIKE LINE OF it_adrc.
        SELECT SINGLE
               kunnr
               adrnr FROM kna1
               INTO  wa_kna1
               WHERE kunnr = w_data-kunnr.
        IF sy-subrc EQ 0.
          SELECT SINGLE
                 addrnumber
                 name1
                 FROM adrc
                 INTO wa_adrcc
                 WHERE addrnumber = wa_kna1-adrnr
                 AND nation = ' '.
        ENDIF.
        PERFORM f3701_write_form.
        DATA : wa_knkk LIKE LINE OF t_knkk.
        DATA : counter TYPE i,
               counter1 TYPE i.
        IF sy-subrc EQ 0.
      SELECT SINGLE KUNNR
             DTREV
             NXTRV
             KLIMK  FROM KNKK INTO WA_KNKK WHERE
             KUNNR EQ W_DATA-KUNNR.
        ENDIF.
        CALL FUNCTION 'SPELL_AMOUNT'
         EXPORTING
           amount          = w_knkk-klimk
   CURRENCY        = ' '
   FILLER          = ' '
           language        = sy-langu
         IMPORTING
           in_words        = number.
        IF sy-subrc <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        amount = number-word.
        PERFORM f3702_write_form.
        DATA: wa_knb1 LIKE LINE OF t_knb1.
        IF sy-subrc EQ 0.
          SELECT SINGLE
                 busab
                 FROM   knb1
                 INTO   wa_knb1
                 WHERE  kunnr = w_data-kunnr
                 AND    bukrs = p_bukrs.
        ENDIF.
        DATA : wa_t001s LIKE LINE OF it_t001s.
        IF sy-subrc EQ 0.
          SELECT SINGLE bukrs
             busab
             sname
             FROM t001s
             INTO wa_t001s
             WHERE bukrs = wa_knb1-bukrs
             AND busab = wa_knb1-busab.
        ENDIF.
        PERFORM f3703_write_form.
        PERFORM f3704_write_form.
        IF counter1 < counter.
          PERFORM f3705_write_form.
        ENDIF.
        PERFORM f3706_close_form.
      ENDIF.
    ENDAT.
    IF w_error_found EQ c_true.
    ENDIF.
    AT END OF kunnr.
PERFORM F3400_WRITE_FORM USING C_TOTAL C_MAIN_WINDOW.
     PERFORM F3500_CLOSE_FORM.
      IF p_simul IS INITIAL AND  NOT p_lemail IS INITIAL.       "Email setting
        PERFORM f3200_get_email_addr USING w_data-kunnr.
        PERFORM f3600_send_data_via_email USING w_data-kunnr.
      ENDIF.
    ENDAT.
  ENDLOOP.
  WRITE:/ ' E-Mail is sent to the customer'.
ENDFORM.                    " F3000_PROCESS_DATA_SCRIPT
*&      Form  F3100_INITIALIZE_SETTINGS
      text
-->  p1        text
<--  p2        text
FORM f3100_initialize_settings .
  SELECT SINGLE spld
        INTO itcpo-tddest
        FROM usr01
        WHERE bname EQ sy-uname.
  IF sy-subrc NE 0.
    itcpo-tddest = 'LOCAL'.
  ENDIF.
  w_htddevice      = c_printer.
  itcpo-tddest = ''.
  itcpo-tdrdidev = ''.
  itcpo-tdsenddate = sy-datum.
  itcpo-tdsendtime = sy-uzeit.
  itcpo-tdschedule = 'IMM'.
  itcpo-tdimmed = ' '.
itcpo-tdnewid    = c_true.            "PRINT: New spool request
  itcpo-tdlifetime = c_1.               "PRINT: Spool retention period
  itcpo-tdgetotf   = c_true.
  IF p_simul IS INITIAL AND  NOT p_lemail IS INITIAL.       "Email setting
    itcpo-tdgetotf     = c_true.
  ENDIF.
ENDFORM.                    " F3100_INITIALIZE_SETTINGS
*&      Form  f0500_validate_simul
      text
-->  p1        text
<--  p2        text
FORM f0500_validate_simul .
  IF p_simul IS INITIAL AND p_lemail IS INITIAL.       "Email setting
   MESSAGE e999(zf) WITH 'Enter Email address'.            "(e05).
  ENDIF.
ENDFORM.                    " f0500_validate_simul
*&      Form  F3600_SEND_DATA_VIA_EMAIL
      text
     -->P_W_DATA_KUNNR  text
FORM f3600_send_data_via_email  USING p_w_data_kunnr.
  DATA:   fle1(2)       TYPE p,
          fle2(2)       TYPE p,
          off1          TYPE p,
          hltlines      TYPE i,
          temp_filesize TYPE i,
          hfeld(500)    TYPE c,
          header(50)   TYPE c,
          htabix        LIKE sy-tabix,
          x_sent_to_all LIKE sonv-flag.
  DATA: BEGIN OF x_objcont OCCURS 0.
          INCLUDE STRUCTURE soli.
          INCLUDE STRUCTURE SOLISTI1.
  DATA: END OF x_objcont.
  DATA: BEGIN OF x_object_hd_change.
          INCLUDE STRUCTURE sood1.
  DATA: END OF x_object_hd_change.
  DATA: BEGIN OF x_receivers OCCURS 0.
          INCLUDE STRUCTURE soos1.
         INCLUDE STRUCTURE SOMLRECI1.
  DATA: END OF x_receivers.
  DATA: BEGIN OF x_objhead OCCURS 1.
          INCLUDE STRUCTURE soli.
  DATA: END OF x_objhead.
**Data: begin of objpack occurs 0.
         include structure SOPCKLSTI1.
**Data: end of objpack.
**Data: begin of email_data occurs 0.
         include structure SODOCCHGI1.
**Data: end of email_data.
Converts the layout set to PDF format
  CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
      format                = c_pdf_format
    IMPORTING
      bin_filesize          = temp_filesize
    TABLES
      otf                   = t_otfdata
      lines                 = t_htline
    EXCEPTIONS
      err_max_linewidth     = 1
      err_format            = 2
      err_conv_not_possible = 3
      OTHERS                = 4.
  IF sy-subrc NE 0.
    w_error_found = c_true.
    t_error-kunnr = p_w_data_kunnr.
    t_error-comm  = 'Error in conversion to PDF format.'(e08).
    APPEND t_error.
    CLEAR t_error.
    EXIT.
  ENDIF.
Convert the PDF file into an internal table which to be used in the
function that will send a PDF file to a email address
  DESCRIBE TABLE t_htline LINES hltlines.
DESCRIBE FIELD T_HTLINE LENGTH FLE1 IN BYTE MODE.
  DESCRIBE FIELD t_htline LENGTH fle1
                              IN CHARACTER MODE.
DESCRIBE FIELD X_OBJCONT LENGTH FLE2 IN BYTE MODE.
  DESCRIBE FIELD x_objcont LENGTH fle2
                               IN CHARACTER MODE.
  CLEAR x_objcont.
  REFRESH x_objcont.
  LOOP AT t_htline.
    htabix = sy-tabix.
    MOVE t_htline TO hfeld+off1.
    IF htabix = hltlines.
      fle1 = STRLEN( t_htline ).
    ENDIF.
    off1 = off1 + fle1.
    IF off1 GE fle2.
      CLEAR x_objcont.
      x_objcont = hfeld(fle2).
      APPEND x_objcont.
      SHIFT hfeld BY fle2 PLACES.
      off1 = off1 - fle2.
    ENDIF.
    IF htabix = hltlines.
      IF off1 GT 0.
        CLEAR x_objcont.
        x_objcont = hfeld(off1).
        APPEND x_objcont.
      ENDIF.
    ENDIF.
  ENDLOOP.
LOOP AT t_email.
   x_receivers-receiver = t_email-smtp_addr.
   x_receivers-rec_type = c_u.
   APPEND x_receivers.
ENDLOOP.
x_receivers-receiver = p_lemail.
x_receivers-rec_type = c_u.
APPEND x_receivers.
DESCRIBE TABLE x_objcont LINES sy-tfill.
READ TABLE x_objcont INDEX sy-tfill.
email_data-doc_size = ( sy-tfill - 1 ) * 255 + STRLEN( x_objcont ).
CLEAR objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = sy-tfill.
objpack-doc_type = 'RAW'.
APPEND objpack.
email_data-obj_descr = 'Notification'.
APPEND email_data.
IF x_receivers[] IS NOT INITIAL.
   CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
     EXPORTING
       document_data = email_data
       put_in_outbox = 'X'
       commit_work   = 'X' "used from rel. 6.10
     TABLES
       packing_list  = objpack
       object_header = email_fname
       contents_bin  = email_text
       contents_txt  = x_objcont
       receivers     = x_receivers.
endif.
  CLEAR x_objhead.
  REFRESH x_objhead.
  CLEAR x_object_hd_change.
  x_object_hd_change-objnam = 'EMAIL'(t04).
  header = 'Procter & Gamble'(t05).
  x_object_hd_change-objdes = header.                         "Title
  x_object_hd_change-objla = c_english.                       "Language
  x_object_hd_change-objsns = c_f.
  x_object_hd_change-objlen = temp_filesize.
  x_object_hd_change-file_ext = c_pdf_format.
Transfer the email address to an internal table which will be used
in the function that will send a PDF file to a email address
  CLEAR x_receivers.
  REFRESH x_receivers.
  LOOP AT t_email.
    x_receivers-sndex = c_true.
    x_receivers-sndpri = c_1.
    x_receivers-recesc = c_u.
    x_receivers-recnam = c_recipient_name.
Populate the email address of the customer
    x_receivers-recextnam = t_email-smtp_addr.
    x_receivers-recesc = c_english.
    x_receivers-sndart = c_int.
    APPEND x_receivers.
  ENDLOOP.
  x_receivers-sndex = c_true.
  x_receivers-sndpri = c_1.
  x_receivers-recesc = c_u.
  x_receivers-recnam = c_recipient_name.
Populate the Local mail address
  x_receivers-recextnam = p_lemail.
  x_receivers-recesc = c_english.
  x_receivers-sndart = c_int.
  APPEND x_receivers.
Calling a SAP function to send out email with attachment of PDF file
  CALL FUNCTION 'SO_OBJECT_SEND'
    EXPORTING
      object_hd_change           = x_object_hd_change
      object_type                = c_document_type
      outbox_flag                = c_true
    IMPORTING
      sent_to_all                = x_sent_to_all
    TABLES
      objcont                    = x_objcont
      objhead                    = x_objhead
      receivers                  = x_receivers
    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
      x_error                    = 20
      OTHERS                     = 21.
  IF sy-subrc NE 0.
    w_error_found = c_true.
    t_error-kunnr = p_w_data_kunnr.
    t_error-comm  = 'Error in sending email.'(e09).
    APPEND t_error.
    CLEAR t_error.
  ELSEIF sy-subrc EQ 0.
    COMMIT WORK.
*Transmit Mail
    SUBMIT rsconn01 WITH mode = c_int
    WITH output = c_space
    AND RETURN.
  ENDIF.
ENDFORM.                    " F3600_SEND_DATA_VIA_EMAIL
*&      Form  F3200_GET_EMAIL_ADDR
      text
     -->P_T_REPORT_DISPLAY  text
FORM f3200_get_email_addr USING p_w_data_kunnr.
  REFRESH t_customer.
  REFRESH t_adrt.
  REFRESH t_email.
  DATA: t_data TYPE STANDARD TABLE OF y_report_display.
t_data = p_t_report_display.
  DATA : w_data LIKE LINE OF t_data .

Sending mail with attachment
This program will allowed you to send email with attachment.
First, specify the attachment file from your local hardisk and execute.
Next, specify the sender email address and click the send button.
report y_cr17_mail.
data method1 like sy-ucomm.
data g_user like soudnamei1.
data g_user_data like soudatai1.
data g_owner like soud-usrnam.
data g_receipients like soos1 occurs 0 with header line.
data g_document like sood4 .
data g_header like sood2.
data g_folmam like sofm2.
data g_objcnt like soli occurs 0 with header line.
data g_objhead like soli occurs 0 with header line.
data g_objpara like selc occurs 0 with header line.
data g_objparb like soop1 occurs 0 with header line.
data g_attachments like sood5 occurs 0 with header line.
data g_references like soxrl occurs 0 with header line.
data g_authority like sofa-usracc.
data g_ref_document like sood4.
data g_new_parent like soodk.
data: begin of g_files occurs 10 ,
text(4096) type c,
end of g_files.
data : fold_number(12) type c,
fold_yr(2) type c,
fold_type(3) type c.
parameters ws_file(4096) type c default 'c:\debugger.txt'.
Can me any file fromyour pc ....either xls or word or ppt etc ...
g_user-sapname = sy-uname.
call function 'SO_USER_READ_API1'
exporting
user = g_user
PREPARE_FOR_FOLDER_ACCESS = ' '
importing
user_data = g_user_data
EXCEPTIONS
USER_NOT_EXIST = 1
PARAMETER_ERROR = 2
X_ERROR = 3
OTHERS = 4
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
fold_type = g_user_data-outboxfol+0(3).
fold_yr = g_user_data-outboxfol+3(2).
fold_number = g_user_data-outboxfol+5(12).
clear g_files.
refresh : g_objcnt,
g_objhead,
g_objpara,
g_objparb,
g_receipients,
g_attachments,
g_references,
g_files.
method1 = 'SAVE'.
g_document-foltp = fold_type.
g_document-folyr = fold_yr.
g_document-folno = fold_number.
g_document-objtp = g_user_data-object_typ.
*g_document-OBJYR = '27'.
*g_document-OBJNO = '000000002365'.
*g_document-OBJNAM = 'MESSAGE'.
g_document-objdes = 'sap-img.com testing by program'.
g_document-folrg = 'O'.
*g_document-okcode = 'CHNG'.
g_document-objlen = '0'.
g_document-file_ext = 'TXT'.
g_header-objdes = 'sap-img.com testing by program'.
g_header-file_ext = 'TXT'.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = sy-uname
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header
FOLMEM_DATA =
RECEIVE_DATA =
File from the pc to send...
method1 = 'ATTCREATEFROMPC'.
g_files-text = ws_file.
append g_files.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = g_owner
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header
method1 = 'SEND'.
g_receipients-recnam = 'MK085'.
g_receipients-recesc = 'B'.
g_receipients-sndex = 'X'.
append g_receipients.
call function 'SO_DOCUMENT_REPOSITORY_MANAGER'
exporting
method = method1
office_user = g_owner
ref_document = g_ref_document
new_parent = g_new_parent
importing
authority = g_authority
tables
objcont = g_objcnt
objhead = g_objhead
objpara = g_objpara
objparb = g_objparb
recipients = g_receipients
attachments = g_attachments
references = g_references
files = g_files
changing
document = g_document
header_data = g_header.
*-- End of Program
also try this one for background scheduling the same
Sending mail with attachment report in Background
Pay attention because it’s working with output list from spool converted to pdf.
=================================================================================
z_send_email_fax_global
FUNCTION-POOL z_gfaian_mail_fax. “MESSAGE-ID ..
WORK TABLE AREAS
TABLES: tsp01.
INTERNAL TABLES
DATA: lt_rec_tab LIKE STANDARD TABLE OF soos1 WITH HEADER LINE,
lt_note_text LIKE STANDARD TABLE OF soli WITH HEADER LINE,
lt_attachments LIKE STANDARD TABLE OF sood5 WITH HEADER LINE.
DATA: lt_objcont LIKE STANDARD TABLE OF soli WITH HEADER LINE,
lt_objhead LIKE STANDARD TABLE OF soli WITH HEADER LINE.
DATA: pdf_format LIKE STANDARD TABLE OF tline WITH HEADER LINE.
TYPES: BEGIN OF y_files,
file(60) TYPE c,
END OF y_files.
DATA: lt_files TYPE STANDARD TABLE OF y_files WITH HEADER LINE.
DATA: l_objcont LIKE soli OCCURS 0 WITH HEADER LINE.
DATA: l_objhead LIKE soli OCCURS 0 WITH HEADER LINE.
STRUCTURES
DATA: folder_id LIKE soodk,
object_id LIKE soodk,
link_folder_id LIKE soodk,
g_document LIKE sood4,
g_header_data LIKE sood2,
g_folmem_data LIKE sofm2,
g_header_data LIKE sood2,
g_receive_data LIKE soos6,
g_ref_document LIKE sood4,
g_new_parent LIKE soodk,
l_folder_id LIKE sofdk,
v_email(50).
DATA: hd_dat like sood1.
VARIABLES
DATA: client LIKE tst01-dclient,
name LIKE tst01-dname,
objtype LIKE rststype-type,
type LIKE rststype-type.
DATA: numbytes TYPE i,
arc_idx LIKE toa_dara,
pdfspoolid LIKE tsp01-rqident,
jobname LIKE tbtcjob-jobname,
jobcount LIKE tbtcjob-jobcount,
is_otf.
DATA: outbox_flag LIKE sonv-flag VALUE ‘X’,
store_flag LIKE sonv-flag,
delete_flag LIKE sonv-flag,
owner LIKE soud-usrnam,
on LIKE sonv-flag VALUE ‘X’,
sent_to_all LIKE sonv-flag,
g_authority LIKE sofa-usracc,
w_objdes LIKE sood4-objdes.
DATA: c_file LIKE rlgrap-filename,
n_spool(6) TYPE n.
DATA: cancel.
DATA: desired_type LIKE sood-objtp,
real_type LIKE sood-objtp,
attach_type LIKE sood-objtp,
otf LIKE sood-objtp VALUE ‘OTF’, ” SAPscript Ausgabeformat
ali LIKE sood-objtp VALUE ‘ALI’. ” ABAP lists
CONSTANTS
CONSTANTS: ou_fol LIKE sofh-folrg VALUE ‘O’,
c_objtp LIKE g_document-objtp VALUE ‘RAW’,
c_file_ext LIKE g_document-file_ext VALUE ‘TXT’.
=================================================================================
z_send_email_fax2
FUNCTION z_faian_mail_fax2.
””Interface local:
*” IMPORTING
*” REFERENCE(SRC_SPOOLID) LIKE TSP01-RQIDENT
*” REFERENCE(FAX_MAIL_NUMBER) TYPE SO_NAME
*” REFERENCE(HEADER_MAIL) TYPE SO_OBJ_DES
*” REFERENCE(OBJECT_TYPE) TYPE SO_ESCAPE
*” TABLES
*” LT_BODY_EMAIL STRUCTURE SOLI
*” EXCEPTIONS
*” ERR_NO_ABAP_SPOOLJOB
Fist part: Verify if the spool really exists
SELECT SINGLE * FROM tsp01 WHERE rqident = src_spoolid.
IF sy-subrc NE 0.
RAISE err_no_abap_spooljob. “doesn’t exist
ELSE.
client = tsp01-rqclient.
name = tsp01-rqo1name.
CALL FUNCTION ‘RSTS_GET_ATTRIBUTES’
EXPORTING
authority = ‘SP01&#8242;
client = client
name = name
part = 1
IMPORTING
type = type
objtype = objtype
EXCEPTIONS
fb_error = 1
fb_rsts_other = 2
no_object = 3
no_permission = 4
OTHERS = 5.
IF objtype(3) = ‘OTF’.
desired_type = otf.
ELSE.
desired_type = ali.
ENDIF.
CALL FUNCTION ‘RSPO_RETURN_SPOOLJOB’
EXPORTING
rqident = src_spoolid
desired_type = desired_type
IMPORTING
real_type = real_type
TABLES
buffer = l_objcont
EXCEPTIONS
no_such_job = 14
type_no_match = 94
job_contains_no_data = 54
no_permission = 21
can_not_access = 21
read_error = 54.
IF sy-subrc EQ 0.
attach_type = real_type.
ENDIF.
CALL FUNCTION ‘SO_FOLDER_ROOT_ID_GET’
EXPORTING
owner = sy-uname
region = ou_fol
IMPORTING
folder_id = l_folder_id
EXCEPTIONS
OTHERS = 5.
fill out informations about the header of the email
CLEAR: g_document.
g_document-foltp = l_folder_id-foltp.
g_document-folyr = l_folder_id-folyr.
g_document-folno = l_folder_id-folno.
g_document-objtp = c_objtp.
g_document-objdes = header_mail.
g_document-file_ext = c_file_ext.
g_header_data-objdes = header_mail.
CALL FUNCTION ‘SO_DOCUMENT_REPOSITORY_MANAGER’
EXPORTING
method = ‘SAVE’
office_user = sy-uname
IMPORTING
authority = g_authority
TABLES
objcont = lt_body_email
attachments = lt_attachments
CHANGING
document = g_document
header_data = g_header_data
EXCEPTIONS
OTHERS = 1.
folder_id-objtp = l_folder_id-foltp.
folder_id-objyr = l_folder_id-folyr.
folder_id-objno = l_folder_id-folno.
object_id-objtp = c_objtp.
object_id-objyr = g_document-objyr.
object_id-objno = g_document-objno.
link_folder_id-objtp = l_folder_id-foltp.
link_folder_id-objyr = l_folder_id-folyr.
link_folder_id-objno = l_folder_id-folno.
REFRESH lt_rec_tab.
CLEAR lt_rec_tab.
lt_rec_tab-sel = ‘X’.
lt_rec_tab-recesc = object_type. “This field for FAX/MAIL
lt_rec_tab-recnam = ‘U-’.
lt_rec_tab-deliver = ‘X’.
lt_rec_tab-not_deli = ‘X’.
lt_rec_tab-read = ‘X’.
lt_rec_tab-mailstatus = ‘E’.
lt_rec_tab-adr_name = fax_mail_number.
lt_rec_tab-sortfield = fax_mail_number.
lt_rec_tab-recextnam = fax_mail_number.
lt_rec_tab-sortclass = ‘5&#8242;.
APPEND lt_rec_tab.
lt_rec_tab-recextnam = fax_mail_number.
lt_rec_tab-recesc = object_type.
lt_rec_tab-sndart = ‘INT’.
lt_rec_tab-sndpri = 1.
APPEND lt_rec_tab.
lt_files-file = c_file.
APPEND lt_files.
begin of insertion by faianf01
hd_dat-objdes = header_mail.
CALL FUNCTION ‘SO_ATTACHMENT_INSERT’
EXPORTING
object_id = object_id
attach_type = attach_type
object_hd_change = hd_dat
owner = sy-uname
TABLES
objcont = l_objcont
objhead = l_objhead
EXCEPTIONS
active_user_not_exist = 35
communication_failure = 71
object_type_not_exist = 17
operation_no_authorization = 21
owner_not_exist = 22
parameter_error = 23
substitute_not_active = 31
substitute_not_defined = 32
system_failure = 72
x_error = 1000.
IF sy-subrc > 0.
ENDIF.
end of insertion by faianf01
send email from SAPOFFICE
CALL FUNCTION ‘SO_OBJECT_SEND’
EXPORTING
folder_id = folder_id
object_id = object_id
outbox_flag = outbox_flag
link_folder_id = link_folder_id
owner = sy-uname
check_send_authority = ‘X’
TABLES
receivers = lt_rec_tab
note_text = lt_note_text
EXCEPTIONS
active_user_not_exist = 35
communication_failure = 71
component_not_available = 1
folder_no_authorization = 5
folder_not_exist = 6
forwarder_not_exist = 8
object_no_authorization = 13
object_not_exist = 14
object_not_sent = 15
operation_no_authorization = 21
owner_not_exist = 22
parameter_error = 23
substitute_not_active = 31
substitute_not_defined = 32
system_failure = 72
too_much_receivers = 73
user_not_exist = 35.
ENDIF.
ENDFUNCTION.
=================================================================================
z_send_email_fax
FUNCTION ZCBFS_SEND_MAIL.
””Interface local:
*” IMPORTING
*” REFERENCE(SRC_SPOOLID) LIKE TSP01-RQIDENT
*” REFERENCE(HEADER_MAIL) TYPE SO_OBJ_DES
*” TABLES
*” LIST_FAX_MAIL_NUMBER STRUCTURE SOLI
*” EXCEPTIONS
*” ERR_NO_ABAP_SPOOLJOB
DATA: vg_achou(1) TYPE n.
Fist part: Verify if the spool really exists
vg_achou = 1.
DO 60 TIMES.
SELECT SINGLE * FROM tsp01 WHERE rqident = src_spoolid.
IF sy-subrc IS INITIAL.
CLEAR vg_achou.
EXIT.
ELSE.
WAIT UP TO 1 SECONDS.
ENDIF.
ENDDO.
IF vg_achou = 1.
RAISE err_no_abap_spooljob. “doesn’t exist
ENDIF.
client = tsp01-rqclient.
name = tsp01-rqo1name.
CALL FUNCTION ‘RSTS_GET_ATTRIBUTES’
EXPORTING
authority = ‘SP01&#8242;
client = client
name = name
part = 1
IMPORTING
type = type
objtype = objtype
EXCEPTIONS
fb_error = 1
fb_rsts_other = 2
no_object = 3
no_permission = 4
OTHERS = 5.
IF objtype(3) = ‘OTF’.
desired_type = otf.
ELSE.
desired_type = ali.
ENDIF.
CALL FUNCTION ‘RSPO_RETURN_SPOOLJOB’
EXPORTING
rqident = src_spoolid
desired_type = desired_type
IMPORTING
real_type = real_type
TABLES
buffer = l_objcont
EXCEPTIONS
no_such_job = 14
type_no_match = 94
job_contains_no_data = 54
no_permission = 21
can_not_access = 21
read_error = 54.
IF sy-subrc EQ 0.
attach_type = real_type.
ENDIF.
CALL FUNCTION ‘SO_FOLDER_ROOT_ID_GET’
EXPORTING
owner = sy-uname
region = ou_fol
IMPORTING
folder_id = l_folder_id
EXCEPTIONS
OTHERS = 5.
fill out informations about the header of the email
CLEAR: g_document.
g_document-foltp = l_folder_id-foltp.
g_document-folyr = l_folder_id-folyr.
g_document-folno = l_folder_id-folno.
g_document-objtp = c_objtp.
g_document-objdes = header_mail.
g_document-file_ext = c_file_ext.
g_header_data-objdes = header_mail.
CALL FUNCTION ‘SO_DOCUMENT_REPOSITORY_MANAGER’
EXPORTING
method = ‘SAVE’
office_user = sy-uname
IMPORTING
authority = g_authority
TABLES
attachments = lt_attachments
CHANGING
document = g_document
header_data = g_header_data
EXCEPTIONS
OTHERS = 1.
folder_id-objtp = l_folder_id-foltp.
folder_id-objyr = l_folder_id-folyr.
folder_id-objno = l_folder_id-folno.
object_id-objtp = c_objtp.
object_id-objyr = g_document-objyr.
object_id-objno = g_document-objno.
link_folder_id-objtp = l_folder_id-foltp.
link_folder_id-objyr = l_folder_id-folyr.
link_folder_id-objno = l_folder_id-folno.
REFRESH lt_rec_tab.
LOOP AT LIST_FAX_MAIL_NUMBER.
lt_rec_tab-recextnam = LIST_FAX_MAIL_NUMBER-LINE.
lt_rec_tab-recesc = ‘U’.
lt_rec_tab-sndart = ‘INT’.
lt_rec_tab-sndpri = 1.
APPEND lt_rec_tab.
ENDLOOP.
lt_files-file = c_file.
APPEND lt_files.
hd_dat-objdes = header_mail.
CALL FUNCTION ‘SO_ATTACHMENT_INSERT’
EXPORTING
object_id = object_id
attach_type = attach_type
object_hd_change = hd_dat
owner = sy-uname
TABLES
objcont = l_objcont
objhead = l_objhead
EXCEPTIONS
active_user_not_exist = 35
communication_failure = 71
object_type_not_exist = 17
operation_no_authorization = 21
owner_not_exist = 22
parameter_error = 23
substitute_not_active = 31
substitute_not_defined = 32
system_failure = 72
x_error = 1000.
IF sy-subrc > 0.
ENDIF.
send email from SAPOFFICE
CALL FUNCTION ‘SO_OBJECT_SEND’
EXPORTING
folder_id = folder_id
object_id = object_id
outbox_flag = outbox_flag
link_folder_id = link_folder_id
owner = sy-uname
TABLES
receivers = lt_rec_tab
note_text = lt_note_text
EXCEPTIONS
active_user_not_exist = 35
communication_failure = 71
component_not_available = 1
folder_no_authorization = 5
folder_not_exist = 6
forwarder_not_exist = 8
object_no_authorization = 13
object_not_exist = 14
object_not_sent = 15
operation_no_authorization = 21
owner_not_exist = 22
parameter_error = 23
substitute_not_active = 31
substitute_not_defined = 32
system_failure = 72
too_much_receivers = 73
user_not_exist = 35.
ENDFUNCTION.
regards,
srinivas
<b>*reward for useful answers*</b>

Similar Messages

  • Mail:send mail:attachment. Is there a simplest way to send a file as an email attachment ? or more correct ?

    <satellite:form  method="post" id="contact-form" enctype="multipart/form-data">
         <input type="file" name="adjunto" />
    </satellite:form>
    FTValList ftListaFichero = new FTValList(1);
    ftListaFichero.setValBLOB(ics.GetVar("adjunto_file"), ics.GetBin("adjunto"));
      <mail:send
           to="<%=to_emailaddress %>"
           from="<%=from_emailaddress%>"
           subject="Subject"
           body="<%=body %>" >
        <mail:attachment value='<%=ftListaFichero.getVal(ics.GetVar("adjunto_file"))%>'/>
      </mail:send>
    http://docs.oracle.com/cd/E29542_01/apirefs.1111/e39371/JSP/mail-attachment.html
    http://docs.oracle.com/cd/E29542_01/apirefs.1111/e39371/JSP/mail-send.html
    Regards,

    Simplest might well be to use javamail API instead of the two tags that Sites provides, e.g. see email - Sending mail attachment using Java - Stack Overflow for a full example.
    Phil

  • Sending mail attachment as XML file

    Hi Experts,
    I have a XML in an ITAB.
    I want to send this data as a mail attachment, any body help, if any one have sample code please send me.
    Thanks,
    Regards
    Venkat

    hi
    chk the sample code
    REPORT ZMAIL_XLS NO STANDARD PAGE HEADING.
    Data for mailing purpose
    DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER
    LINE.
    DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER
    LINE.
    DATA: OBJBIN  LIKE SOLISTI1 OCCURS 10 WITH HEADER
    LINE.
    DATA: OBJTXT  LIKE SOLISTI1 OCCURS 10 WITH HEADER
    LINE.
    DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER
    LINE.
    DATA: DOC_CHNG  LIKE SODOCCHGI1.
    DATA: TAB_LINES LIKE SY-TABIX.
    Data required for preparing XLS type attachment
    DATA: V_TABS     TYPE X VALUE '09',
          V_NEW_LINE TYPE X VALUE '0D'.
    START-OF-SELECTION.
    Prepare data to send
      PERFORM PREPARE_DATA.
    Send mail with XLS attachment
      PERFORM SEND_MAIL.
    *&      Form  send_mail
    form send_mail.
    Creation of the document to be sent
      DOC_CHNG-OBJ_NAME = 'TEST'.
      DOC_CHNG-OBJ_DESCR = 'TEST MAIL WITH XLS
    ATTACHMENT'. "mail subject
      OBJTXT = 'Test mail with XLS attachment'.
      APPEND OBJTXT.
      CLEAR OBJTXT.
      APPEND OBJTXT.
      APPEND OBJTXT.
      OBJTXT = 'Please double click the attachment to
    verify'.
      APPEND OBJTXT.
      DESCRIBE TABLE OBJTXT LINES TAB_LINES.
      READ TABLE OBJTXT INDEX TAB_LINES.
      DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 +
    STRLEN( OBJTXT ).
    Creation of the entry for the compressed document
      CLEAR OBJPACK-TRANSF_BIN.
      OBJPACK-HEAD_START = 1.
      OBJPACK-HEAD_NUM   = 0.
      OBJPACK-BODY_START = 1.
      OBJPACK-BODY_NUM   = TAB_LINES.
      OBJPACK-DOC_TYPE   = 'RAW'.
      APPEND OBJPACK.
      DESCRIBE TABLE OBJBIN LINES TAB_LINES.
      OBJHEAD = 'Sample XLS attachement'. "
      APPEND OBJHEAD.
    Creation of the entry for the compressed attachment
      OBJPACK-TRANSF_BIN = 'X'.
      OBJPACK-HEAD_START = 1.
      OBJPACK-HEAD_NUM   = 1.
      OBJPACK-BODY_START = 1.
      OBJPACK-BODY_NUM   = TAB_LINES.
      OBJPACK-DOC_TYPE   = 'XLS'.
      OBJPACK-OBJ_NAME   = 'TEST'.
      OBJPACK-OBJ_DESCR  = 'Test.XLS'.
      OBJPACK-DOC_SIZE   = TAB_LINES * 255.
      APPEND OBJPACK.
    Completing the recipient list
    For sending mail to Internet Address
    RECLIST-RECEIVER = '[email protected]'.
    RECLIST-REC_TYPE = 'U'.
    For sending mail to SAP user ID
    RECLIST-RECEIVER = 'fing087'.
    RECLIST-REC_TYPE = 'B'.
      APPEND RECLIST.
    Sending the document
           CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
                EXPORTING
                     DOCUMENT_DATA = DOC_CHNG
                     PUT_IN_OUTBOX = 'X'
                TABLES
                     PACKING_LIST  = OBJPACK
                     OBJECT_HEADER = OBJHEAD
                     CONTENTS_BIN  = OBJBIN
                     CONTENTS_TXT  = OBJTXT
                     RECEIVERS     = RECLIST
                EXCEPTIONS
                     TOO_MANY_RECEIVERS         = 1
                     DOCUMENT_NOT_SENT          = 2
                     OPERATION_NO_AUTHORIZATION = 4
                     OTHERS                     = 99.
          CASE SY-SUBRC.
            WHEN 0.
              WRITE  :/ 'MAIL SENT....'.
            WHEN 1.
              WRITE  :/ 'TOO MANY RECEIVERS'.
            WHEN 2.
              WRITE  :/ 'DOCUMENT NOT SENT'.
            WHEN 4.
              WRITE  :/ 'NO SEND AUTHORIZATION'.
            WHEN OTHERS.
              WRITE  :/ 'ERROR OCCURED WHILE SENDING
    MAIL'.
          ENDCASE.
    endform.                    " send_mail
    *&      Form  PREPARE_DATA
    FORM PREPARE_DATA.
      CONCATENATE 'NAME'
                  'ADDRESS'
                  'PHONE'
              INTO OBJBIN-LINE
              SEPARATED BY V_TABS.
      APPEND OBJBIN.
      CLEAR  OBJBIN.
      CONCATENATE  'Hajira'
                   'MIG-2022'
                   '23025487'
                   INTO OBJBIN-LINE SEPARATED BY V_TABS.
      CONCATENATE V_NEW_LINE  OBJBIN-LINE INTO
    OBJBIN-LINE .
      APPEND OBJBIN.
      CLEAR  OBJBIN.
      CONCATENATE  'Faiz'
                   'MIG-2022'
                   '23025487'
                   INTO OBJBIN-LINE SEPARATED BY V_TABS.
      CONCATENATE V_NEW_LINE  OBJBIN-LINE INTO
    OBJBIN-LINE .
      APPEND OBJBIN.
      CLEAR  OBJBIN.
    ENDFORM.                    " PREPARE_DATA
    **reward if helpful
    regards,
    madhumitha

  • Sending mail attachment through PL/SQL, message not showing in mail body

    Dear All,
    I am sending mail with attachment(pdf file) through oracle.
    file is attached and showing.
    problem is,message is not displaying in message body, it's displaying also in file attachment.
    i want to show message in body.
    mime setting is as follow:
    mesg := mesg || 'Mime-Version: 1.0' || crlf ||
    'Content-Type: multipart/mixed; boundary="' || boundary || '"' ||
    crlf || crlf ||
    'This is a Mime message, which your current mail reader may not' || crlf ||
    'understand. Parts of the message will appear as text. If the remainder' || crlf ||
    'appears as random characters in the message body, instead of as' || crlf ||
    'attachments, then you''ll have to extract these parts and decode them' || crlf ||
    'manually.' || crlf || crlf;
    utl_smtp.write_data(conn,mesg);"
    -- Write the text message or message file or message CLOB, if any
    if (message is not null and length(message) > 0) or
    clob_message is not null then
    mesg := '--' || boundary || crlf ||
    'Content-Type: text/plain; name="message.txt"; charset=US-ASCII' ||
    crlf ||
    'Content-Disposition: inline; filename="message.txt"' || crlf ||
    'Content-Transfer-Encoding: 7bit' || crlf || crlf;
    utl_smtp.write_data(conn,mesg);
    if instr(message,'/') = 1 or instr(message,':\') = 2 or
    instr(message,'
    ') = 1 then
    split_path_name(message,directory_path,file_name);
    append_file(directory_path,file_name,'text',conn);
    utl_smtp.write_data(conn,crlf);
    elsif message is not null and length(message) > 0 then
    utl_smtp.write_data(conn,message);
    if length(message) = 1 or
    substr(message,length(message)-1) != crlf then
    utl_smtp.write_data(conn,crlf);
    end if;
    elsif clob_message is not null then
    append_file(null,'message.txt','text/plain',conn,clob_message);
    end if;
    end if;please help

    dear, when i open this auto generated mail into outlook express, then message is showing properly, but in microsoft outlook 2007, it's showing message as text attachment.
    I appreciate any hint...
    thanx.

  • How to send mail attachment excel sheet correctly

    Hi,
    I  am working one program and there the out put should be sent in mail attachment in excel sheet. I have used one Function module SO_DOCUMENT_SEND_API1. I am able to send the output data mail attachment excel sheet. But one problem I am facing that last two lines in excel sheet are shifting one tab right. It should come from from first column itself.
    How to correct this program any one can answer it with some code if possible.
    Waiting for quick response.
    Best Regards,
    BDP

    Hi,
    I  am working one program and there the out put should be sent in mail attachment in excel sheet. I have used one Function module SO_DOCUMENT_SEND_API1. I am able to send the output data mail attachment excel sheet. But one problem I am facing that last two lines in excel sheet are shifting one tab right. It should come from from first column itself.
    How to correct this program any one can answer it with some code if possible.
    Waiting for quick response.
    Best Regards,
    BDP

  • How to send mail attachment

    Hi,
    I want to send email along with attachment. I have tried to install UTL_MAIL packages but dont have its backage body script i.e. %ORACLE_HOME%/RDBMS/ADMIN/PRVTMAIL.SQL file.
    Please help me to guide installation of this package or tell me is there any alternate way.
    Thanks
    Usman Rana
    mail the file at [email protected]

    Hello
    Sending email attachment from oracle I have no idea but you can do that from UNIX.
    a) using MUTT a third party utility on unix will allow attachments in emails.
    b) check the below mentioned script.
    SUBJECT="Send mail from Unix with file attachments"
    TO=junk\@testing.com
    SPOOLFILE=/export/home/oracle/sqlplus.txt
    echo "Produce listing from SQL*Plus..."
    sqlplus -s sri/sri >$SPOOLFILE <<-EOF
    set echo off feed off veri off pages 0 head off
    select * from tab;
    EOF
    # echo "Convert file to DOS mode..."
    # unix2dos $SPOOLFILE $SPOOLFILE 2>/dev/null
    echo "Send the E-mail message..."
    /usr/bin/mailx -s "${SUBJECT}" ${TO} <<-EOF
    Hi,
    This sample E-mail message demonstrates how one can attach
    files when sending messages with the Unix mailx utility.
    First attachment: SQL*Plus spool file
    ~< ! uuencode $SPOOLFILE `basename $SPOOLFILE`
    Second attachment: mailx.ksh (this script)
    ~< ! uuencode mailx.ksh mailx.txt
    Third attachment: /etc/passwd file
    ~< ! uuencode /etc/passwd passwords
    Best regards
    ~.
    EOF
    echo "Done!"
    c) Third option is creating a procedure in oracle which allows you to send emails but with no attachments.
    /* Sending email from oracle database */
    create or replace procedure send_mail
    ( sender      in varchar2,
    recipient in varchar2,
    subject      in varchar2,
    message      in varchar2 ) is
    mailhost varchar2(30) := '192.168.1.100';
    chlr varchar2(2) := chr(13) || chr(10);
    mail_conn utl_smtp.connection;
    mesg varchar2(4000);
    begin
    mail_conn := utl_smtp.open_connection(mailhost, 25);
    mesg:= 'date: ' || to_char( sysdate, 'dd-mon-yyyy hh24:mi:ss' )||chlr||
    'from: <'||sender||'>' || chlr ||
    'subject: '||subject || chlr ||
    'to: '||recipient || chlr ||
    'tablespace report - rpt '|| chlr || message;
    utl_smtp.helo(mail_conn, mailhost);
    utl_smtp.mail(mail_conn, sender);
    utl_smtp.rcpt(mail_conn, recipient);
    utl_smtp.data(mail_conn, mesg);
    utl_smtp.quit(mail_conn);
    exception
         when others then
         raise_application_error(-20002,'unable to send the mail.'||sqlerrm);
    end;
    Hope this helps
    -Sri

  • Reg:Send mails from SAP

    Hi,
      Can anyone please help me out how to rectify this probleum.My issue is i am using  F.M "SO_DOCUMENT_REPOSITORY_MANAGER" for creating attachment and also for sending mails .But i want to send some text to body with signature along with the mail .How can it be done by using the above F.M.

    you use this FM
    objpack-doc_type   = 'TXT'.
    call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        exporting
          document_data              = doc_chng
          put_in_outbox              = 'X'
          commit_work                = 'X'
        tables
          packing_list               = objpack
          object_header              = objhead
          contents_bin               = objbin
          contents_txt               = objtxt
          receivers                  = reclist
        exceptions
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          others                     = 99.

  • Send Mail attachment to one recipient but not to another?

    In Mail 4.5, how do I send an attachment to the main recipient but not to the carbon copy recipient?

    Thanks, Bob. I realized only after I posted (this is my first post ever) that someone had answered my question previously but my search had not revealed the answer. I understand now the limitation of Mail--only one message goes to the outgoing server regardless of number of recipients, and the attachment is part of the message. Thanks again for your help.

  • Reg: Sending Mail Externally  from CCMS

    hi all ,
    1.As Im having issue in CCMS , im not able to send alert to the external user ,  for that what i have to do ...?
    2. more ever , im using the client 001 , where i cant able to configure the SCOT , since its giving the error Address type INT invalid. im not fullfill that . is it possible to point user in another client eg 800. if so ill it work. i have done with SU01 in 001 client . give me the detailed process of sending mail , using externally in CCMS alert.
    kindly help with this

    hi all ,
    1.As Im having issue in CCMS , im not able to send alert to the external user ,  for that what i have to do ...?
    2. more ever , im using the client 001 , where i cant able to configure the SCOT , since its giving the error Address type INT invalid. im not fullfill that . is it possible to point user in another client eg 800. if so ill it work. i have done with SU01 in 001 client . give me the detailed process of sending mail , using externally in CCMS alert.
    kindly help with this

  • Reg : Sending mails from PL/SQL

    Hello,
    I've written the following code for sending mails from PL/SQL.
    But the application gets hanged during compilation itself. Could
    any of u please tell me why it's happening and what is wrong in
    this and suggest me how to do it ??????
    CREATE OR REPLACE PROCEDURE SEND_MAIL
    IS
    msg_from varchar2(50) := '[email protected]';
    msg_to varchar2(50) := '[email protected]';
    msg_subject varchar2(100) := 'E-Mail message from your database';
    msg_text varchar2(1000) := '';
    c utl_tcp.connection;
    rc integer;
    BEGIN
    c := utl_tcp.open_connection('172.16.48.1', 80); -- open the
    SMTP
    dbms_output.put_line(utl_tcp.get_line(c, TRUE));
    rc := utl_tcp.write_line(c, 'HELO localhost');
    dbms_output.put_line(utl_tcp.get_line(c, TRUE));
    rc := utl_tcp.write_line(c, 'MAIL FROM: '||msg_from);
    dbms_output.put_line(utl_tcp.get_line(c, TRUE));
    rc := utl_tcp.write_line(c, 'RCPT TO: '||msg_to);
    dbms_output.put_line(utl_tcp.get_line(c, TRUE));
    rc := utl_tcp.write_line(c, 'DATA'); -- Start message body
    dbms_output.put_line(utl_tcp.get_line(c, TRUE));
    rc := utl_tcp.write_line(c, 'Subject: '||msg_subject);
    rc := utl_tcp.write_line(c, '');
    rc := utl_tcp.write_line(c, msg_text);
    rc := utl_tcp.write_line(c, '.'); -- End of message body
    dbms_output.put_line(utl_tcp.get_line(c, TRUE));
    rc := utl_tcp.write_line(c, 'QUIT');
    dbms_output.put_line(utl_tcp.get_line(c, TRUE));
    utl_tcp.close_connection(c); -- Close the connection
    EXCEPTION
    when others then
    raise_application_error(-20000,'Unable to send e-mail message
    from pl/sql');
    END;
    Awaiting for ur reply,
    Thanks in Advance...
    Srinivas

    FUNCTION Send_Mail ( sender IN VARCHAR2
         , recipient IN VARCHAR2
         , subject IN VARCHAR2
         , message IN VARCHAR2)
         RETURN BOOLEAN IS
         lv_mailhost VARCHAR2(30) := 'mailserver';
         l_mail_conn utl_smtp.connection;
         lv_crlf VARCHAR2(2):= CHR( 13 ) || CHR( 10 );
    BEGIN
         l_mail_conn := utl_smtp.open_connection ( lv_mailhost
              , 25);
         utl_smtp.helo ( l_mail_conn
                        , lv_mailhost);
         utl_smtp.mail ( l_mail_conn
                        , sender);
         utl_smtp.rcpt ( l_mail_conn
                        , recipient);
         utl_smtp.open_data (l_mail_conn);
         utl_smtp.write_data ( l_mail_conn
                                  , 'From: '
                                  || sender
                                  || lv_crlf);
         utl_smtp.write_data ( l_mail_conn
                                  , 'To: '
                                  || recipient
                                  || lv_crlf);
         utl_smtp.write_raw_data ( l_mail_conn
    utl_raw.cast_to_raw ( 'Subject:'
                        || subject
                        || lv_crlf));
         utl_smtp.write_raw_data ( l_mail_conn
    utl_raw.cast_to_raw ( lv_crlf
                        || message));
    utl_smtp.close_data(l_mail_conn);
         utl_smtp.quit(l_mail_conn);
         RETURN TRUE;
    EXCEPTION
         WHEN OTHERS
         THEN
              RETURN FALSE;
    END;

  • Reg sending Mail with PDF attachment

    Hi All,
              Am converting smartforms(Purchase Order Me23N) to pdf then am attaching pdf in mail,mail is going with attachment to specific id but when i try to open PDF file am getting an Error PDF File is Corrupted.
    Am using these FM :CONVERT_OTF(To convert from smartforms to PDF) , SO_NEW_DOCUMENT_ATT_SEND_API1(For pdf attachment).
    Please Help with ur suggestions.
    Regards,
    vinoth.

    Please post the same in Workflow forum for more inputs. are you using interactive forms.

  • Sending mail attachment with long filename in 4.6C

    Hi everyone,
    Our requirement needs to have a custom program to send a mail with a pdf attachment, which we have managed to work so far.  The problem is that the filename is 37characters long, which is absolutely necessary.  For example, my pdf filename can be
    072346843023332201_20100720_120101.pdf
    In the function that we used, SO_NEW_DOCUMENT_ATT_SEND_API1, the field where the filename is stored (field SOPCKLSTI1-OBJ_NAME) is only 12 characters long.  This poses a problem when we try to attach the pdf file. 
    So my question is if there is an alternative function module or way that we can attach the pdf with the file name still complete?  The SAP version that we are using is 4.6C.
    Thanks in advance.

    helllllllllooooooooooooooooooooooooo
    anybody
    Sara

  • IWork not sending mail attachment

    Since downloading Maverick my "share mail" does not work. It says IWork encountered an error while attempting to create the attachment data.
    I then attached it as a word doc to my email, sent it but the recipitant said was a blank page!! yet I could open it. Didn't have a problem with it before. Can anyone please advise. Have read lots of discussion and believe that IWork have since removed this service? Is this the case.

    This was happening to me too and then I kept poking around to find that when you upgrade to the new Pages, Keynote, and Numbers it doesn't delete the old versions so I was attempting to email documents while using iWork '09. To solve this problem I quit all of my iWork programs and removed all of the iWork '09 from my dock (where I usually go to open the program) and then put the newer iWork versions on the dock. I opened those programs, and the files I tried to email with them and had no problems sending them.

  • Reg: Sending mail

    Dear experts,
                   I have to send a mail from program. i have coded as below. some error is coming. so, If anybody know pls. help on this.
    data : out like obj_record,
             outmail like obj_record,
             atts like obj_record.
      data : zz_string like W3QUERY occurs 0 with header line,
             zz_text(100) type c,
             zz_body(1020) type c,
             zz_contents(1020) type c.
      zz_text = 'Click on the Link Below to see the Product Details'.
      concatenate zz_text  zz_url into zz_body.
      concatenate 'Please Check the Link for Product - ' zz_product_desc
    into zz_contents.
      CREATE OBJECT OUT 'Outlook.Application'.
      CALL METHOD OF OUT 'CREATEITEM' = OUTMAIL
        EXPORTING
          #1 = 0.
      SET PROPERTY OF OUTMAIL 'TO' =  zz_email_id.
    SET PROPERTY OF OUTMAIL 'CC' = '[email protected]' .
      SET PROPERTY OF OUTMAIL 'SUBJECT'
                                  = zz_contents .
      SET PROPERTY OF outmail 'BODY'
                           = ZZ_URL .
      CALL METHOD OF OUTMAIL 'SEND'.
      FREE OBJECT OUT.

    What is the error, my sample work fine (just a warning in outlook for security reaseon,  asking to allow the call)
    REPORT z_outlook_sendmail.
    DATA : outlook LIKE obj_record,
           outmail LIKE obj_record.
    CREATE OBJECT outlook 'Outlook.Application'.
    CALL METHOD OF outlook 'CREATEITEM' = outmail EXPORTING #1 = 0.
    SET PROPERTY OF outmail 'TO' = 'name@domain'.
    SET PROPERTY OF outmail 'SUBJECT' = 'Subject'.
    SET PROPERTY OF outmail 'BODY' = 'Body'.
    CALL METHOD OF outmail 'SEND'.
    FREE OBJECT outlook.
    will not work in batch of course
    regards

  • Reg :send mail notification

    Hi all
    i have bit new scenario with me can any one please guide me how to come out of this issue .
    In the manpower requisition process on the portal, we need to make the
    following change:
    - Add a notification mail to Head HR whenever there is new requisition
    that is approved by BU head and the subsequent actions made to the
    requisition
    - Report to be generated on a periodic basis on the open positions and
    the status to the Head HR .
    Thanks & Regards
    Deepika
    Edited by: deepika_indian on Jul 14, 2011 9:13 AM
    Edited by: deepika_indian on Jul 14, 2011 9:40 AM

    Hi Deepika,
    - Add a notification mail to Head HR whenever there is new requisition
    that is approved by BU head and the subsequent actions made to the
    requisition.
    --->>>> You can achieve this from  the E-recruitment  Workflow,
    ask your workflow team ,they will help you in this.
    - Report to be generated on a periodic basis on the open positions and
    the status to the Head HR .
    ------->>> This you can not do from E-recruitment package you will have to go to
    the Custom Development.
      If you have implemented MSS then there we have such kinds of reports.
    Regards,
    Piyush

Maybe you are looking for

  • PC Crashed-How do I get my music from my iPhone back onto PC?

    My PC crashed a few weeks ago. I have had it reformatted and have reinstalled itunes. When I hook up my iPhone and choose "transfer purchases from Amanda's iPhone" it only pulls over a few random songs (and I have purchased many, many more). How do I

  • Steps to reducing time for loading of data

    Hi Could any one tell me how to reduce the time for loading of records into a particular cube or Ods. For ex: iam loading some 1 lac records.It was taking for me some 5 hrs. I want to reduce the time to 3hrs or 4hrs.What are the very first steps to b

  • How do i add a login window when i turn on my computer?

    when i log out of my account ofcourse it goes to the login window but when i turn the computer on again another time it just logs into my account without even asking for a password so please reply

  • Using Animation in WebHelp or FlashHelp

    I am being asked to create animation of screenshots in several online help systems. I have very little experience with Flash; I've seen Captivate and like it. Can someone suggest approaches to creating animation (I'm in WebHelp currently), and sugges

  • SQL Query for take values on excle sheet

     i have the query `select EmpId,AttenDate,status from dbo.Attendance` it will give me this 1500011 2014-09-01 00:00:00.000 A 1500011 2014-09-02 00:00:00.000 A 1500011 2014-09-03 00:00:00.000 A 1500011 2014-09-04 00:00:00.000 A 1500011 2014-09-05 00:0