Reg : Sending Script output to email

Hi,
I need to send script output to email.I have written the code for this functionality.
Functional guy has created output type ,but that output type is red in clor and when I click process log " it says Parameter DEVICE= is invalid "
Is there anything to be done from abap point for this error.
Actually I used these 2 fun.modules
DATA: LVF_DEVICE LIKE ITCPP-TDDEVICE.
DATA: LVS_ITCPO TYPE ITCPO,
LVF_DIALOG(1) TYPE C VALUE ' ',
LVS_RECIPIENT LIKE SWOTOBJID,
LVS_SENDER LIKE SWOTOBJID,
LVS_SNAST TYPE SNAST,
LVF_PROGRAM LIKE SY-REPID,
LVS_COMM_TYPE TYPE AD_COMM,
LVS_COMM_VALUES TYPE SZADR_COMM_VALUES.
DATA:
W_DEPT LIKE KNVK-ABTNR, "Department
W_PRSNR LIKE KNVK-PRSNR. "Person number
reset return code
RETCODE = 0.
IF NOT NAST-TCODE IS INITIAL AND NAST-NACHA EQ '5'.
SELECT SINGLE * FROM USR21 WHERE BNAME = SY-UNAME.
CALL FUNCTION 'ADDR_GET_NEXT_COMM_TYPE'
EXPORTING
strategy = nast-tcode
address_number = Kna1-adrnr
IMPORTING
comm_type = lvs_comm_type
comm_values = lvs_comm_values
TABLES
STRATEGY_TABLE =
EXCEPTIONS
address_not_exist = 1
person_not_exist = 2
no_comm_type_found = 3
internal_error = 4
parameter_error = 5
OTHERS = 6.
convert communication data
Always INT
LVS_COMM_TYPE = 'INT'.
clear LVS_COMM_VALUES-ADSMTP-SMTP_ADDR.
Get Contact persons number from KNVK
SELECT SINGLE * FROM KNVK WHERE KUNNR EQ NAST-PARNR
AND ABTNR EQ W_DEPT.
Get it from ADR6 table always
Select single * from adr6 where addrnumber = kna1-adrnr
AND PERSNUMBER = KNVK-PRSNR.
IF SY-SUBRC EQ 0 AND adr6-Smtp_addr NE ' '.
LVS_COMM_VALUES-ADSMTP-SMTP_ADDR = adr6-Smtp_addr.
ENDIF.
ENDIF.
MOVE-CORRESPONDING nast TO LVS_SNAST .
MOVE sy-repid TO LVF_PROGRAM.
CALL FUNCTION 'CONVERT_COMM_TYPE_DATA'
EXPORTING
pi_comm_type = lvs_comm_type
pi_comm_values = lvs_comm_values
pi_country = kna1-land1
pi_repid = LVF_PROGRAM
pi_snast = LVS_SNAST
IMPORTING
pe_itcpo = lvs_itcpo
pe_device = lvf_device
pe_mail_recipient = lvs_recipient
pe_mail_sender = lvs_sender
EXCEPTIONS
comm_type_not_supported = 1
recipient_creation_failed = 2
sender_creation_failed = 3
OTHERS = 4.
fill structure itcpo
ITCPO = LVS_ITCPO.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX = TOA_DARA
ARCHIVE_PARAMS = ARC_PARAMS
DEVICE = LVF_DEVICE
DIALOG = ' '
FORM = TNAPR-FONAM
LANGUAGE = NAST-SPRAS
OPTIONS = LVS_ITCPO
MAIL_SENDER = LVS_SENDER
MAIL_RECIPIENT = LVS_RECIPIENT
MAIL_APPL_OBJECT = ' '
RAW_DATA_INTERFACE = '*'
IMPORTING
LANGUAGE =
NEW_ARCHIVE_PARAMS =
RESULT =
EXCEPTIONS
CANCELED = 1
DEVICE = 2
FORM = 3
OPTIONS = 4
UNCLOSED = 5
MAIL_OPTIONS = 6
ARCHIVE_ERROR = 7
OTHERS = 8.
IF SY-SUBRC NE 0.
CASE SY-SUBRC.
WHEN 7.
RETCODE = SY-SUBRC.
SYST-MSGID = 'VN'.
SYST-MSGNO = '096'.
SYST-MSGTY = 'E'.
SYST-MSGV1 = NAST-KSCHL.
SYST-MSGV2 = NAST-KAPPL.
PERFORM PROTOCOL_UPDATE.
WHEN OTHERS.
RETCODE = SY-SUBRC.
PERFORM PROTOCOL_UPDATE.
ENDCASE.
ENDIF.
and one more query is :
I want to know weather
"Are there any settings need to be done by BASIS people."
If Anyone has any idea plz reply.

Hi
Use the below peace of code,I was used to send sales order confirmation script output as email.
Change History
Programmer   Date     Change Request Description
FKHURRAM     9/16/02  DU1K920151     Upgrade changes.
                                     Use ADRC for Address Data
             Print of an order confirmation by SAPscript
REPORT rvador01 LINE-COUNT 100 MESSAGE-ID vn.
TABLES: komk,                          "Communicationarea for conditions
        komp,                          "Communicationarea for conditions
        komvd,                         "Communicationarea for conditions
        vbco3,                         "Communicationarea for view
        vbdka,                         "Headerview
        vbdpa,                         "Itemview
        vbdpau,                        "Subitemnumbers
        conf_out,                      "Configuration data
        sadr,                          "Addresses
        tvag,                          "Reason for rejection
        vedka,                         "Servicecontract head data
        vedpa,                         "Servicecontract position data
        vedkn,                         "Servicecontract head notice data
        vedpn,                         "Servicecontract pos. notice data
        vbpa,                          "Sales Document: Partner
        kna1,                          "General Data in Customer Master
        riserls,                       "Serialnumbers
        komser,                        "Serialnumbers for print
        tvbur,                         "Sales office
        tvko,                          "Sales organisation
        adrs,                          "Communicationarea for Address
        fpltdr.                        "billing schedules
INCLUDE yzrvadtabl.
*INCLUDE RVADTABL.
INCLUDE yzrvdirekt.
*INCLUDE RVDIREKT.
INCLUDE yzvedadata.
*INCLUDE VEDADATA.
DATA: retcode   LIKE sy-subrc.         "Returncode
DATA: repeat(1) TYPE c.
DATA: xscreen(1) TYPE c.               "Output on printer or screen
DATA: BEGIN OF steu,                   "Controldata for output
        vdkex(1) TYPE c,
        vdpex(1) TYPE c,
        kbkex(1) TYPE c,
        kbpex(1) TYPE c,
      END OF steu.
DATA: BEGIN OF tvbdpa OCCURS 0.        "Internal table for items
        INCLUDE STRUCTURE vbdpa.
DATA: END OF tvbdpa.
DATA: BEGIN OF tkomv OCCURS 50.
        INCLUDE STRUCTURE komv.
DATA: END OF tkomv.
DATA: BEGIN OF tkomvd OCCURS 50.
        INCLUDE STRUCTURE komvd.
DATA: END OF tkomvd.
DATA: BEGIN OF tvbdpau OCCURS 5.
        INCLUDE STRUCTURE vbdpau.
DATA: END   OF tvbdpau.
DATA: BEGIN OF tkomcon OCCURS 50.
        INCLUDE STRUCTURE conf_out.
DATA: END   OF tkomcon.
DATA: BEGIN OF tkomservh OCCURS 1.
        INCLUDE STRUCTURE vedka.
DATA: END   OF tkomservh.
DATA: BEGIN OF tkomservp OCCURS 5.
        INCLUDE STRUCTURE vedpa.
DATA: END   OF tkomservp.
DATA: BEGIN OF tkomservhn OCCURS 5.
        INCLUDE STRUCTURE vedkn.
DATA: END   OF tkomservhn.
DATA: BEGIN OF tkomservpn OCCURS 5.
        INCLUDE STRUCTURE vedpn.
DATA: END   OF tkomservpn.
DATA: BEGIN OF tkomser OCCURS 5.
        INCLUDE STRUCTURE riserls.
DATA: END   OF tkomser.
DATA: BEGIN OF tkomser_print OCCURS 5.
        INCLUDE STRUCTURE komser.
DATA: END   OF tkomser_print.
DATA: BEGIN OF tfpltdr OCCURS 5.
        INCLUDE STRUCTURE fpltdr.
DATA: END   OF tfpltdr.
DATA: pr_kappl(01)   TYPE c VALUE 'V'. "Application for pricing
DATA: BEGIN OF char_val OCCURS 0,
        atnam LIKE cabn-atnam,
        atwrt LIKE ausp-atwrt,
      END OF char_val.
FORM entry USING return_code us_screen.
  CLEAR retcode.
  xscreen = us_screen.
  PERFORM processing.
  IF retcode NE 0.
    return_code = 1.
  ELSE.
    return_code = 0.
  ENDIF.
ENDFORM.                    "ENTRY
      FORM PROCESSING                                               *
FORM processing.
  PERFORM get_data.
  CHECK retcode = 0.
  PERFORM form_open USING xscreen vbdka-land1.
  CHECK retcode = 0.
  PERFORM logo_selection.
  PERFORM form_title_print.
  CHECK retcode = 0.
  PERFORM write_header_info.
  PERFORM validity_print.
  CHECK retcode = 0.
  PERFORM header_data_print.
  CHECK retcode = 0.
  PERFORM header_serv_print.
  CHECK retcode = 0.
  PERFORM header_notice_print.
  CHECK retcode = 0.
  PERFORM header_inter_print.
  CHECK retcode = 0.
  PERFORM header_text_print.
  CHECK retcode = 0.
  PERFORM item_print.
  CHECK retcode = 0.
  PERFORM end_print.
  CHECK retcode = 0.
  PERFORM form_close.
  CHECK retcode = 0.
*********************changes on 12/04/2007****************
  TABLES: tsp01.
  TYPES: BEGIN OF t_spool,
         rqident TYPE tsp01-rqident,
        END OF t_spool.
  DATA: i_spool TYPE STANDARD TABLE OF t_spool,
        wa_spool TYPE t_spool.
  SELECT  rqident FROM tsp01
  INTO TABLE i_spool
WHERE rqowner = sy-uname.
  SORT i_spool DESCENDING BY rqident.
  LOOP AT i_spool INTO wa_spool.
  ENDLOOP.
data: l_rqident type tsp01-rqident.
SELECT SINGLE rqident FROM tsp01 INTO l_rqident
WHERE rqowner = sy-uname.
DATA: l_spoolno LIKE tsp01-rqident VALUE '0000024884'.
  TYPES: l_ty_tab_pdf TYPE tline OCCURS 0.
  DATA: l_pdf TYPE l_ty_tab_pdf,
        l_spool TYPE tsp01-rqident.
Type for binary attachment table.
  TYPES: l_ty_tab_objbin TYPE solisti1 OCCURS 0.
  DATA: l_objbin TYPE l_ty_tab_objbin.
l_spool = l_spoolno.
  l_spool = l_rqident.
  l_spool = wa_spool-rqident.
**/ Call the standard function
  CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'             "#EC ARGCHECKED
      EXPORTING
        src_spoolid                    = l_spool
        no_dialog                      = ' '
      DST_DEVICE                     =
      PDF_DESTINATION                =
     IMPORTING
       pdf_bytecount                  = numbytes
       pdf_spoolid                    = pdfspoolid
      LIST_PAGECOUNT                 =
       btc_jobname                    = jobname
       btc_jobcount                   = jobcount
      TABLES
        pdf                            = l_pdf
      EXCEPTIONS
        err_no_abap_spooljob           = 1
        err_no_spooljob                = 2
        err_no_permission              = 3
        err_conv_not_possible          = 4
        err_bad_destdevice             = 5
        user_cancelled                 = 6
        err_spoolerror                 = 7
        err_temseerror                 = 8
        err_btcjob_open_failed         = 9
        err_btcjob_submit_failed       = 10
        err_btcjob_close_failed        = 11
        OTHERS                         = 12.
  IF sy-subrc <> 0.
    WRITE: / 'error', sy-subrc.
  ENDIF.
**/ Convert the PDF format to the table type required for the
*attachment.
  CALL FUNCTION 'QCE1_CONVERT'
    TABLES
      t_source_tab         = l_pdf
      t_target_tab         = l_objbin
    EXCEPTIONS
      convert_not_possible = 1
      OTHERS               = 2.
  IF sy-subrc <> 0.
    WRITE: / 'error', sy-subrc.
  ENDIF.
  TABLES : soli.
  TABLES : zpsdsalrep.
  DATA: v_email TYPE soli-line.
  DATA: v_email1 TYPE soli-line.
  DATA: l_adrnr LIKE kna1-adrnr.
  DATA: l_objky TYPE nast-objky.
  DATA: l_zzterrmg TYPE zpsdsalrep-zzterrmg.
  DATA: l_zsupervisor TYPE zpsdsalrep-zsupervisor.
  DATA: l_kunnr TYPE kna1-kunnr.
  DATA: l_kunnr1 TYPE vbak-kunnr.
  SELECT SINGLE kunnr FROM vbak INTO l_kunnr1
         WHERE vbeln = nast-objky.
  SELECT SINGLE adrnr FROM kna1 INTO l_adrnr
         WHERE kunnr = l_kunnr1.
  CHECK sy-subrc IS INITIAL.
  SELECT SINGLE smtp_addr FROM adr6 INTO v_email
         WHERE addrnumber = l_adrnr.
  SELECT SINGLE zzterrmg FROM zpsdsalrep INTO l_zzterrmg
         WHERE zzsalesrep = l_kunnr1.
  SELECT SINGLE zsupervisor FROM zpsdsalrep INTO l_zsupervisor
      WHERE  zzterrmg = l_zzterrmg.
  SELECT SINGLE kunnr FROM kna1 INTO l_kunnr
        WHERE sortl = l_zsupervisor.
  SELECT SINGLE adrnr FROM kna1 INTO l_adrnr
         WHERE kunnr = l_kunnr.
  CHECK sy-subrc IS INITIAL.
  SELECT SINGLE smtp_addr FROM adr6 INTO v_email1
         WHERE addrnumber = l_adrnr.
  DATA: l_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
  DATA: l_objtxt    LIKE solisti1 OCCURS   0 WITH HEADER LINE.
  DATA: l_objpack   LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE.
  DATA: l_doc_chng  LIKE sodocchgi1.
  DATA: l_objhead   LIKE solisti1 OCCURS   0 WITH HEADER LINE.
  DATA: l_tab_lines LIKE sy-tabix.
  CONSTANTS: k_true TYPE boolean_flg VALUE 'X'.
  DATA: l_mail TYPE somlreci1-receiver.
  DATA: l_mail1 TYPE somlreci1-receiver.
  DATA: k_mail2 TYPE somlreci1-receiver.
  DATA: k_mail TYPE somlreci1-receiver.
  l_mail = v_email.
  l_mail1 = v_email1.
  k_mail2 = text-006.
  k_mail = text-007.
Creation of the document to be sent
File Name
  l_doc_chng-obj_name = 'SENDFILE'.
Mail Subject
  l_doc_chng-obj_descr = text-001.
Completing the recipient list
  l_reclist-receiver = l_mail.
  l_reclist-rec_type = 'U'.
  APPEND l_reclist.
  l_reclist-receiver = l_mail1.
  l_reclist-rec_type = 'U'.
  APPEND l_reclist.
  l_reclist-receiver = k_mail.
  l_reclist-rec_type = 'U'.
  APPEND l_reclist.
  l_reclist-receiver = k_mail2.
  l_reclist-rec_type = 'U'.
  APPEND l_reclist.
Mail Contents
  l_objtxt = text-002.
  APPEND l_objtxt.
  CLEAR l_objtxt.     " put in a blank line
  APPEND l_objtxt.
  l_objtxt = text-003.
  APPEND l_objtxt.
  l_objtxt = text-004 .
  APPEND l_objtxt.
Calculate email size in bytes
  DESCRIBE TABLE l_objtxt LINES l_tab_lines.
  READ TABLE l_objtxt INDEX l_tab_lines.
  l_doc_chng-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( l_objtxt ).
Creation of the entry for the compressed document
for the email text
  CLEAR l_objpack-transf_bin.
  l_objpack-head_start = 1.
  l_objpack-head_num = 0.
  l_objpack-body_start = 1.
  l_objpack-body_num = l_tab_lines.
  l_objpack-doc_type = 'RAW'.
  APPEND l_objpack.
Creation of the document attachment
(Assume that the data in OBJBIN is in BMP format)
  DESCRIBE TABLE l_objbin LINES l_tab_lines.
  l_objhead = text-001  .
  APPEND l_objhead.
  CLEAR l_objpack.
**/ Creation of the entry for the compressed/attached document
  l_objpack-transf_bin = k_true.
  l_objpack-head_start = 1.
  l_objpack-head_num = 1.
  l_objpack-body_start = 1.
  l_objpack-body_num = l_tab_lines.
  l_objpack-doc_type = 'PDF'.
  l_objpack-obj_name = text-005.
  l_objpack-obj_descr = text-001.
  l_objpack-doc_size = l_tab_lines * 255.
  APPEND l_objpack. "/ .
Sending the document
  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1' "/ .
    EXPORTING
      document_data              = l_doc_chng
      put_in_outbox              = 'X'
    TABLES
      packing_list               = l_objpack
      object_header              = l_objhead
      contents_bin               = l_objbin
      contents_txt               = l_objtxt
      receivers                  = l_reclist
    EXCEPTIONS
      too_many_receivers         = 1
      document_not_sent          = 2
      operation_no_authorization = 4
      OTHERS                     = 99.
  IF sy-subrc <> 0.
    WRITE: / 'unsuccessful', sy-subrc.
  ELSE.
    WRITE:  / 'successful'.
  ENDIF.
**/Take_note it is a requirement to do a commit work for the
email to go into transaction SOST.
  COMMIT WORK.   "/Take_note .
ENDFORM.                    "PROCESSING
      S U B R O U T I N E S                                         *
      FORM ALTERNATIVE_ITEM                                         *
      A text is printed, if the item is an alternative item.        *
FORM alternative_item.
  CHECK vbdpa-grpos CN '0'.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element = 'ALTERNATIVE_ITEM'
    EXCEPTIONS
      element = 1
      window  = 2.
  IF sy-subrc NE 0.
    PERFORM protocol_update.
  ENDIF.
ENDFORM.                    "ALTERNATIVE_ITEM
      FORM CHECK_REPEAT                                             *
      A text is printed, if it is a repeat print for the document.  *
FORM check_repeat.
  CLEAR repeat.
  SELECT * INTO *nast FROM nast WHERE kappl = nast-kappl
                                AND   objky = nast-objky
                                AND   kschl = nast-kschl
                                AND   spras = nast-spras
                                AND   parnr = nast-parnr
                                AND   parvw = nast-parvw
                                AND   nacha BETWEEN '1' AND '4'.
    CHECK *nast-vstat = '1'.
    repeat = 'X'.
    EXIT.
  ENDSELECT.
ENDFORM.                    "CHECK_REPEAT
      FORM DELIVERY_DATE                                            *
      If the delivery date in the item is different to the header   *
      date and there are no scheduled quantities, the delivery date *
      is printed in the item block.                                 *
FORM delivery_date.
  IF vbdka-lfdat =  space AND
     vbdpa-lfdat NE space AND
     vbdpa-etenr_da = space.
    CALL FUNCTION 'WRITE_FORM'
      EXPORTING
        element = 'ITEM_DELIVERY_DATE'
      EXCEPTIONS
        element = 1
        window  = 2.
    IF sy-subrc NE 0.
      PERFORM protocol_update.
    ENDIF.
  ENDIF.
ENDFORM.                    "DELIVERY_DATE
      FORM DIFFERENT_CONSIGNEE                                      *
      If the consignee in the item is different to the header con-  *
      signee, it is printed by this routine.                        *
FORM different_consignee.
  CHECK vbdka-name1_we NE vbdpa-name1_we
    OR  vbdka-name2_we NE vbdpa-name2_we
    OR  vbdka-name3_we NE vbdpa-name3_we
    OR  vbdka-name4_we NE vbdpa-name4_we.
  CHECK vbdpa-name1_we NE space
    OR  vbdpa-name2_we NE space
    OR  vbdpa-name3_we NE space
    OR  vbdpa-name4_we NE space.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element = 'ITEM_CONSIGNEE'
    EXCEPTIONS
      element = 1
      window  = 2.
  IF sy-subrc NE 0.
    PERFORM protocol_update.
  ENDIF.
ENDFORM.                    "DIFFERENT_CONSIGNEE
      FORM DIFFERENT_REFERENCE_NO                                   *
      If the reference number in the item is different to the header*
      reference number, it is printed by this routine.              *
FORM different_reference_no.
  CHECK vbdpa-vbeln_vang NE vbdka-vbeln_vang
    OR  vbdpa-vbtyp_vang NE vbdka-vbtyp_vang.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element = 'ITEM_REFERENCE_NO'
    EXCEPTIONS
      element = 1
      window  = 2.
  IF sy-subrc NE 0.
    PERFORM protocol_update.
  ENDIF.
ENDFORM.                    "DIFFERENT_REFERENCE_NO
      FORM DIFFERENT_TERMS                                          *
      If the terms in the item are different to the header terms,   *
      they are printed by this routine.                             *
FORM different_terms.
  DATA: us_vposn   LIKE vedpa-vposn.
  DATA: us_text(1) TYPE c.             "Flag for Noticetext was printed
  IF vbdpa-zterm NE vbdka-zterm AND
     vbdpa-zterm NE space.
    CALL FUNCTION 'WRITE_FORM'
      EXPORTING
        element = 'ITEM_TERMS_OF_PAYMENT'
      EXCEPTIONS
        element = 1
        window  = 2.
    IF sy-subrc NE 0.
      PERFORM protocol_update.
    ENDIF.
  ENDIF.
  IF vbdpa-inco1 NE space.
    IF vbdpa-inco1 NE vbdka-inco1 OR
       vbdpa-inco2 NE vbdka-inco2.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'ITEM_TERMS_OF_DELIVERY'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    ENDIF.
  ENDIF.
Print different validity-data for the position
  READ TABLE tkomservp WITH KEY vbdpa-posnr.
  IF sy-subrc EQ 0.
    vedpa = tkomservp.
    IF vedpa-vbegdat NE space       AND
       vedpa-venddat NE space       AND
       NOT vedpa-vbegdat IS INITIAL AND
       NOT vedpa-venddat IS INITIAL.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'ITEM_TERMS_OF_SERV1'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    ELSEIF vedpa-vbegdat NE space AND
           NOT vedpa-vbegdat IS INITIAL.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'ITEM_TERMS_OF_SERV2'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    ELSE.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'ITEM_TERMS_OF_SERV3'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    ENDIF.
  ENDIF.
Notice-rules for the positions.
  MOVE vbdpa-posnr TO us_vposn.
  CLEAR us_text.
  LOOP AT tkomservpn WHERE vposn = us_vposn.
    vedpn = tkomservpn.
    IF us_text IS INITIAL.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'ITEM_TERMS_OF_NOTTXT'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
      us_text = charx.
    ENDIF.
    CALL FUNCTION 'WRITE_FORM'
      EXPORTING
        element = 'ITEM_TERMS_OF_NOTICE'
      EXCEPTIONS
        element = 1
        window  = 2.
    IF sy-subrc NE 0.
      PERFORM protocol_update.
    ENDIF.
  ENDLOOP.
  IF NOT us_text IS INITIAL.
    CALL FUNCTION 'WRITE_FORM'
      EXPORTING
        element = 'EMPTY_LINE'
      EXCEPTIONS
        element = 1
        window  = 2.
    IF sy-subrc NE 0.
      PERFORM protocol_update.
    ENDIF.
  ENDIF.
ENDFORM.                    "DIFFERENT_TERMS
      FORM END_PRINT                                                *
FORM end_print.
  PERFORM get_header_prices.
  CALL FUNCTION 'CONTROL_FORM'
    EXPORTING
      command = 'PROTECT'.
  PERFORM header_price_print.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element = 'END_VALUES'.
  CALL FUNCTION 'CONTROL_FORM'
    EXPORTING
      command = 'ENDPROTECT'.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element = 'SUPPLEMENT_TEXT'
    EXCEPTIONS
      element = 1
      window  = 2.
  IF sy-subrc NE 0.
    PERFORM protocol_update.
  ENDIF.
ENDFORM.                    "END_PRINT
      FORM FORM_CLOSE                                               *
      End of printing the form                                      *
FORM form_close.
  CALL FUNCTION 'CLOSE_FORM'
    EXCEPTIONS
      OTHERS = 1.
  IF sy-subrc NE 0.
    PERFORM protocol_update.
    retcode = 1.
  ENDIF.
  SET COUNTRY space.
ENDFORM.                    "FORM_CLOSE
      FORM FORM_OPEN                                                *
      Start of printing the form                                    *
-->  US_SCREEN  Output on screen                                   *
                 ' ' = printer                                      *
                 'X' = screen                                       *
-->  US_COUNTRY County for telecommunication and SET COUNTRY       *
FORM form_open USING us_screen us_country.
  INCLUDE yzrvadopfo.
INCLUDE RVADOPFO.
ENDFORM.                    "FORM_OPEN
      FORM FORM_TITLE_PRINT                                         *
      Printing of the form title depending of the field VBTYP       *
FORM form_title_print.
  CASE vbdka-vbtyp.
    WHEN 'A'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_A'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN 'B'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_B'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN 'C'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_C'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN 'E'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_E'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN 'F'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_F'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN 'G'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_F'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN 'H'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_H'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN 'K'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_K'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN 'L'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_L'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    WHEN OTHERS.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TITLE_OTHERS'
          window  = 'TITLE'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
  ENDCASE.
  IF repeat NE space.
    CALL FUNCTION 'WRITE_FORM'
      EXPORTING
        element = 'REPEAT'
        window  = 'REPEAT'
      EXCEPTIONS
        element = 1
        window  = 2.
    IF sy-subrc NE 0.
      PERFORM protocol_update.
    ENDIF.
  ENDIF.
ENDFORM.                    "FORM_TITLE_PRINT
      FORM GET_DATA                                                 *
      General provision of data for the form                        *
FORM get_data.
  DATA: us_veda_vbeln     LIKE veda-vbeln.
  DATA: us_veda_posnr_low LIKE veda-vposn.
  CALL FUNCTION 'RV_PRICE_PRINT_REFRESH'
    TABLES
      tkomv = tkomv.
  CLEAR komk.
  CLEAR komp.
  vbco3-mandt = sy-mandt.
  vbco3-spras = nast-spras.
  vbco3-vbeln = nast-objky.
  vbco3-kunde = nast-parnr.
  vbco3-parvw = nast-parvw.
  CALL FUNCTION 'RV_DOCUMENT_PRINT_VIEW'
    EXPORTING
      comwa = vbco3
    IMPORTING
      kopf  = vbdka
    TABLES
      pos   = tvbdpa.
Fetch servicecontract-data and notice-data for head and position.
  us_veda_vbeln     = vbdka-vbeln.
  us_veda_posnr_low = posnr_low.
  CALL FUNCTION 'SD_VEDA_GET_PRINT_DATA'
    EXPORTING
      i_document_number = us_veda_vbeln
      i_language        = sy-langu
      i_posnr_low       = us_veda_posnr_low
    TABLES
      print_data_pos    = tkomservp
      print_data_head   = tkomservh
      print_notice_pos  = tkomservpn
      print_notice_head = tkomservhn.
  PERFORM get_controll_data.
  PERFORM sender.
  PERFORM check_repeat.
  PERFORM tvbdpau_create.
ENDFORM.                    "GET_DATA
      FORM GET_ITEM_BILLING_SCHEDULES                               *
      In this routine the billing schedules are fetched from the    *
      database.                                                     *
FORM get_item_billing_schedules.
  REFRESH tfpltdr.
  CHECK NOT vbdpa-fplnr IS INITIAL.
  CALL FUNCTION 'BILLING_SCHED_PRINTVIEW_READ'
    EXPORTING
      i_fplnr    = vbdpa-fplnr
      i_language = nast-spras
    TABLES
      zfpltdr    = tfpltdr.
ENDFORM.                    "GET_ITEM_BILLING_SCHEDULES
*&      Form  ITEM_BILLING_SCHEDULES_PRINT
      This routine prints the billing shedules of a salesdocument    *
      position.                                                      *
FORM  item_billing_schedules_print.
  DATA: first_line(1) TYPE c.
  first_line = charx.
  LOOP AT tfpltdr.
    fpltdr = tfpltdr.
  Output of the following printlines
    IF NOT fpltdr-perio IS INITIAL.
    periodische Fakturen
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'ITEM_BILLING_SCHEDULE_PERIODIC'
        EXCEPTIONS
          element = 1
          window  = 2.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    bei periodischen nur eine Zeile
      EXIT.
    ELSEIF fpltdr-fareg CA '14'.
    prozentuale Teilfakturierung
      IF NOT first_line IS INITIAL.
        CLEAR first_line.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element = 'ITEM_BILLING_SCHEDULE_PERCENT_HEADER'
          EXCEPTIONS
            element = 1
            window  = 2.
        IF sy-subrc NE 0.
          PERFORM protocol_update.
        ENDIF.
      ELSE.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element = 'ITEM_BILLING_SCHEDULE_PERCENT'
          EXCEPTIONS
            element = 1
            window  = 2.
        IF sy-subrc NE 0.
          PERFORM protocol_update.
        ENDIF.
      ENDIF.
    ELSEIF fpltdr-fareg CA '235'.
    wertmäßige  Teilfakturierung
      IF NOT first_line IS INITIAL.
        CLEAR first_line.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element = 'ITEM_BILLING_SCHEDULE_VALUE_HEADER'
          EXCEPTIONS
            element = 1
            window  = 2.
        IF sy-subrc NE 0.
          PERFORM protocol_update.
        ENDIF.
      ELSE.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element = 'ITEM_BILLING_SCHEDULE_VALUE'
          EXCEPTIONS
            element = 1
            window  = 2.
        IF sy-subrc NE 0.
          PERFORM protocol_update.
        ENDIF.
      ENDIF.
    ELSEIF fpltdr-fareg CA '3'.
    Schlußrechnung
    ENDIF.
  ENDLOOP.
ENDFORM.                    "ITEM_BILLING_SCHEDULES_PRINT
*eject
      FORM GET_ITEM_CHARACTERISTICS                                 *
      In this routine the configuration data item is fetched from   *
      the database.                                                 *
FORM get_item_characteristics.
  REFRESH tkomcon.
  CHECK NOT vbdpa-cuobj IS INITIAL.
  CALL FUNCTION 'CUD0_GET_CONFIGURATION'                    "#EC EXISTS
    EXPORTING
      instance      = vbdpa-cuobj
      language      = nast-spras
    TABLES
      configuration = tkomcon
    EXCEPTIONS
      OTHERS        = 4.
ENDFORM.                    "GET_ITEM_CHARACTERISTICS
      FORM GET_ITEM_PRICES                                          *
      In this routine the price data for the item is fetched from   *
      the database.                                                 *
FORM get_item_prices.
  CLEAR: komp,
         tkomv.
  IF komk-knumv NE vbdka-knumv.
    CLEAR komk.
    komk-mandt = sy-mandt.
    komk-kalsm = vbdka-kalsm.
    komk-kappl = pr_kappl.
    komk-waerk = vbdka-waerk.
    komk-knumv = vbdka-knumv.
    komk-vbtyp = vbdka-vbtyp.
  ENDIF.
  komp-kposn = vbdpa-posnr.
  CALL FUNCTION 'RV_PRICE_PRINT_ITEM'
    EXPORTING
      comm_head_i = komk
      comm_item_i = komp
      language    = nast-spras
    IMPORTING
      comm_head_e = komk
      comm_item_e = komp
    TABLES
      tkomv       = tkomv
      tkomvd      = tkomvd.
ENDFORM.                    "GET_ITEM_PRICES
      FORM GET_HEADER_PRICES                                        *
      In this routine the price data for the header is fetched from *
      the database.                                                 *
FORM get_header_prices.
  CALL FUNCTION 'RV_PRICE_PRINT_HEAD'
    EXPORTING
      comm_head_i = komk
      language    = nast-spras
    IMPORTING
      comm_head_e = komk
    TABLES
      tkomv       = tkomv
      tkomvd      = tkomvd.
ENDFORM.                    "GET_HEADER_PRICES
*&      Form  HEADER_DATA_PRINT
      Printing of header data like terms, weights ....               *
FORM header_data_print.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element = 'HEADER_DATA'
    EXCEPTIONS
      element = 1
      window  = 2.
  IF sy-subrc NE 0.
    PERFORM protocol_update.
  ENDIF.
ENDFORM.                               " HEADER_DATA_PRINT
      FORM HEADER_PRICE_PRINT                                       *
      Printout of the header prices                                 *
FORM header_price_print.
  LOOP AT tkomvd.
    AT FIRST.
      IF komk-supos NE 0.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element = 'ITEM_SUM'.
      ELSE.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            element = 'UNDER_LINE'
          EXCEPTIONS
            element = 1
            window  = 2.
        IF sy-subrc NE 0.
          PERFORM protocol_update.
        ENDIF.
      ENDIF.
    ENDAT.
    komvd = tkomvd.
    IF komvd-koaid = 'D'.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'TAX_LINE'.
    ELSE.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'SUM_LINE'.
    ENDIF.
  ENDLOOP.
  DESCRIBE TABLE tkomvd LINES sy-tfill.
  IF sy-tfill = 0.
    CALL FUNCTION 'WRITE_FORM'
      EXPORTING
        element = 'UNDER_LINE'
      EXCEPTIONS
        element = 1
        window  = 2.
    IF sy-subrc NE 0.
      PERFORM protocol_update.
    ENDIF.
  ENDIF.
ENDFORM.                    "HEADER_PRICE_PRINT
      FORM HEADER_TEXT_PRINT                                        *
      Printout of the headertexts                                   *
FORM header_text_print.
  CALL FUNCTION 'WRITE_FORM'
    EXPORTING
      element = 'HEADER_TEXT'
    EXCEPTIONS
      element = 1
      window  = 2.
  IF sy-subrc NE 0.
    PERFORM protocol_update.
  ENDIF.
ENDFORM.                    "HEADER_TEXT_PRINT
      FORM ITEM_CHARACERISTICS_PRINT                                *
      Printout of the item characteristics -> configuration         *
FORM item_characteristics_print.
  LOOP AT tkomcon.
    conf_out = tkomcon.
    IF sy-tabix = 1.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element = 'ITEM_LINE_CONFIGURATION_HEADER'
        EXCEPTIONS
          OTHERS  = 1.
      IF sy-subrc NE 0.
        PERFORM protocol_update.
      ENDIF.
    ELSE.
      CALL FUNCTION 'WRITE_FORM'
        EXPOR

Similar Messages

  • How to script output to email

    hi,
    Can anyone give me information or documentation on
    "SENDING SCRIPT OUTPUT TO EMAIL"??
    if possible plz send the code also.
    waiting for your replies
    bye
    ARJUN

    Hi,
    Could you please expalain , is it ABAP Scripts?, or any other if other ,what is the format??
    If ABAP script
    http://help.sap.com/saphelp_nw2004s/helpdata/en/0e/56373f7853494fe10000000a114084/content.htm
    Sending SAP SCRIPT to mail
    sending sap script to mail id
    Problem Sending SAP Script as a PDF attachment to external mail
    Sending SAP Script Output to Mail & Fax
    sending a script in mail (outside SAP)
    How To send SAP SCRIPT AS an email.
    Regards
    Chilla

  • How to send smartform output through email

    Hi,
    I want to send smartform output through email.....
    can u give me sample program to send it through email......
    Regards,
    Jenifer
    MOderator Message: Basic and Frequently asked question. Please search before posting.
    Edited by: kishan P on Nov 26, 2010 11:11 AM

    Hi Jenifer,
    There are many threads available on SDN.
    Just have a look at this thread
    <<link removed by moderator>>
    Kindly search before you post.
    Regard
    Abhii
    Moderator Message: You have been warned many times against point-hunting. Continuing ignoring of the Moderator warnings will lead to account deletion. Consider this your last warning
    Edited by: kishan P on Nov 26, 2010 11:09 AM

  • To send smartform output through email and fax

    Hi,
    I need to send smartform output through email if the email address is present else if the email address is present then it has to be sent through fax.If both the email address and fax are present,then it has to send an email.
    Now the issue is I am able to send the email and I am getting the message as 'Output was successfully issued'.But the entry corresponding to this is not shown in SOST transaction.
    Can anyone tell me what would be the reason for this?

    HI,
    Try to look in transaction SCOT
    Regards,
    Egle

  • Send GR output by email to GR recipient

    Hi,
    The requirement is to send the GR output by email to GR recipient at item level.
    We have maintained the email ID of teh Gr recipient in SU01.
    I have set up the output type WE01 for the transmission medium 5 - external send.
    When I trigger an output for WE01 and transmission medium 5, the output is by default sent to the GR creator.
    Is there some way in which partner function of GR recipient can be added so that the email is sent to the GR recipient?
    If this is not possible through normal output determication, is there soem standard workflow or a user exit available to fulfil this requirement?
    Please help.
    Thanks!
    PM

    Hi Sridhar,
    The GR recipient is a standard SAP field. It can be seen in the material document (where tab in MIGO).
    It gets acrried over from the PM oredr or the purchase requisition - Account assignment tab.
    Parameter ID: NGR
    Field: MSEG-WEMPF
    Thanks!
    PM

  • How To Send ALV Output By Email.

    Hi !
    I wanted to ask how to send ALV output of report by email.
    I know that i have to use the fms :
    1. 'WWW_HTML_FROM_LISTOBJECT' - in order to convert the table to HTML.
    2. 'SO_NEW_DOCUMENT_ATT_SEND_API1' - in order to  send the HTML file.
    My problem is how to convert the ALV screen output to the apropriate table parameter of the function 'WWW_HTML_FROM_LISTOBJECT' to listobject type ?
    thanks
    moshe

    Hi look at the following program.
    *& Report  ZSM17_EMAIL1
    REPORT  zsm17_email.
    tables : mara.
    data: begin of it_mara occurs 0,
          matnr like  mara-matnr,
          ernam like mara-ernam,
          mtart like mara-mtart,
          matkl like mara-matkl,
          end of it_mara.
    data: begin of it_final occurs 0,
          v_string(255),
          end of it_final.
    *DATA: objpack LIKE sopcklsti1 OCCURS  2 WITH HEADER LINE,
         objhead LIKE solisti1   OCCURS  1 WITH HEADER LINE,
         objbin  LIKE solisti1   OCCURS 10 WITH HEADER LINE,
         objtxt  LIKE solisti1   OCCURS 10 WITH HEADER LINE,
         reclist LIKE somlreci1  OCCURS  5 WITH HEADER LINE.
    DATA: objpack LIKE sopcklsti1 OCCURS  0 with header line,
          objhead LIKE solisti1   OCCURS  0 WITH HEADER LINE,
          objbin  LIKE solisti1   OCCURS 0 WITH HEADER LINE,
          objtxt  LIKE solisti1   OCCURS 0 WITH HEADER LINE,
          reclist LIKE somlreci1  OCCURS  0 WITH HEADER LINE.
    data: wa_objbin like line of objbin.
    DATA: doc_chng LIKE sodocchgi1.
    DATA: tab_lines LIKE sy-tabix.
    select-options s_matnr for mara-matnr.
    *--- Selecting data from mara
    select matnr
           ernam
           mtart
           matkl
           into table it_mara
           from mara
           where matnr in s_matnr.
    if sy-subrc ne 0.
    write:/ 'no data found'.
      exit.
    else.
    loop at it_mara.
       concatenate it_mara-matnr
                   it_mara-ernam
                   it_mara-mtart
                   it_mara-matkl
         into it_final-v_string separated by '~'.
        append it_final.
        clear it_final.
    endloop.
    endif.
    Creating the document to be sent
    doc_chng-obj_name = 'TEST'.   "name of the document
    title of document or subject
    doc_chng-obj_descr = 'Test Email program'.
    body of the mail
    objtxt = 'A test report'.
    APPEND objtxt.
    objtxt = 'is enclosed as an attachment.'.
    APPEND objtxt.
    *clear objtxt.
    DESCRIBE TABLE objtxt LINES tab_lines.
    Size of SAPoffice Document (for API1)
    doc_chng-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    Creating the entry for the compressed attachment
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num   = 0.
    objpack-body_start = 1.
    objpack-body_num   = tab_lines.
    objpack-doc_type   = 'RAW'.
    *objpack-obj_name   = 'ATTACHMENT'.
    *objpack-obj_descr = 'Test Email Program'.
    *objpack-doc_size   = tab_lines * 255.
    APPEND objpack..
    *--- Populating the records in the attachment
    data: w_str(255) TYPE c.
    loop at it_final into wa_objbin.
    append wa_objbin to objbin.
    append objbin.
    clear wa_objbin.
    endloop.
    DESCRIBE TABLE objbin LINES tab_lines.
    tab_lines = tab_lines + 1.
    objhead = 'test_report.txt'.
    append objhead.
    Creating 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   = 'txt'.
    objpack-obj_name   = 'txt'.
    objpack-obj_descr = 'Test Email Program'.
    objpack-doc_size   = tab_lines * 255.
    APPEND objpack..
    *write:/ 'object text', objtxt.
    Entering names in the distribution list
    reclist-receiver = '[email protected]'.
    reclist-rec_type = 'U'.
    APPEND reclist.
    Sending the document
    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.
    CASE sy-subrc.
      WHEN 0.
        WRITE: / 'Result of the send process:'.
        LOOP AT reclist.
          WRITE:  reclist-receiver(48), ':'.
          IF reclist-retrn_code = 0.
            WRITE 'sent successfully'.
          ELSE.
            WRITE 'not sent'.
          ENDIF.
        ENDLOOP.
       loop at objbin.
         write: objbin-line.
       endloop.
      WHEN 1.
        WRITE: / 'no authorization to send to the specified number of' .
        "'recipients!'.
      WHEN 2.
        WRITE: / 'document could not be sent to any of the recipients!'.
      WHEN 4.
        WRITE: / 'no authorization to send !'.
      WHEN OTHERS.
        WRITE: / 'error occurred during sending !'.
    ENDCASE.

  • Send Report output as Email attachment (PDF)

    Hi Experts,
      i am trying to send the contents of an internal table from my report as email using PDF attachment. I have coded the logic and i get the attachment in the email. When i try to open the attachement, i cannot open it.
    The message i get is "_Adobe reader could not open the attachment "attach.pdf" because it is either not a supported file type or the file has been damaged(for example, it was sent as an email attachment and wasn't correctly decoded )._
    Not sure where i went wrong.
      ld_email   = p_email.
      ld_mtitle = p_mtitle.
      ld_format              = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
    Fill the document data.
      w_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
    CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.
      w_doc_data-doc_size =
      ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = it_attach[].
    Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin = space.
      t_packing_list-head_start = 1.
      t_packing_list-head_num = 0.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type = 'RAW'.
      APPEND t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      APPEND t_packing_list.
    Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
      t_receivers-receiver = ld_email.
      t_receivers-rec_type = 'U'.
      t_receivers-com_type = 'INT'.
      t_receivers-notif_del = 'X'.
      t_receivers-notif_ndel = 'X'.
      APPEND t_receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
        EXPORTING
          document_data              = w_doc_data
          put_in_outbox              = 'X'
          sender_address             = ld_sender_address
          sender_address_type        = ld_sender_address_type
          commit_work                = 'X'
        IMPORTING
          sent_to_all                = w_sent_all
        TABLES
          packing_list               = t_packing_list
          contents_bin               = t_attachment
          contents_txt               = it_message
          receivers                  = t_receivers
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          document_type_not_exist    = 3
          operation_no_authorization = 4
          parameter_error            = 5
          x_error                    = 6
          enqueue_error              = 7
          OTHERS                     = 8.
    Populate zerror return code
      ld_error = sy-subrc.
    Populate zreceiver return code
      LOOP AT t_receivers.
        ld_receiver = t_receivers-retrn_code.
      ENDLOOP.
    ENDFORM.                    "send_file_as_email_attachment

    Hello RnB,
    You can check the mentioned link for the same:
    [Simple Program to generate PDF from ABAP List Output.|http://www.abapmadeeasy.com/2011/02/sap-abap-simple-program-to-generate-pdf.html]
    Regards,
    Uttam Agrawal

  • Send report output via email as zipped attachment

    Is it possible for the report output to be zipped before being attached to an email when running on a windows reports_server? On unix we theoretically have the ability to modify the mail.sh shell script that performs the mail operation for reports.

    Hi Richard
    This is a Reports 9i solution.
    You may create a batch file that runs the report, compresses the file and invokes, say, a Java application that mails the given .zip file.
    More "advanced" options would be:
    You may create a pluggable destination that captures report output. Next, your code does the compresses the output file and mails it.
    A simpler solution would be to run two reports. First, that creates the reports output file. In its AFTER_REPORT trigger, call Java method (thru. Java Importer), that picks up the output file and compresses it. Second, that uses XML distribution feature of Reports 9i and mails the .zip file as a file attachment using appropriate construct.
    Regard
    Sripathy

  • Sending reports output to email

    Hi ,
    I would like to send output of a report to email insted of printer. Are there any setting to be done. We are running on 11i.
    Thanks
    Kiran

    Please see the user manual.
    Oracle Alert User's Guide
    http://download.oracle.com/docs/cd/B25516_18/current/acrobat/115alrug.pdf
    Also, see old threads which discuss the same topic -- http://forums.oracle.com/forums/search.jspa?threadID=&q=Send+AND+E-mail+AND+Alert&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
    Thanks,
    Hussein

  • Error when sending PO output to email

    Hi every body,
    IF I send the PO output to an email through
    ME22n->messages:by giving output type dispatch time,communication strategy..And saving that document it showing <b>Green</b> status.
    If I check the for that PO message status in SCOT,
    it is giving error msg like
    <b>"Message could not send due to RFC error"</b>
    can any body tell me what kind of problem it is ?
    and how to rectify this?
    Thanks in advance.

    Check with your basis folks if internet node is correctly setup in SCOT.
    Try sending an internet mail from sap office ( Transaction SBWP ) . If this does not go then problem not with PO program but with internet node setup and you will have to ask basis folks to setup this correctly before you can send mails.
    Cheers.
    Sanjay

  • Reg: sending smartform output as PDF attachment

    hii all,
               i am using 'SX_OBJECT_CONVERT_OTF_PDF' func. module to convert my otf data to pdf and using the  func. module 'SO_NEW_DOCUMENT_ATT_SEND_API1'  for sending the mail with the PDF attachment. I am able to send the mail and i can see the mail attachment in my out box  of business work place..i can open the attachment and read it. but after i sent the mail to other e-mail if i open the document..it is showing as the attachment file is corrupted and i am unable to read it.
    can any one help me on this.
    Edited by: sandeep akella on Dec 13, 2008 9:54 AM

    * Transfer the 132-long strings to 255-long strings
        LOOP AT gt_pdf_output INTO wa_pdf_output.
          TRANSLATE wa_pdf_output USING '~'.
          CONCATENATE v_buffer wa_pdf_output INTO v_buffer.
        ENDLOOP.
    * TO CONVERT THE DATA INTO PDF FORMAT
        TRANSLATE v_buffer USING '~'.
        CLEAR : wa_messg_att,
                gt_messg_att.
        DO.
          wa_messg_att = v_buffer.
          APPEND wa_messg_att TO gt_messg_att.
          SHIFT v_buffer LEFT BY 255 PLACES.
          IF v_buffer IS INITIAL.
            EXIT.
          ENDIF.
          CLEAR wa_messg_att.
        ENDDO.
    For the body of the email message, pass doc type as RAW
    for the PDF attachment pass doc type as PDF
    So the internal table for Packing List
    * Describe the body of the message
      lwa_packing_list-transf_bin = space.
      lwa_packing_list-head_start = 1.
      lwa_packing_list-head_num   = 0.
      lwa_packing_list-body_start = 1.
      DESCRIBE TABLE gt_messg_body LINES lwa_packing_list-body_num.
      lwa_packing_list-doc_type = 'RAW'.
      APPEND lwa_packing_list TO lgt_packing_list.
      CLEAR lwa_packing_list.
    * Create attachment notification
      lwa_packing_list-transf_bin = 'X'.
      lwa_packing_list-head_start = 1.
      lwa_packing_list-head_num   = 1.
      lwa_packing_list-body_start = 1.
      DESCRIBE TABLE gt_messg_att LINES lwa_packing_list-body_num.
      lwa_packing_list-doc_type   =  'PDF'.
      lwa_packing_list-doc_size   =  lwa_packing_list-body_num * 255.
      APPEND lwa_packing_list TO lgt_packing_list.

  • Reg:Send Image in a Email to Outlook

    Hi,
    I am sending emails with the help of java code and I am doing it successfully.But I have a requirement where I need to send some images(not as attachments) to the users .Can anyone help me in this regard.
    Note:Mails are being sent to MS Outlook.
    Thanks,
    NWUser

    Hi,
    I am using the below code to get the URL of the Image ;;;
    url = WDURLGenerator.getAbsoluteWebResourceURL(wdComponentAPI.getDeployableObjectPart(), ImageName);
    Is there any problem if I use the above menthod in HTTPS ,as it will have reverse proxy/webdispatcher configured ?????
    Please let me know how to read the image path from Webdynpro applciaiton in HTTPS ???
    Thanks..

  • Script output getting suppressed when trying to send email

    Hi,
    I am having an existing report,part of code is given below.
    *data processing.....
          itcpo-tdcovtitle =  z_text.             
          itcpo-tdgetotf   = 'X'.                 
          call function 'OPEN_FORM'               
             exporting                            
                  device             = 'PRINTER'  
                form               = 'LAYOUTSET'
             importing                             
                  result             = x_itcpp_sulph
             exceptions                            
                  canceled           = 1           
                  device             = 2           
                  form               = 3           
                  options            = 4           
                  unclosed           = 5           
                  others             = 6.          
    Data processing ....and writing to script output
      perform entry(zvadin11) using returncode xscreen if found.
         call function 'CLOSE_FORM'         
              importing                     
                    result   = x_itcpp_sulph
              tables                        
                    otfdata  = otf1         
              exceptions                    
                    unopened = 1            
                    others   = 2.    
    So the control will switch from existing report to another program namely zvadin11 and gives script output.
    Now,in my current program i am trying to send script output through Email,for which i am converting script output to OTF data.Then sending the data through mail,using function modules 'SX_OBJECT_CONVERT_OTF_PDF' and 'SO_NEW_DOCUMENT_ATT_SEND_API1'.
    I am able to send the data through PDF attachment as required.But i am unable to see Script output.If i comment the OTF related code from open_form and close_form,i am able to see the script output,but i am not getting data into OTF internal table.
    Can i get both the functionalities of seing the script output and also get OTF data for Email.
    Can any one help me?
    Thanks & Regards,
    Seshagiri.M.
    Intelligroup.

    Hi Seshagiri,
    Is yur code that sneds email before 'CLOSE_FORM'?
    Regards,
    Suresh Datti

  • Automatic scheduling of report and send the output  to user via email

    Good Morning,
    Please i need to scheduled report and send the output via email in Discoverer . Please can someone assist in how to achieve this ?

    Hi,
    You cannot schedule and email a Discoverer report using standard Discoverer scheduling. You have to use a third party scheduler and Discoverer Desktop running on a windows PC.
    This presentation has some more details on how to do this.
    Rod West

  • Report output as email

    Hi All,
    I need to send report output as email text. is anybody has done this sort of work or any function module for this.
    Please help if anyone knows it.
    Cheers,
    Lokesh

    Hi
      Check the code for similar requirement I was faced earlier.
    Type for binary attachment table.
      types: l_ty_tab_objbin type solisti1 occurs 0.
      data: l_objbin type l_ty_tab_objbin.
    Tables to hold PDF data
      data: t_doctab type docs occurs 0,
            t_line  type tline occurs 0.
      tables : soli.             "SAPoffice: line, length 255
      tables : zpsdsalrep.       "ZPSDSALREP
      data: l_email type soli-line.
      data: l_email1 type soli-line.
      data: l_adrnr like kna1-adrnr.
      data: l_objky type nast-objky.
      data: l_zzterrmg type zpsdsalrep-zzterrmg.
      data: l_zsupervisor type zpsdsalrep-zsupervisor.
      data: l_kunnr type kna1-kunnr.
      data: l_kunnr1 type vbak-kunnr.
      data: l_reclist like somlreci1 occurs 0 with header line.
      data: l_objtxt    like solisti1 occurs   0 with header line.
      data: l_objpack   like sopcklsti1 occurs 0 with header line.
      data: l_doc_chng  like sodocchgi1.
      data: l_objhead   like solisti1 occurs   0 with header line.
      data: l_tab_lines like sy-tabix.
      constants: k_true type boolean_flg value 'X'.
      data: l_mail type somlreci1-receiver.
      data: l_mail1 type somlreci1-receiver.
      data:
    l_l_mail2 TYPE somlreci1-receiver.
    l_l_mail type somlreci1-receiver.
      data: l_zzsalesrep type zpsdsalrep-zzsalesrep.
      data: l_recipents type somlreci1-receiver.
      constants: k_x(1) type c value 'X',
                 k_u(1) type c value 'U',
                 k_raw(3) type c value 'RAW'.
      call function 'CONVERT_OTF_2_PDF'
    EXPORTING
      USE_OTF_MC_CMD               = 'X'
      ARCHIVE_INDEX                =
    IMPORTING
      BIN_FILESIZE                 =
        tables
          otf                          = t_otfdata
          doctab_archive               = t_doctab
          lines                        = t_line
          exceptions
         err_conv_not_possible        = 1
         err_otf_mc_noendmarker       = 2
         others                       = 3.
      if sy-subrc <> 0.
        write: / 'error', sy-subrc.
      endif.
    ***/ Convert the PDF format to the table type required for the
    **attachment.
      call function 'QCE1_CONVERT'
        tables
          t_source_tab         = t_line
          t_target_tab         = l_objbin
        exceptions
          convert_not_possible = 1
          others               = 2.
      if sy-subrc <> 0.
        write: / 'error', sy-subrc.
      endif.
      select single kunnr from vbak into l_kunnr1
             where vbeln = nast-objky.
      select single adrnr from kna1 into l_adrnr
             where kunnr = l_kunnr1.
      check sy-subrc is initial.
      select single smtp_addr from adr6 into l_email
             where addrnumber = l_adrnr.
    SELECT SINGLE zzterrmg FROM zpsdsalrep INTO l_zzterrmg
            WHERE zzsalesrep = l_kunnr1.
    SELECT SINGLE zsupervisor FROM zpsdsalrep INTO l_zsupervisor
         WHERE  zzterrmg = l_zzterrmg.
    SELECT SINGLE kunnr FROM kna1 INTO l_kunnr
           WHERE sortl = l_zsupervisor.
    SELECT SINGLE zsupervisor FROM zpsdsalrep INTO l_zsupervisor
           WHERE  zzsalesrep = l_kunnr1.
    SELECT SINGLE zzsalesrep FROM zpsdsalrep INTO l_zzsalesrep
           WHERE zzterrmg = l_zsupervisor.
    SELECT SINGLE adrnr FROM kna1 INTO l_adrnr
              WHERE kunnr = l_zzsalesrep.
    CHECK sy-subrc IS INITIAL.
    SELECT SINGLE smtp_addr FROM adr6 INTO l_email1
            WHERE addrnumber = l_adrnr.
    SELECT SINGLE adrnr FROM kna1 INTO l_adrnr
            WHERE kunnr = l_kunnr.
    CHECK sy-subrc IS INITIAL.
    SELECT SINGLE smtp_addr FROM adr6 INTO l_email1
            WHERE addrnumber = l_adrnr.
      l_mail = l_email.
    l_mail1 = l_email1.
    l_l_mail2 = text-006.
      l_l_mail = text-007.
    Creation of the document to be sent
    File Name
      l_doc_chng-obj_name = 'SENDFILE'.
    Mail Subject
      concatenate text-001 nast-objky into l_doc_chng-obj_descr.
    l_doc_chng-obj_descr = text-001.
    Completing the recipient list
      l_reclist-receiver = l_mail.
      l_reclist-rec_type = k_u.
      append l_reclist.
    l_reclist-receiver = l_mail1.
    l_reclist-rec_type = 'U'.
    APPEND l_reclist.
      l_reclist-receiver = l_l_mail.
      l_reclist-rec_type = k_u.
      append l_reclist.
    l_reclist-receiver = l_l_mail2.
    l_reclist-rec_type = 'U'.
    APPEND l_reclist.
    Mail Contents
      l_objtxt = text-002.
      append l_objtxt.
      clear l_objtxt.     " put in a blank line
      append l_objtxt.
      data: l_subject type solisti1.
      concatenate text-003 '-' nast-objky into l_subject.
      l_objtxt = l_subject.
      append l_objtxt.
      l_objtxt = text-004 .
      append l_objtxt.
    Calculate email size in bytes
      describe table l_objtxt lines l_tab_lines.
      read table l_objtxt index l_tab_lines.
      l_doc_chng-doc_size = ( l_tab_lines - 1 ) * 255 + strlen( l_objtxt ).
    Creation of the entry for the compressed document
    for the email text
      clear l_objpack-transf_bin.
      l_objpack-head_start = 1.
      l_objpack-head_num = 0.
      l_objpack-body_start = 1.
      l_objpack-body_num = l_tab_lines.
      l_objpack-doc_type = k_raw.
      append l_objpack.
    Creation of the document attachment
    (Assume that the data in OBJBIN is in BMP format)
      describe table l_objbin lines l_tab_lines.
      l_objhead = text-001  .
      append l_objhead.
      clear l_objpack.
    **/ Creation of the entry for the compressed/attached document
      l_objpack-transf_bin = k_true.
      l_objpack-head_start = 1.
      l_objpack-head_num = 1.
      l_objpack-body_start = 1.
      l_objpack-body_num = l_tab_lines.
      l_objpack-doc_type = 'PDF'.
      l_objpack-obj_name = text-005.
      l_objpack-obj_descr = text-001.
      l_objpack-doc_size = l_tab_lines * 255.
      append l_objpack. "/ .
      delete  l_reclist where receiver = ''.
    Sending the document
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1' " IN UPDATE TASK "/ .
        exporting
          document_data              = l_doc_chng
          put_in_outbox              = k_x
        tables
          packing_list               = l_objpack
          object_header              = l_objhead
          contents_bin               = l_objbin
          contents_txt               = l_objtxt
          receivers                  = l_reclist
        exceptions
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          others                     = 99.
      if sy-subrc <> 0.
        write: / 'unsuccessful', sy-subrc.
      else.
        concatenate l_mail ',' l_mail1 ',' l_l_mail into l_recipents.
        syst-msgid = '8I'.
        syst-msgno = '000'.
        syst-msgty = 'S'.
        syst-msgv1 = text-008.
        skip.
        syst-msgv2 = text-009.
        syst-msgv3 = l_recipents.
        clear:  syst-msgv4. "syst-msgv2, syst-msgv3,
        perform protocol_update.
        write:  / 'successful'.
      endif.
    **/Take_note it is a requirement to do a commit work for the
    email to go into transaction SOST.
    COMMIT WORK.   "/Take_note .
    if sy-subrc eq 0.
    endif.
    Regards,
    Sreeram

Maybe you are looking for

  • Adding data to multiple tables using one form in Access 2010?

    Hi All, I have a access database with two tables and I want to create a single form to enter data into that tables. How to adding data to multiple tables using one form in Access 2010? I don't have to much knowledge of access database? Please help me

  • Share option for email does not work after Yosemite upgrade.

    Hi, Does anybody know why the share option, "Share via email" does not work anymore after Yosemite upgrade?  I love this feature.  It's just quick and easy. Rod.

  • Check Number after F110

    After I run F110 (Automatic Payment Program), the check number of the payment document doesnot get populated in the Assignment field of the Vendor Balance display? This would lead to problems in BRS. Kindly advice how to get the check num bers in the

  • SUS - Purchase Order and Change Order Response

    Hi,    We have a requirement to display the Original PO and Changed PO in the list of PO's if the change PO is generated before the original PO has been confirmed. In other words, if there is a PO that was sent to Supplier and a change was made to th

  • Result.getString("column_name")

    Hello All, I was wondering which is the best practice when we are getting the result from a query : result.getString("column_name") or result.getString("column_number") Thanks