Send form as attachment

Hi SDN Community,
This question is not directly related to BSP but definitely to web programming.
Problem: My requirement is to do an survey through E- Mail. I will send an HTML form to a potential candidate to fill provide some feedback and submit that form. when candidate submits that form I need to create xml, attach that xml to email and send back to me. I have mentioned my email in mailto element. After that I will read that mail and by parsing xml get the candidate feedback.
Please suggest me some solution to this problem.
Thanks,
Jashan

Hi,
with a little search on net I found some code which sends fom data as attachment, but the attachment extention is .ATT how could I make it .xml or how could I retrieve the xml embedded in the attachment. Give a try to following code and suggest some solution.
<html>
   <head>
      <title>Enter the title of your HTML document here</title>
   </head>
   <body>
<form name="input_form"><pre>
   Name: <input name="username" type="text">
Comment: <input name="comment"  type="text">
</pre></form>
<script>
function update_message_body ()
     var username = document . input_form . username . value;
     var comment  = document . input_form . comment  . value;
     var txt="<?xml version="1.0" encoding="ISO-8859-1"?>n"
     txt=txt+"<candidate_details>n"
     txt=txt+"<name>" + username + "</name>n"
     txt=txt+"<comment>" + comment + "</comment>n"
     txt=txt+"</candidate_details>n";
     document . proxy_form . message_body . value = txt;
     return true;
</script>
<form name    ="proxy_form"
      method  ="post"
      enctype ="multipart/form-data"
      action  ="mailto:[email protected]?subject=Form Data"
      onSubmit="return update_message_body ();">
<input type=hidden name="message_body">
<input type=submit value="send mail">
</form>
   </body>
</html>
Regards,
Jashan

Similar Messages

  • How send a Print Form as attachment PDF?

    Hi everybody,
    I have created an Interactive Forms where I can input any new data.
    When I click on the button for save the new data, I must also convert my Interactive Form in PDF for send it as attachment to email. When I have groped to convert the interactive form in a PDF file, I lost the data that I have inserted.
    So I have created a Print Form through transaction SFP.
    I recall the print form in background mode and gets the form of Interactive Data and requiring as import table OTF,  but the OTF table is returned to me is different from that of a smartform and so I can not use the function module u2018CONVERT_OTFu2019.
    Carryover in the code, you know give me directions?
    With the code I'm used to create the PDF file and attach it to email, but the files that I receive by email can not I open it, probably because of an error in formatting during its creation.
    I look forward to your advice,
    Davide.

    Dear sirs, I can provide this program schema to send PDF print form as an email attachment. Hope it will help a bit.
    FUNCTION ZPDF_MAIL_SEND.
    ""Lokální rozhraní:
    *"  IMPORTING
    *"     VALUE(PDF) TYPE  FPCONTENT
    *"     VALUE(EMAIL) TYPE  AD_SMTPADR
      DATA lt_att_content_hex TYPE solix_tab.
      CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
        EXPORTING
          buffer     = pdf
        TABLES
          binary_tab = lt_att_content_hex.
      CLASS cl_bcs DEFINITION LOAD.
      DATA:
      lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.
      lo_send_request = cl_bcs=>create_persistent( ).
    Message body and subject
      DATA:
      lt_message_body TYPE bcsy_text VALUE IS INITIAL,
      lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.
      CALL FUNCTION 'ZREC_MAIL_GET_BODY'
        IMPORTING
          message_body = lt_message_body.
    Message document
      lo_document = cl_document_bcs=>create_document(
      i_type = 'RAW'
      i_text = lt_message_body
      i_subject = 'Úloha: vyplňte prosím následující formulář' ).
    Add attachment
      DATA: lx_document_bcs TYPE REF TO cx_document_bcs VALUE IS INITIAL.
      TRY.
          lo_document->add_attachment(
          EXPORTING
          i_attachment_type = 'PDF'
          i_attachment_subject = 'Formulář'
    I_ATTACHMENT_SIZE =
    I_ATTACHMENT_LANGUAGE = SPACE
    I_ATT_CONTENT_TEXT =
    I_ATTACHMENT_HEADER =
          i_att_content_hex = lt_att_content_hex ).
        CATCH cx_document_bcs INTO lx_document_bcs.
      ENDTRY.
    Pass the document to send request
      lo_send_request->set_document( lo_document ).
    Create sender
      DATA: lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL.
      lo_sender = cl_cam_address_bcs=>create_internet_address( email ).
    Set sender
      lo_send_request->set_sender(
      EXPORTING
      i_sender = lo_sender ).
    Create recipient
      DATA:
      lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.
      lo_recipient = cl_sapuser_bcs=>create( sy-uname ).
    Set recipient
      lo_send_request->add_recipient(
      EXPORTING
      i_recipient = lo_recipient
      i_express = 'X' ).
      lo_send_request->add_recipient(
      EXPORTING
      i_recipient = lo_recipient
      i_express = 'X' ).
    Send email
      DATA: lv_sent_to_all(1) TYPE c VALUE IS INITIAL.
      TRY.
          lo_send_request->send(
            EXPORTING
              i_with_error_screen = 'X'
            RECEIVING
              result = lv_sent_to_all
            EXCEPTIONS
              OTHERS = 1 ).
       CATCH cx_send_req_bcs. .
        CLEANUP.
      ENDTRY.
      COMMIT WORK.
      MESSAGE 'Formulář byl odeslán' TYPE 'I'.
    ENDFUNCTION.

  • Send Adobe Form As Attachment

    hi Experts
    I need send Adobe Form as attachment
    this is part of my prog. ******************
    TRY.
          lr_send_request->send(
          EXPORTING
          i_with_error_screen = 'X'
          RECEIVING
          result = lv_sent_to_all ).
        CATCH cx_send_req_bcs INTO lr_send_req_bcs.
      ENDTRY.
      COMMIT WORK.
    but after execute  I get Error(Dump):
    *Calling a COMMIT WORK in an update process is not allowed*
    *because the function modules triggered in a Logical Unit*
    *of Work cannot then be processed correctly.*
    I tried to use UpdateFunction(call function in update task), but in this case I get Empty PDF File .
    How can I solve this problem?
    Thanks,
    Larissa

    You want to commit to send the email. But the commit is not allowed in the update task. That is not Adobe-related problem in my opinion. Maybe you should ask the question in ABAP general? And about that "blank" pdf... is that a problem with PDF printing? That means GETPDF = 'X' not working? Or what is your adobe related problem?
    Regards Otto

  • Sending Mail with attachment from WD

    Hi all,
    I wan't to send an email from webdynpro with an attached pdf-document. I had a look at Tutorial 31, but i will only use the first part, sending email with attached interactive form. So I decided to build a new project. I did everything as in the tutorial described, but when entering the following code into the wdDoInit method from the SendView an error occurs.
    //@@begin wdDoInit()
         //     @TODO Enter your email address for the setFrom and setTo methods by replacing the text in angle brackets.
         wdContext.currentEmailElement().setFrom("[email protected]");
         wdContext.currentEmailElement().setTo("[email protected]");
         wdContext.currentEmailElement().setCc("");
         wdContext.currentEmailElement().setBcc("");
         wdContext.currentEmailElement().setSubject("Travel Request Form");
         wdContext.currentEmailElement().setBody("BlaBlaBla");   
        //@@end
    In the coding is no error. In the Context node of the SendView I created a new value node with the value attributes. When writing the code and using strg+space i can complete automatically, so no writing errors.
    When deploying and running the application I get always a NullPointerException, if make no difference if i delete one entry or which line of code i insert, the same error.
    java.lang.NullPointerException
         at com.ao.test.emailtest.SendView.wdDoInit(SendView.java:99)
         at com.ao.test.emailtest.wdp.InternalSendView.wdDoInit(InternalSendView.java:127)
         at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doInit(DelegatingView.java:61)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
         at com.sap.tc.webdynpro.progmodel.view.View.initController(View.java:274)
         at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
    I've compared my project with the one from tutorial but i found no differences.
    Have anybody have an idea what to do?
    Thanks
    Mathias

    Hi,
    NullpOinter excepttion could be bcose of "currentEmailElement()".
    Please create an element of EmailNode before these statements.
    IPrivate<ViewName>.IEmailElement ele=wdContext.createEmailElement();
    wdContext.NodeEmail().addElement(ele);
    You can use the following for sending attachments :
    BodyPart messageBodyPart = new MimeBodyPart();
    messageBodyPart.setText(Attachment);
    Multipart multipart = new MimeMultipart();
    multipart.addBodyPart(messageBodyPart);
    messageBodyPart = new MimeBodyPart();
    DataSource source = new FileDataSource(Attachment);
    messageBodyPart.setDataHandler(new DataHandler(source));
    messageBodyPart.setFileName(Attachment);
    multipart.addBodyPart(messageBodyPart);
    msg.setContent(multipart);
    Regards, Anilkumar
    Message was edited by: Anilkumar Vippagunta

  • Convert Script output data to Text(.txt) file & send mail with attachment.

    Hi All,
    Requirement: I shulb be able to conver th Script output data to Text(.text) file & send a maill with attachment with this text file. Formant of text file should be like output of Print priview.
    Plese sugget with Function modules to cover as Text file.
    I am able to converting the Script output data to PDF and sending mail with attachment. So I don't want PDF file now.
    Thanks in advance.

    Hi, Thanks for responst.
    We can convert the Scirpt output to PDF file by using OTF function module and the PDF file looks like Print Privew output.
    Same like this I want Script out in NOTEPAD (.txt). Is that possible, Plz sugget with relavent Function Modules.
    Thanks.

  • Conver SAPscript data to PFD and send mail as attachement

    Hi all,
    I have reqirement as conver SAP script data to PDF and send id as attachemetn to respective email ids.
    I have data in t_tdline internal table after CLOSE_FORM. Now I'm able to convert to PDF and sending a mail (checking in SOST). But not able to send as an attachement.
    Can anybody suggest the steps with respective function modules to convert to pdf and send as an attachement.
    Thanks in advance.

    So once you have the data in TDLINE, you have to convert it to PDF attachment using below code
    DATA : l_o_send_request TYPE REF TO cl_bcs,
      l_o_document TYPE REF TO cl_document_bcs,
      l_o_sender TYPE REF TO cl_sapuser_bcs,
    *  l_o_recipient TYPE REF TO cl_cam_address_bcs,
      l_o_recipient TYPE REF TO cl_sapuser_bcs,
      bcs_exception TYPE REF TO cx_bcs,
      l_v_ret TYPE os_boolean,
      l_it_contents TYPE bcsy_text,
      l_wa_contents TYPE LINE OF bcsy_text,
      l_it_attachment TYPE solix_tab,
      l_s_attachment  TYPE solix.
    CALL METHOD cl_document_bcs=>xstring_to_solix
      EXPORTING
        ip_xstring = pdfobject-pdf
      receiving
        rt_solix   = l_it_attachment
      TRY.
          l_o_send_request = cl_bcs=>create_persistent( ).
          l_o_sender = cl_sapuser_bcs=>create( sy-uname ).
    *      l_o_sender = cl_cam_address_bcs=>create_internet_address( '<SY-UNAME>' ).
          l_o_send_request->set_sender( i_sender = l_o_sender ).
          " recipient TO
    *      l_o_recipient = cl_cam_address_bcs=>create_internet_address( 'abcd<at>email' ).
          l_o_recipient = cl_sapuser_bcs=>create( '<SY-UNAME>' ).
          l_o_send_request->add_recipient(
          i_recipient = l_o_recipient
          i_copy = '' " CC indicator
          " email contents
          CLEAR l_wa_contents.
          l_wa_contents-line = 'Find attached the output of the Adobe Forms'.
          APPEND l_wa_contents TO l_it_contents.
          " create documents
          l_o_document = cl_document_bcs=>create_document(
          i_type = 'RAW' " RAW document format
          i_text = l_it_contents
          i_subject = 'This Is The Subject for Email With Attachment'
          l_o_document->add_attachment(
          i_attachment_type = 'PDF' " add PDF attachment
          i_attachment_subject = 'PDF attachment'
          i_att_content_hex = l_it_attachment
          l_o_send_request->set_document( l_o_document ).
          " send email
          l_o_send_request->set_send_immediately( 'X' ).
          l_v_ret = l_o_send_request->send( ).
        CATCH cx_bcs INTO bcs_exception.
      ENDTRY.
      COMMIT WORK.

  • Send file as attachment via mail

    Dear All,
    I want to send a report (ALV) as attachment to some mail. I am using SO_NEW_DOCUMENT_SEND_API1. Can you please suggest how can I send mail as attachment. I am able to send ALV report as HTML format. I want to send it as attachment.
    Thanks and regards,
    Atanu

    Hi,
    plz check the below code.
    it sends Excel sheet attachment with the mail using FM 'SO_DOCUMENT_SEND_API1'
    code>>>>>>>>>>>>>>>>>>>>.
    form send_email_with_attachment .
    DATA: l_t_objbin LIKE solisti1 OCCURS 100 WITH HEADER LINE.
      DATA: i_body TYPE soli_tab WITH HEADER LINE.
      DATA: l_t_objtxt  LIKE solisti1   OCCURS 100 WITH HEADER LINE.
      DATA: l_t_objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
      DATA: l_t_objhead LIKE solisti1   OCCURS 1 WITH HEADER LINE.
      DATA: l_t_reclist LIKE somlreci1  OCCURS 5 WITH HEADER LINE.
      DATA: w_tabln TYPE i .              "for number of table lines
      DATA: w_line        TYPE so_text255.       " Line of text
      DATA: l_doc_chng  LIKE sodocchgi1.
      DATA: l_tab_lines LIKE sy-tabix.
      DATA: l_att_lines TYPE i.
      DATA: lv_lines  TYPE i.
      DATA : BEGIN OF wa_mrpnm,
               werks TYPE ZCSVT024D-werks,
               dispo TYPE ZCSVT024D-dispo,
               name_first TYPE ZCSVT024D-name_first,
               name_last  TYPE ZCSVT024D-name_last,
             END OF wa_mrpnm,
             l_i_mrpnm LIKE STANDARD TABLE OF wa_mrpnm.
      DATA : l_name TYPE string.
    *Used for delimiting the columns in Excel Sheet.
      CLASS cl_abap_char_utilities DEFINITION LOAD.
      CONSTANTS:
      cr_mark(2) TYPE c VALUE cl_abap_char_utilities=>horizontal_tab.
      constants c_l_newline type ABAP_CHAR1 value %_NEWLINE. "#EC NOTEXT
      CLEAR : l_t_objpack,
      l_t_objhead,
      l_t_objbin,
      l_t_objtxt,
      l_t_reclist.
      REFRESH: l_t_objpack,
      l_t_objhead,
      l_t_objbin,
      l_t_objtxt,
      l_t_reclist.
    Creating the content of the e-mail message text
      IF sy-sysid(1) = 'P'.
        IF p_order = 'X'.
         l_doc_chng-obj_name   = 'Subcontracting Setup Report'(m02).
          CONCATENATE 'Details of Orders Extract'(028) 'for Plant'(029)
                       p_werks
                       INTO l_doc_chng-obj_descr SEPARATED BY space.
          l_doc_chng-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( l_t_objtxt ).
        ELSE.
         l_doc_chng-obj_name   = 'TEST ONLY!! SC Setup Report'(m03).
          CONCATENATE 'Details of Forecast Extract'(030) 'for Plant'(029)
                       p_werks
                       INTO l_doc_chng-obj_descr SEPARATED BY space.
          l_doc_chng-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( l_t_objtxt ).
        ENDIF.
      ELSE.
        IF p_order = 'X'.
         l_doc_chng-obj_name   = 'Subcontracting Setup Report'(m02).
          CONCATENATE 'Details of Orders Extract'(028) 'for Plant'(029)
                       p_werks 'TEST TEST TEST'
                       INTO l_doc_chng-obj_descr SEPARATED BY space.
          l_doc_chng-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( l_t_objtxt ).
        ELSE.
         l_doc_chng-obj_name   = 'TEST ONLY!! SC Setup Report'(m03).
          CONCATENATE 'Details of Forecast Extract'(030) 'for Plant'(029)
                       p_werks 'TEST TEST TEST'
                       INTO l_doc_chng-obj_descr SEPARATED BY space.
          l_doc_chng-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( l_t_objtxt ).
        ENDIF.
      ENDIF.
      l_t_objtxt = 'Hi,'(036).
      APPEND l_t_objtxt.
      CLEAR l_t_objtxt.
      APPEND l_t_objtxt.
      CONCATENATE 'Please open the attachment to review details of the Report'(031)
                  'for plant'(029) p_werks INTO l_t_objtxt
                   SEPARATED BY space.
      APPEND l_t_objtxt.
      CLEAR l_t_objtxt.
      APPEND l_t_objtxt.
      DESCRIBE TABLE t_ddow LINES sy-tfill .
      IF sy-tfill GT 0 .
        MOVE 'These Materials have been marked as DDOW materials.'(032)
                TO l_t_objtxt.
        APPEND l_t_objtxt.
        CLEAR l_t_objtxt.
        APPEND l_t_objtxt.
        APPEND l_t_objtxt.
        APPEND l_t_objtxt.
        CONCATENATE 'Note! - This is an automatically generated email by the'(034)
                         'SAP system. Pls do not reply to the sender.'(035)
                   INTO  l_t_objtxt
                   SEPARATED BY space.
        APPEND l_t_objtxt.
        DESCRIBE TABLE l_t_objtxt LINES l_tab_lines.
        READ TABLE l_t_objtxt INDEX l_tab_lines.
       l_doc_chng-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( l_t_objtxt )
      Creating the entry for the email text in the packing list
        CLEAR l_t_objpack-transf_bin.
        l_t_objpack-head_start = 1.
        l_t_objpack-head_num = 1.
        l_t_objpack-body_start = 1.
        l_t_objpack-body_num = l_tab_lines.
        l_t_objpack-doc_type = 'RAW'.
        lv_lines = l_tab_lines.
        APPEND l_t_objpack.
    Columns Heading for Excel Attachment.
        CONCATENATE  'MRP Controller'(044)
                     'MRP Name'(047)
                     'Material'(037)
                     'Plant'(026)
                     'PP Cal'(038)
                     'Ship Date'(009)
                     'PO Number'(014)
                     'PO Line'(033)
                     'PP Text'(041)
             INTO i_body
            SEPARATED BY cr_mark.
        concatenate ' ' i_body into i_body separated by c_l_newline.
        APPEND i_body TO l_t_objtxt.
        CLEAR i_body.
      Get MRP Names
        SELECT werks dispo name_first name_last
          FROM ZCSVT024D
          INTO TABLE l_i_mrpnm
          FOR ALL ENTRIES IN t_ddow
          WHERE werks = t_ddow-werks
            AND dispo = t_ddow-dispo.
        IF sy-subrc = 0.
          SORT l_i_mrpnm by werks dispo.
        ENDIF.
    Data to be shown in Excel Sheet.
        LOOP AT t_ddow INTO w_ddow.
          CLEAR : l_name.
          READ TABLE l_i_mrpnm INTO wa_mrpnm WITH KEY werks = w_ddow-werks
                                                      dispo = w_ddow-dispo
                                                      BINARY SEARCH.
          IF sy-subrc = 0.
            CONCATENATE wa_mrpnm-name_first wa_mrpnm-name_last
              INTO l_name SEPARATED BY space.
          ENDIF.
          CONCATENATE  w_ddow-dispo
                       l_name
                       w_ddow-matnr
                       w_ddow-werks
                       w_ddow-mrppp
                       w_ddow-datum
                       w_ddow-ebeln
                       w_ddow-ebelp
                       w_ddow-pptxt
                INTO i_body
            SEPARATED BY cr_mark.
          concatenate ' ' i_body into i_body separated by c_l_newline.
          APPEND i_body TO l_t_objtxt.
          CLEAR : w_ddow.
        ENDLOOP.
        DESCRIBE TABLE l_t_objtxt LINES l_tab_lines.
        DESCRIBE TABLE l_t_objtxt LINES l_att_lines.
        l_tab_lines = l_tab_lines - lv_lines.
      Creating the entry for attachment in the packing list
      objpack-transf_bin = 'X'.
        lv_lines = lv_lines + 1.
        l_t_objpack-head_start = 2.
        l_t_objpack-head_num = 1.
        l_t_objpack-body_start = lv_lines.
        l_t_objpack-body_num = l_tab_lines.
        l_t_objpack-doc_type = 'XLS'.
        l_t_objpack-obj_name = 'DDOW_Materials'(045).
        l_t_objpack-obj_descr = 'DDOW Marked Materials'(046).
        l_t_objpack-doc_size = l_tab_lines * 255.
        APPEND l_t_objpack.
        lv_lines = l_att_lines.
         **RECEIVERS...
        LOOP AT t_ddow INTO w_ddow.
          REFRESH l_t_reclist .
          CLEAR l_t_reclist.
    * get the MRP controller from table
          READ TABLE t_mrpc INTO w_mrpc WITH KEY werks = p_werks
                                                 dispo = w_ddow-dispo
                                                 BINARY SEARCH .
          IF sy-subrc EQ 0 .
            MOVE: 'X'               TO l_t_reclist-express   ,
                  'U'               TO l_t_reclist-rec_type  ,
                  w_mrpc-smtp_addr  TO l_t_reclist-receiver  .
                  APPEND l_t_reclist.
            EXIT.
          ENDIF.
        ENDLOOP.
      Sending the document
        IF NOT l_t_reclist[] IS INITIAL.
          CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
            EXPORTING
              document_data              = l_doc_chng
              commit_work                = 'X'
            TABLES
              packing_list               = l_t_objpack
              object_header              = l_t_objhead
              contents_bin               = l_t_objbin
              contents_txt               = l_t_objtxt
              receivers                  = l_t_reclist
            EXCEPTIONS
              too_many_receivers         = 1
              document_not_sent          = 2
              operation_no_authorization = 4
              OTHERS                     = 99.
        ENDIF.
        IF sy-subrc <> 0.
    * Do nothing
        ELSE.
          COMMIT WORK AND WAIT.
          MESSAGE s899(8a) WITH 'Email Message sent successfully'."#EC
        ENDIF.
      ENDIF.
    <<<<<<<<<<<<<<<<<<<<<<<
    regards,
    vikas.
    plz reward if helpful..

  • Send Excel as attachment with colors in coloums

    Hi,
    I need to send Excel as attachment and some particular columns should be coloured.
    I am sending Excel attachment using FM SO_DOCUMENT_SEND_API1 when report executed in foreground.
    Please help how to make columns coloured.
    Thanks,
    Phani

    hi,
    This report demonstrates how to send some ABAP data to an EXCEL sheet using OLE automation by this it makes EXCEL columns colorful.
    TYPE-POOLS OLE2 .
    * handles for OLE objects
    DATA: H_EXCEL TYPE OLE2_OBJECT,        " Excel object
           H_MAPL TYPE OLE2_OBJECT,         " list of workbooks
           H_MAP TYPE OLE2_OBJECT,          " workbook
           H_ZL TYPE OLE2_OBJECT,           " cell
           H_F TYPE OLE2_OBJECT,            " font
           H_C TYPE OLE2_OBJECT.            " color
    DATA: FILENAME LIKE RLGRAP-FILENAME.
    TABLES: SPFLI.
    DATA  H TYPE I.
    * table of flights
    DATA: IT_SPFLI LIKE SPFLI OCCURS 10 WITH HEADER LINE.
    *&   Event START-OF-SELECTION
    START-OF-SELECTION.
    * read flights
       SELECT * FROM SPFLI INTO TABLE IT_SPFLI.
    * display header
       ULINE (61).
       WRITE: /     SY-VLINE NO-GAP,
               (3)  'Flg'(001) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
               (4)  'Nr'(002) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
               (20) 'Von'(003) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
               (20) 'Nach'(004) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP,
               (8)  'Zeit'(005) COLOR COL_HEADING NO-GAP, SY-VLINE NO-GAP.
       ULINE /(61).
    * display flights
       LOOP AT IT_SPFLI.
         WRITE: / SY-VLINE NO-GAP,
                  IT_SPFLI-CARRID COLOR COL_KEY NO-GAP, SY-VLINE NO-GAP,
                  IT_SPFLI-CONNID COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
                  IT_SPFLI-CITYFROM COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
                  IT_SPFLI-CITYTO COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP,
                  IT_SPFLI-DEPTIME COLOR COL_NORMAL NO-GAP, SY-VLINE NO-GAP.
       ENDLOOP.
       ULINE /(61).
    * tell user what is going on
       CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
    *           PERCENTAGE = 0
                TEXT       = TEXT-007
            EXCEPTIONS
                 OTHERS     = 1.
    * start Excel
       CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.
    *  PERFORM ERR_HDL.
       SET PROPERTY OF H_EXCEL  'Visible' = 1.
    *  CALL METHOD OF H_EXCEL 'FILESAVEAS' EXPORTING #1 = 'c:\kis_excel.xls'  .
    *  PERFORM ERR_HDL.
    * tell user what is going on
       CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
    *           PERCENTAGE = 0
                TEXT       = TEXT-008
            EXCEPTIONS
                 OTHERS     = 1.
    * get list of workbooks, initially empty
       CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
       PERFORM ERR_HDL.
    * add a new workbook
       CALL METHOD OF H_MAPL 'Add' = H_MAP.
       PERFORM ERR_HDL.
    * tell user what is going on
       CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
          EXPORTING
    *           PERCENTAGE = 0
                TEXT       = TEXT-009
            EXCEPTIONS
                 OTHERS     = 1.
    * output column headings to active Excel sheet
       PERFORM FILL_CELL USING 1 1 1 200 'Carrier id'(001).
       PERFORM FILL_CELL USING 1 2 1 200 'Connection id'(002).
       PERFORM FILL_CELL USING 1 3 1 200 'City from'(003).
       PERFORM FILL_CELL USING 1 4 1 200 'City to'(004).
       PERFORM FILL_CELL USING 1 5 1 200 'Dep. Time'(005).
       LOOP AT IT_SPFLI.
    * copy flights to active EXCEL sheet
         H = SY-TABIX + 1.
         IF IT_SPFLI-CARRID CS 'AA'.
           PERFORM FILL_CELL USING H 1 0 000255000 IT_SPFLI-CARRID.
         ELSEIF IT_SPFLI-CARRID CS 'AZ'.
           PERFORM FILL_CELL USING H 1 0 168000000 IT_SPFLI-CARRID.
         ELSEIF IT_SPFLI-CARRID CS 'JL'.
           PERFORM FILL_CELL USING H 1 0 168168000 IT_SPFLI-CARRID.
         ELSEIF IT_SPFLI-CARRID CS 'LH'.
           PERFORM FILL_CELL USING H 1 0 111111111 IT_SPFLI-CARRID.
         ELSEIF IT_SPFLI-CARRID CS 'SQ'.
           PERFORM FILL_CELL USING H 1 0 100100100 IT_SPFLI-CARRID.
         ELSE.
           PERFORM FILL_CELL USING H 1 0 000145000 IT_SPFLI-CARRID.
         ENDIF.
         IF IT_SPFLI-CONNID LT 400.
           PERFORM FILL_CELL USING H 2 0 255000255 IT_SPFLI-CONNID.
         ELSEIF IT_SPFLI-CONNID LT 800.
           PERFORM FILL_CELL USING H 2 0 077099088 IT_SPFLI-CONNID.
         ELSE.
           PERFORM FILL_CELL USING H 2 0 246156138 IT_SPFLI-CONNID.
         ENDIF.
         IF IT_SPFLI-CITYFROM CP 'S*'.
           PERFORM FILL_CELL USING H 3 0 155155155 IT_SPFLI-CITYFROM.
         ELSEIF IT_SPFLI-CITYFROM CP 'N*'.
           PERFORM FILL_CELL USING H 3 0 189111222 IT_SPFLI-CITYFROM.
         ELSE.
           PERFORM FILL_CELL USING H 3 0 111230222 IT_SPFLI-CITYFROM.
         ENDIF.
         IF IT_SPFLI-CITYTO CP 'S*'.
           PERFORM FILL_CELL USING H 4 0 200200200 IT_SPFLI-CITYTO.
         ELSEIF IT_SPFLI-CITYTO CP 'N*'.
           PERFORM FILL_CELL USING H 4 0 000111222 IT_SPFLI-CITYTO.
         ELSE.
           PERFORM FILL_CELL USING H 4 0 130230230 IT_SPFLI-CITYTO.
         ENDIF.
         IF IT_SPFLI-DEPTIME LT '020000'.
           PERFORM FILL_CELL USING H 5 0 145145145 IT_SPFLI-DEPTIME.
         ELSEIF IT_SPFLI-DEPTIME LT '120000' .
           PERFORM FILL_CELL USING H 5 0 015215205 IT_SPFLI-DEPTIME.
         ELSEIF IT_SPFLI-DEPTIME LT '180000' .
           PERFORM FILL_CELL USING H 5 0 000215205 IT_SPFLI-DEPTIME.
         ELSE.
           PERFORM FILL_CELL USING H 5 0 115115105 IT_SPFLI-DEPTIME.
         ENDIF.
       ENDLOOP.
    * EXCEL FILENAME
       CONCATENATE SY-REPID '_' SY-DATUM+6(2) '_' SY-DATUM+4(2) '_'
                   SY-DATUM(4) '_' SY-UZEIT '.XLS' INTO FILENAME.
       CALL METHOD OF H_MAP 'SAVEAS' EXPORTING #1 = FILENAME.
       FREE OBJECT H_EXCEL.
       PERFORM ERR_HDL.
    *       FORM FILL_CELL                                                *
    *       sets cell at coordinates i,j to value val boldtype bold       *
    FORM FILL_CELL USING I J BOLD COL VAL.

  • Regarding sending Email as attachment

    Hi guys.
    One unique issue.
    I meed to send a file as an attachment to one perticular address. Got to knowt that some function module like So_attmail would work. But that sends the content as body of the mail. But i want the file to be sent as attachment. Could someone help me this plz.
    If possible also let me know what are the parameters that i need to pass in short.
    Thanks in advance.
    Abhi.

    Hi Abhi,
    Have a look at this example:
    http://www.sap-img.com/abap/sending-email-with-attachment.htm
    http://www.sap-img.com/abap/sending-mail-with-attachment-report-in-background.htm
    http://www.sap-img.com/fu016.htm
    1. We can send files with attachment.
    However, There is some trick involved
    in the binary files.
    2. I have made a program (and it works fantastic)
    ONLY 6 LINES FOR EMAILING
    BELIEVE ME
    ITS A FANTASTIC PROGRAM.
    IT WILL WORK LIKE OUTLOOK EXPRESS !
    3. The user is provided with
    a) file name
    b) email address to send mail
    and it sends ANY FILE (.xls,.pdf .xyz..)
    Instantaneously !
    4. Make two things first :
    1. Include with the name : ZAMI_INCLFOR_MAIL
    2. Report with the name : ZAM_TEMP147 (any name will do)
    3. Activate both and execute (2)
    4. After providing filename, email adress
    5. Code for Include :
    10.08.2005 Amit M - Created
    Include For Mail (First Req F16)
    Modification Log
    Data
    DATA: docdata LIKE sodocchgi1,
    objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
    objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
    objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objhex LIKE solix OCCURS 10 WITH HEADER LINE,
    reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
    DATA: tab_lines TYPE i,
    doc_size TYPE i,
    att_type LIKE soodk-objtp.
    DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
    FORM
    FORM ml_customize USING objname objdesc.
    Clear Variables
    CLEAR docdata.
    REFRESH objpack.
    CLEAR objpack.
    REFRESH objhead.
    REFRESH objtxt.
    CLEAR objtxt.
    REFRESH objbin.
    CLEAR objbin.
    REFRESH objhex.
    CLEAR objhex.
    REFRESH reclist.
    CLEAR reclist.
    REFRESH listobject.
    CLEAR listobject.
    CLEAR tab_lines.
    CLEAR doc_size.
    CLEAR att_type.
    Set Variables
    docdata-obj_name = objname.
    docdata-obj_descr = objdesc.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addrecp USING preceiver prec_type.
    CLEAR reclist.
    reclist-receiver = preceiver.
    reclist-rec_type = prec_type.
    APPEND reclist.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addtxt USING ptxt.
    CLEAR objtxt.
    objtxt = ptxt.
    APPEND objtxt.
    ENDFORM. "ml_customize
    FORM
    FORM ml_prepare USING bypassmemory whatatt_type whatname.
    IF bypassmemory = ''.
    Fetch List From Memory
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = listobject
    EXCEPTIONS
    OTHERS = 1.
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'LIST_FROM_MEMORY'.
    ENDIF.
    CALL FUNCTION 'TABLE_COMPRESS'
    IMPORTING
    COMPRESSED_SIZE =
    TABLES
    in = listobject
    out = objbin
    EXCEPTIONS
    OTHERS = 1
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'TABLE_COMPRESS'.
    ENDIF.
    ENDIF.
    Header Data
    Already Done Thru FM
    Main Text
    Already Done Thru FM
    Packing Info For Text Data
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'TXT'.
    APPEND objpack.
    Packing Info Attachment
    att_type = whatatt_type..
    DESCRIBE TABLE objbin LINES tab_lines.
    READ TABLE objbin INDEX tab_lines.
    objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = att_type.
    objpack-obj_name = 'ATTACHMENT'.
    objpack-obj_descr = whatname.
    APPEND objpack.
    Receiver List
    Already done thru fm
    ENDFORM. "ml_prepare
    FORM
    FORM ml_dosend.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = docdata
    put_in_outbox = 'X'
    commit_work = 'X' "used from rel. 6.10
    IMPORTING
    SENT_TO_ALL =
    NEW_OBJECT_ID =
    TABLES
    packing_list = objpack
    object_header = objhead
    contents_bin = objbin
    contents_txt = objtxt
    CONTENTS_HEX = objhex
    OBJECT_PARA =
    object_parb =
    receivers = reclist
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    OTHERS = 8
    IF sy-subrc <> 0.
    MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
    WITH docdata-obj_name.
    ENDIF.
    ENDFORM. "ml_customize
    FORM
    FORM ml_spooltopdf USING whatspoolid.
    DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.
    Call Function
    CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
    EXPORTING
    src_spoolid = whatspoolid
    TABLES
    pdf = pdf
    EXCEPTIONS
    err_no_otf_spooljob = 1
    OTHERS = 12.
    Convert
    PERFORM doconv TABLES pdf objbin.
    ENDFORM. "ml_spooltopdf
    FORM
    FORM doconv TABLES
    mypdf STRUCTURE tline
    outbin STRUCTURE solisti1.
    Data
    DATA : pos TYPE i.
    DATA : len TYPE i.
    Loop And Put Data
    LOOP AT mypdf.
    pos = 255 - len.
    IF pos > 134. "length of pdf_table
    pos = 134.
    ENDIF.
    outbin+len = mypdf(pos).
    len = len + pos.
    IF len = 255. "length of out (contents_bin)
    APPEND outbin.
    CLEAR: outbin, len.
    IF pos < 134.
    outbin = mypdf+pos.
    len = 134 - pos.
    ENDIF.
    ENDIF.
    ENDLOOP.
    IF len > 0.
    APPEND outbin.
    ENDIF.
    ENDFORM. "doconv
    CODE FOR PROGRAM
    5.
    REPORT zam_temp147 .
    INCLUDE zami_inclfor_mail.
    DATA
    DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA : file_name TYPE string.
    data : path like PCFILE-PATH.
    data : extension(5) type c.
    data : name(100) type c.
    SELECTION SCREEN
    PARAMETERS : receiver TYPE somlreci1-receiver lower case.
    PARAMETERS : p_file LIKE rlgrap-filename
    OBLIGATORY.
    AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CLEAR p_file.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    file_name = p_file.
    START-OF-SELECTION
    START-OF-SELECTION.
    PERFORM ml_customize USING 'Tst' 'Testing'.
    PERFORM ml_addrecp USING receiver 'U'.
    PERFORM upl.
    PERFORM doconv TABLES itab objbin.
    PERFORM ml_prepare USING 'X' extension name.
    PERFORM ml_dosend.
    SUBMIT rsconn01
    WITH mode EQ 'INT'
    AND RETURN.
    FORM
    FORM upl.
    file_name = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = file_name
    filetype = 'BIN'
    TABLES
    data_tab = itab
    EXCEPTIONS
    file_open_error = 1
    file_read_error = 2
    no_batch = 3
    gui_refuse_filetransfer = 4
    invalid_type = 5
    no_authority = 6
    unknown_error = 7
    bad_data_format = 8
    header_not_allowed = 9
    separator_not_allowed = 10
    header_too_long = 11
    unknown_dp_error = 12
    access_denied = 13
    dp_out_of_memory = 14
    disk_full = 15
    dp_timeout = 16
    OTHERS = 17.
    path = file_name.
    CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
    EXPORTING
    complete_filename = path
    CHECK_DOS_FORMAT =
    IMPORTING
    DRIVE =
    EXTENSION = extension
    NAME = name
    NAME_WITH_EXT =
    PATH =
    EXCEPTIONS
    INVALID_DRIVE = 1
    INVALID_EXTENSION = 2
    INVALID_NAME = 3
    INVALID_PATH = 4
    OTHERS = 5
    ENDFORM. "upl
    <b>PS : Reward points if helpful</b>
    Thanks,
    Ramya.

  • Sending mail without attachment file

    Hi Sapfans:
    I would like to send mail without attachment file, just a notice,
    needing multiple receiver, can change the mail title,
    Which function shoud I use?
    I just found out sending mail with attachment file there,
    Thanks a lot!

    Hi Alchie,
    Please take a look at my example below. It sens e-mail to multiple recipients without attachments.
    FUNCTION-POOL zts0001                    MESSAGE-ID sv.
    INCLUDE lsvimdat                                . "general data decl.
    INCLUDE lzts0001t00                             . "view rel. data dcl.
    */ Author: Aris Hidalgo
    */ Created on: September 7, 2006
    */ Purpose of program: This will send out e-mails to specified users in
    */ custom table ZSHIPTO_EMAIL whenever records have been deleted or
    */ modified via the maintenance view of ZTS0001. The changes will also
    */ be reflected in custom table ZTS_STPGEOLOC.
    TABLES: zts_stpgeoloc,
            zshipto_email,
            kna1.
    FIELD-SYMBOLS: <fs_old_total> TYPE ANY.
    *       CLASS lcl_main DEFINITION ABSTRACT
    CLASS lcl_main DEFINITION ABSTRACT.
      PUBLIC SECTION.
        TYPES: BEGIN OF t_zts0001_old,
                kunnr    TYPE zts0001-kunnr,
                cdseq    TYPE zts0001-cdseq,
                zaddress TYPE zts0001-zaddress,
                zcperson TYPE zts0001-zcperson,
                zcnumber TYPE zts0001-zcnumber,
               END OF t_zts0001_old.
        TYPES: BEGIN OF t_zts0001_new,
                kunnr    TYPE zts0001-kunnr,
                cdseq    TYPE zts0001-cdseq,
                zaddress TYPE zts0001-zaddress,
                zcperson TYPE zts0001-zcperson,
                zcnumber TYPE zts0001-zcnumber,
               END OF t_zts0001_new.
        TYPES: BEGIN OF t_zts_stpgeoloc,
                kunnr    TYPE zts_stpgeoloc-kunnr,
                cdseq    TYPE zts_stpgeoloc-cdseq,
                zaddress TYPE zts_stpgeoloc-zaddress,
                zcperson TYPE zts_stpgeoloc-zcperson,
                zcnumber TYPE zts_stpgeoloc-zcnumber,
               END OF t_zts_stpgeoloc.
        TYPES: BEGIN OF t_del_entries,
                kunnr    TYPE zts0001-kunnr,
                cdseq    TYPE zts0001-cdseq,
                zaddress TYPE zts0001-zaddress,
                zcperson TYPE zts0001-zcperson,
                zcnumber TYPE zts0001-zcnumber,
                name1    TYPE kna1-name1,
               END OF t_del_entries.
        TYPES: BEGIN OF t_modified_entries,
                kunnr       TYPE zts0001-kunnr,
                cdseq       TYPE zts0001-cdseq,
                old_address TYPE zts0001-zaddress,
                new_address TYPE zts0001-zaddress,
                old_person  TYPE zts0001-zcperson,
                new_person  TYPE zts0001-zcperson,
                old_number  TYPE zts0001-zcnumber,
                new_number  TYPE zts0001-zcnumber,
                name1       TYPE kna1-name1,
               END OF t_modified_entries.
        DATA: gt_zts0001_old      TYPE STANDARD TABLE OF t_zts0001_old,
              gt_zts0001_new      TYPE HASHED   TABLE OF t_zts0001_new
                                           WITH UNIQUE KEY kunnr cdseq,
              gt_zts_stpgeoloc    TYPE STANDARD TABLE OF t_zts_stpgeoloc,
              gt_del_entries      TYPE STANDARD TABLE OF t_del_entries,
              gt_modified_entries TYPE STANDARD TABLE OF t_modified_entries,
              gt_zshipto_email    TYPE STANDARD TABLE OF zshipto_email,
              t_maildata          TYPE sodocchgi1,
              gt_mailtxt          TYPE STANDARD TABLE OF solisti1,
              gt_mailrec          TYPE STANDARD TABLE OF somlreci1.
        DATA: v_old_total     TYPE i,
              v_new_total     TYPE i,
              v_flag(1)       TYPE c,
              v_counter(1)    TYPE c,
              v_contents(255) TYPE c.
    ENDCLASS.
    *       CLASS lcl_get_old_recs DEFINITION
    CLASS lcl_get_old_recs DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: export_old_recs.
    ENDCLASS.
    *       CLASS lcl_get_old_recs IMPLEMENTATION
    CLASS lcl_get_old_recs IMPLEMENTATION.
      METHOD export_old_recs.
        SELECT kunnr cdseq zaddress zcperson zcnumber
        FROM zts0001
        INTO TABLE gt_zts0001_old.
        v_old_total = sy-dbcnt.
        ASSIGN v_old_total TO <fs_old_total>.
        EXPORT gt_zts0001_old = gt_zts0001_old TO MEMORY ID 'AVH'.
        CLEAR gt_zts0001_old. REFRESH gt_zts0001_old.
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_old_and_new DEFINITION
    CLASS lcl_old_and_new DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: compare_old_and_new.
    ENDCLASS.
    *       CLASS lcl_old_and_new IMPLEMENTATION
    CLASS lcl_old_and_new IMPLEMENTATION.
      METHOD compare_old_and_new.
        DATA: wa_del_entries    LIKE LINE OF gt_del_entries.
        FIELD-SYMBOLS: <fs_old> LIKE LINE OF gt_zts0001_old,
                       <fs_new> LIKE LINE OF gt_zts0001_new.
        SELECT kunnr cdseq zaddress zcperson zcnumber
        FROM zts0001
        INTO TABLE gt_zts0001_new.
        v_new_total = sy-dbcnt.
        IF v_new_total <> <fs_old_total>.
          IMPORT gt_zts0001_old = gt_zts0001_old FROM MEMORY ID 'AVH'.
          LOOP AT gt_zts0001_old ASSIGNING <fs_old>.
            READ TABLE gt_zts0001_new WITH TABLE KEY kunnr = <fs_old>-kunnr
                                                     cdseq = <fs_old>-cdseq
                                                     ASSIGNING <fs_new>.
            IF sy-subrc <> 0.
              MOVE-CORRESPONDING <fs_old> TO wa_del_entries.
              APPEND wa_del_entries TO gt_del_entries.
              CLEAR wa_del_entries.
              DELETE FROM zts_stpgeoloc
              WHERE kunnr = <fs_old>-kunnr
                AND cdseq = <fs_old>-cdseq.
            ENDIF.
          ENDLOOP.
          IF NOT gt_del_entries[] IS INITIAL.
            EXPORT gt_del_entries = gt_del_entries TO MEMORY ID 'DEL'.
          ENDIF.
          REFRESH gt_zts0001_old.
        ENDIF.
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_check_changes DEFINITION
    CLASS lcl_check_changes DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: check_for_changes.
    ENDCLASS.
    *       CLASS lcl_check_changes IMPLEMENTATION
    CLASS lcl_check_changes IMPLEMENTATION.
      METHOD check_for_changes.
        TYPES: BEGIN OF t_zts_stpgeoloc,
                mandt    TYPE zts_stpgeoloc-mandt,
                kunnr    TYPE zts_stpgeoloc-kunnr,
                cdseq    TYPE zts_stpgeoloc-cdseq,
                zcgeoloc TYPE zts_stpgeoloc-zcgeoloc,
                zaddress TYPE zts_stpgeoloc-zaddress,
                zcperson TYPE zts_stpgeoloc-zcperson,
                zcnumber TYPE zts_stpgeoloc-zcnumber,
               END OF t_zts_stpgeoloc.
        DATA: wa_modified_entries LIKE LINE OF gt_modified_entries,
              lt_zts_stpgeoloc    TYPE HASHED TABLE OF t_zts_stpgeoloc
                                       WITH UNIQUE KEY kunnr cdseq,
              wa_zts_stpgeoloc    LIKE LINE OF lt_zts_stpgeoloc.
        FIELD-SYMBOLS: <fs_zts0001_old> LIKE LINE OF gt_zts0001_old,
                       <fs_zts0001_new> LIKE LINE OF gt_zts0001_new.
        IMPORT gt_zts0001_old = gt_zts0001_old FROM MEMORY ID 'AVH'.
        SELECT kunnr cdseq zcgeoloc zaddress zcperson zcnumber
        FROM zts_stpgeoloc
        INTO CORRESPONDING FIELDS OF TABLE lt_zts_stpgeoloc.
        SELECT kunnr cdseq zaddress zcperson zcnumber
        FROM zts0001
        INTO TABLE gt_zts0001_new.
        LOOP AT gt_zts0001_old ASSIGNING <fs_zts0001_old>.
          READ TABLE gt_zts0001_new WITH TABLE KEY
                                         kunnr = <fs_zts0001_old>-kunnr
                                         cdseq = <fs_zts0001_old>-cdseq
                                         ASSIGNING <fs_zts0001_new>.
          IF sy-subrc = 0.
            READ TABLE lt_zts_stpgeoloc WITH TABLE KEY
                                            kunnr = <fs_zts0001_new>-kunnr
                                            cdseq = <fs_zts0001_new>-cdseq
                                            INTO wa_zts_stpgeoloc.
            IF sy-subrc = 0.
              wa_zts_stpgeoloc-mandt    = sy-mandt.
              wa_zts_stpgeoloc-kunnr    = <fs_zts0001_new>-kunnr.
              wa_zts_stpgeoloc-cdseq    = <fs_zts0001_new>-cdseq.
              wa_zts_stpgeoloc-zcgeoloc = space.
              wa_zts_stpgeoloc-zaddress = <fs_zts0001_new>-zaddress.
              wa_zts_stpgeoloc-zcperson = <fs_zts0001_new>-zcperson.
              wa_zts_stpgeoloc-zcnumber = <fs_zts0001_new>-zcnumber.
              MODIFY zts_stpgeoloc FROM wa_zts_stpgeoloc.
              COMMIT WORK AND WAIT.
            ENDIF.
    *       address
            IF <fs_zts0001_old>-zaddress <> <fs_zts0001_new>-zaddress.
              MOVE: <fs_zts0001_new>-kunnr  TO wa_modified_entries-kunnr,
                    <fs_zts0001_new>-cdseq  TO wa_modified_entries-cdseq,
              <fs_zts0001_old>-zaddress TO wa_modified_entries-old_address,
              <fs_zts0001_new>-zaddress TO wa_modified_entries-new_address.
              v_flag = 1.
            ENDIF.
    *       person
            IF <fs_zts0001_old>-zcperson <> <fs_zts0001_new>-zcperson.
              MOVE: <fs_zts0001_new>-kunnr  TO wa_modified_entries-kunnr,
                    <fs_zts0001_new>-cdseq  TO wa_modified_entries-cdseq,
              <fs_zts0001_old>-zcperson TO wa_modified_entries-old_person,
              <fs_zts0001_new>-zcperson TO wa_modified_entries-new_person.
              v_flag = 1.
            ENDIF.
    *       number
            IF <fs_zts0001_old>-zcnumber <> <fs_zts0001_new>-zcnumber.
              MOVE: <fs_zts0001_new>-kunnr  TO wa_modified_entries-kunnr,
                    <fs_zts0001_new>-cdseq  TO wa_modified_entries-cdseq,
              <fs_zts0001_old>-zcnumber TO wa_modified_entries-old_number,
              <fs_zts0001_new>-zcnumber TO wa_modified_entries-new_number.
              v_flag = 1.
            ENDIF.
          ENDIF.
          IF v_flag = 1.
            APPEND wa_modified_entries TO gt_modified_entries.
            CLEAR wa_modified_entries.
          ENDIF.
    *     update ZTS_STPGEOLOC based from the modified records in ZTS0001
          IF v_flag = 1.
            CLEAR v_flag.
            UPDATE zts_stpgeoloc SET zaddress  = <fs_zts0001_new>-zaddress
                                      zcperson = <fs_zts0001_new>-zcperson
                                      zcnumber = <fs_zts0001_new>-zcnumber
                                   WHERE kunnr = <fs_zts0001_new>-kunnr
                                     AND cdseq = <fs_zts0001_new>-cdseq.
          ENDIF.
        ENDLOOP.
        IF NOT gt_modified_entries[] IS INITIAL.
        EXPORT gt_modified_entries = gt_modified_entries TO MEMORY ID 'MOD'
        ENDIF.
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_messages DEFINITION
    CLASS lcl_messages DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: create_message.
    ENDCLASS.
    *       CLASS lcl_messages IMPLEMENTATION
    CLASS lcl_messages IMPLEMENTATION.
      METHOD create_message.
        FIELD-SYMBOLS: <fs_email> LIKE LINE OF gt_zshipto_email,
                       <fs_del>   LIKE LINE OF gt_del_entries,
                       <fs_mod>   LIKE LINE OF gt_modified_entries.
        DATA: wa_mailtxt LIKE LINE OF gt_mailtxt,
              wa_mailrec LIKE LINE OF gt_mailrec.
        IMPORT gt_modified_entries = gt_modified_entries
                                     FROM MEMORY ID 'MOD'.
        IMPORT gt_del_entries = gt_del_entries FROM MEMORY ID 'DEL'.
        SELECT * FROM zshipto_email INTO TABLE gt_zshipto_email
         WHERE zevent = '2'.
        IF sy-dbcnt > 0.
    */    routine for records that were deleted
          IF NOT gt_del_entries[] IS INITIAL.
            t_maildata-obj_name  = 'Record Deleted in table ZTS0001'.
            t_maildata-obj_descr = 'Record Deleted in table ZTS0001'.
            t_maildata-obj_langu = sy-langu.
            CLEAR: v_flag, v_counter.
            LOOP AT gt_zshipto_email ASSIGNING <fs_email>.
              LOOP AT gt_del_entries ASSIGNING <fs_del>.
    *           get name of dealer
                SELECT SINGLE name1 FROM kna1
                INTO <fs_del>-name1
                WHERE kunnr = <fs_del>-kunnr.
                IF v_counter IS INITIAL.
                 CONCATENATE: 'FYI: The ff record/s were deleted in tables'
                               'ZTS0001 and ZTS_STPGEOLOC by user' sy-uname
                                                          INTO v_contents
                                                         SEPARATED BY space.
                  wa_mailtxt-line =  v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                ENDIF.
                APPEND wa_mailtxt TO gt_mailtxt. "Extra space for message
                CONCATENATE: 'Dealer :' <fs_del>-kunnr '-'
                             <fs_del>-name1
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Ship-To:' <fs_del>-cdseq
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Address:' <fs_del>-zaddress
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Contact person:' <fs_del>-zcperson
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Contact number:' <fs_del>-zcnumber
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                v_counter = 1.
              ENDLOOP.
              wa_mailrec-receiver = <fs_email>-zemail.
              wa_mailrec-rec_type  = 'U'.
              APPEND wa_mailrec TO gt_mailrec.
              CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
                   EXPORTING
                        document_data              = t_maildata
                        document_type              = 'RAW'
                        put_in_outbox              = 'X'
    *                  commit_work                = 'X'
                   TABLES
    *                  object_header              = mailtxt
                        object_content             = gt_mailtxt
                        receivers                  = gt_mailrec
                   EXCEPTIONS
                        too_many_receivers         = 1
                        document_not_sent          = 2
                        document_type_not_exist    = 3
                        operation_no_authorization = 4
                        parameter_error            = 5
                        x_error                    = 6
                        enqueue_error              = 7
                        OTHERS                     = 8.
              IF sy-subrc <> 0.
                MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              ENDIF.
              CLEAR:    wa_mailtxt, wa_mailrec.
              REFRESH:  gt_mailtxt, gt_mailrec.
            ENDLOOP.
          ENDIF.
          CLEAR wa_mailtxt.
          REFRESH gt_mailtxt.
    */    routine for records that were modified
          IF NOT gt_modified_entries[] IS INITIAL.
            CLEAR t_maildata.
            t_maildata-obj_name  = 'Record changed in table ZTS0001'.
            t_maildata-obj_descr = 'Record changed in table ZTS0001'.
            t_maildata-obj_langu = sy-langu.
            CLEAR v_counter.
            LOOP AT gt_zshipto_email ASSIGNING <fs_email>.
              CONCATENATE: 'FYI: The ff records were changed in tables'
                           'ZTS0001 and ZTS_STPGEOLOC by user' sy-uname
                           INTO v_contents
                           SEPARATED BY space.
              wa_mailtxt-line =  v_contents.
              APPEND wa_mailtxt TO gt_mailtxt.
              CLEAR: wa_mailtxt, v_contents.
              LOOP AT gt_modified_entries ASSIGNING <fs_mod>.
    *          get name of dealer
                SELECT SINGLE name1 FROM kna1
                INTO <fs_mod>-name1
                WHERE kunnr = <fs_mod>-kunnr.
                APPEND wa_mailtxt TO gt_mailtxt.
                CONCATENATE: 'Dealer :' <fs_mod>-kunnr '-'
                             <fs_mod>-name1
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
                CONCATENATE: 'Ship-To:' <fs_mod>-cdseq
                             INTO v_contents
                             SEPARATED BY space.
                wa_mailtxt-line = v_contents.
                APPEND wa_mailtxt TO gt_mailtxt.
                CLEAR: wa_mailtxt, v_contents.
    *           address
                IF NOT <fs_mod>-old_address IS INITIAL AND
                   NOT <fs_mod>-new_address IS INITIAL.
                  CONCATENATE: 'Address from:' <fs_mod>-old_address
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                  CONCATENATE: 'Address to  :' <fs_mod>-new_address
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                ENDIF.
    *           person
                IF NOT <fs_mod>-old_person IS INITIAL AND
                       NOT <fs_mod>-new_person IS INITIAL.
                  CONCATENATE: 'Contact person from:'
                               <fs_mod>-old_person
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                  CONCATENATE: 'Contact person to  :'
                               <fs_mod>-new_person
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                ENDIF.
    *           number
                IF NOT <fs_mod>-old_number IS INITIAL AND
                       NOT <fs_mod>-new_number IS INITIAL.
                  CONCATENATE: 'Contact number from:'
                               <fs_mod>-old_number
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                  CONCATENATE: 'Contact number to  :'
                               <fs_mod>-new_number
                               INTO v_contents
                               SEPARATED BY space.
                  wa_mailtxt-line = v_contents.
                  APPEND wa_mailtxt TO gt_mailtxt.
                  CLEAR: wa_mailtxt, v_contents.
                ENDIF.
              ENDLOOP.
              wa_mailrec-receiver = <fs_email>-zemail.
              wa_mailrec-rec_type  = 'U'.
              APPEND wa_mailrec TO gt_mailrec.
              CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
                   EXPORTING
                        document_data              = t_maildata
                        document_type              = 'RAW'
                        put_in_outbox              = 'X'
    *                  commit_work                = 'X'
                   TABLES
    *                  object_header              = mailtxt
                        object_content             = gt_mailtxt
                        receivers                  = gt_mailrec
                   EXCEPTIONS
                        too_many_receivers         = 1
                        document_not_sent          = 2
                        document_type_not_exist    = 3
                        operation_no_authorization = 4
                        parameter_error            = 5
                        x_error                    = 6
                        enqueue_error              = 7
                        OTHERS                     = 8.
              IF sy-subrc <> 0.
                MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              ENDIF.
              CLEAR:    wa_mailtxt, wa_mailrec.
              REFRESH:  gt_mailtxt, gt_mailrec.
            ENDLOOP.
          ENDIF.
        ENDIF.
        FREE MEMORY ID 'AVH'.
        FREE MEMORY ID 'DEL'.
        FREE MEMORY ID 'MOD'.
      ENDMETHOD.
    ENDCLASS.
    START-OF-SELECTION.
    *       FORM get_orig_contents_of_zts0001                             *
    */ before saving the data in the database
    FORM get_orig_contents_of_zts0001.
      DATA: get_old_recs TYPE REF TO lcl_get_old_recs.
      CREATE OBJECT get_old_recs.
      CALL METHOD get_old_recs->export_old_recs.
    ENDFORM.
    *       FORM get_rev_contents_of_zts0001                              *
    */ after saving the data in the database
    FORM get_rev_contents_of_zts0001.
      DATA: old_and_new   TYPE REF TO lcl_old_and_new,
            check_changes TYPE REF TO lcl_check_changes,
            messages      TYPE REF TO lcl_messages.
      CREATE OBJECT: old_and_new, check_changes, messages.
      CALL METHOD old_and_new->compare_old_and_new.
      CALL METHOD check_changes->check_for_changes.
      CALL METHOD messages->create_message.
    ENDFORM.
    *       FORM move_latest_date_and_user                                *
    FORM move_latest_date_and_user.
      zts0001-zcreated_by   = sy-uname.
      zts0001-zchanged_date = sy-datum.
    ENDFORM.
    Hope it helps...
    P.S. Please award points if it helps...

  • Sending email as attachment

    Hi ,
    Iam trying to code for sending email as attachement but iam not able to find y the mail is not getting attached and send to the receipent ..
    My file (MNR.pdf )is there in C:\Incometax folder
    I have coded like this : Everyhting is running fine but mail is not send
    data: itcpo like itcpo,
    tab_lines like sy-tabix.
    Variables for EMAIL functionality
    perform send_form_via_email.
    endform.                    " output_display
    FORM SEND_FORM_VIA_EMAIL *
    form send_form_via_email.
    Creation of the document to be sent File Name
    maildata-obj_name = 'C:\Incometax\MNR.pdf'.
    Mail Subject
    maildata-obj_descr = 'Subject'.
    Mail Contents
    mailtxt-line = 'Income tax'.
    append mailtxt.
    Prepare Packing List
    perform prepare_packing_list.
    Set recipient - email address here!!!
    mailrec-receiver = '[email protected]'.
    mailrec-rec_type = 'U'.
    append mailrec.
    Sending the document
    call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    exporting
    document_data = maildata
    put_in_outbox = ' '
    tables
    packing_list = mailpack
    object_header = mailhead
    contents_bin = mailbin
    contents_txt = mailtxt
    receivers = mailrec
    exceptions
    too_many_receivers = 1
    document_not_sent = 2
    operation_no_authorization = 4
    others = 99.
    if sy-subrc eq 0 .
    write :/ 'mail send '.
    endif .
    endform.
    Form PREPARE_PACKING_LIST
    form prepare_packing_list.
    clear: mailpack, mailbin, mailhead.
    refresh: mailpack, mailbin, mailhead.
    describe table mailtxt lines tab_lines.
    read table mailtxt index tab_lines.
    maildata-doc_size = ( tab_lines - 1 ) * 255 + strlen( mailtxt ).
    Creation of the entry for the compressed document
    clear mailpack-transf_bin.
    mailpack-head_start = 1.
    mailpack-head_num = 0.
    mailpack-body_start = 1.
    mailpack-body_num = tab_lines.
    mailpack-doc_type = 'BCS'.
    append mailpack.
    mailhead = 'C:\Incometax\MNR.pdf'.
    append mailhead.
    File 1
    mailbin = 'This is file 1'.
    append mailbin.
    describe table mailbin lines tab_lines.
    mailpack-transf_bin = 'X'.
    mailpack-head_start = 1.
    mailpack-head_num = 1.
    mailpack-body_start = 1.
    mailpack-body_num = tab_lines.
    mailpack-doc_type = 'BCS'.
    mailpack-obj_name = 'C:\Incometax\MNR.pdf'.
    mailpack-obj_descr = 'Subject'.
    mailpack-doc_size = tab_lines * 255.
    append mailpack.
    *File 2
    mailbin = 'This is file 2'.
    append mailbin.
    data: start type i.
    data: end type i.
    start = tab_lines + 1.
    describe table mailbin lines end.
    mailpack-transf_bin = 'X'.
    mailpack-head_start = 1.
    mailpack-head_num = 1.
    mailpack-body_start = start.
    mailpack-body_num = end.
    mailpack-doc_type = 'BCS'.
    mailpack-obj_name = 'C:\Incometax\MNR.pdf'.
    mailpack-obj_descr = 'Subject'.
    mailpack-doc_size = tab_lines * 255.
    append mailpack.
    endform.

    Hi,
    pls chk this sample code.
    report zXYZ_0003.
    data: itcpo like itcpo,
          tab_lines like sy-tabix.
    * Variables for EMAIL functionality
    data: maildata   like sodocchgi1.
    data: mailpack   like sopcklsti1 occurs 2 with header line.
    data: mailhead   like solisti1 occurs 1 with header line.
    data: mailbin    like solisti1 occurs 10 with header line.
    data: mailtxt    like solisti1 occurs 10 with header line.
    data: mailrec    like somlrec90 occurs 0  with header line.
    data: solisti1   like solisti1 occurs 0 with header line.
    perform send_form_via_email.
    *       FORM  SEND_FORM_VIA_EMAIL                                      *
    form  send_form_via_email.
      clear:    maildata, mailtxt, mailbin, mailpack, mailhead, mailrec.
      refresh:  mailtxt, mailbin, mailpack, mailhead, mailrec.
    * Creation of the document to be sent File Name
      maildata-obj_name = 'TEST'.
    * Mail Subject
      maildata-obj_descr = 'Subject'.
    * Mail Contents
      mailtxt-line = 'Here is your file'.
      append mailtxt.
    * Prepare Packing List
      perform prepare_packing_list.
    * Set recipient - email address here!!!
      mailrec-receiver = '[email protected]'.
      mailrec-rec_type  = 'U'.
      append mailrec.
    * Sending the document
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           exporting
                document_data              = maildata
                put_in_outbox              = ' '
           tables
                packing_list               = mailpack
                object_header              = mailhead
                contents_bin               = mailbin
                contents_txt               = mailtxt
                receivers                  = mailrec
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                operation_no_authorization = 4
                others                     = 99.
    endform.
    *      Form  PREPARE_PACKING_LIST
    form prepare_packing_list.
      clear:    mailpack, mailbin, mailhead.
      refresh:  mailpack, mailbin, mailhead.
      describe table mailtxt lines tab_lines.
      read table mailtxt index tab_lines.
      maildata-doc_size = ( tab_lines - 1 ) * 255 + strlen( mailtxt ).
    * Creation of the entry for the compressed document
      clear mailpack-transf_bin.
      mailpack-head_start = 1.
      mailpack-head_num = 0.
      mailpack-body_start = 1.
      mailpack-body_num = tab_lines.
      mailpack-doc_type = 'RAW'.
      append mailpack.
      mailhead = 'TEST.TXT'.
      append mailhead.
    * File 1
      mailbin = 'This is file 1'.
      append mailbin.
      describe table mailbin lines tab_lines.
      mailpack-transf_bin = 'X'.
      mailpack-head_start = 1.
      mailpack-head_num = 1.
      mailpack-body_start = 1.
      mailpack-body_num = tab_lines.
      mailpack-doc_type = 'TXT'.
      mailpack-obj_name = 'TEST1'.
      mailpack-obj_descr = 'Subject'.
      mailpack-doc_size = tab_lines * 255.
      append mailpack.
    endform.
    Regards,
    Anver
    <b><i>if hlped pls mark points</i></b>

  • Send Form Data to PC via USB cabile

    Respected SIr/Madam
    I want to send Form Data or RMS Data to PC via USB data cabile .
    Is it Possible ?
    if it is possible then please give me some idea how to make it
    thanks in advanse
    Souvik

    Yes ..
    First ensure that driver for the Data cable is installed.
    Get the comm port number .
    In windows
    control panel->Phone & Modem options ->Modems..
    The Comm port no for the data cable is present in Attached To column.
    In Linux ..
    you can get it by checking the Device options
    Next
    U need to establish a connection between PC & Handset using the comm port.
    Note that The comm port obtained here is the reference commport in the PC..
    U can get the comm port number in Handset using the J2ME application itself..
    String port;
    String ports = System.getProperty("microedition.commports");
    int comma = ports.indexOf(',');
    if (comma > 0) {
    // Parse the first port from the available ports list.
    port = ports.substring(0, comma);
    } else {
    // Only one serial port available.
    port =ports;
    /*Below is a code example showing how you can use serial I/O API to open a connection and read/write
    to it. */
    //using commconnection since midp2.0
    CommConnection commConn =
    (CommConnection)Connector.open("comm:COM0;baudrate=115200", Connector.READ_WRITE,
    true);
    InputStream iStream = commConn.openInputStream();
    OutputStream oStream = commConn.openOutputStream();
    String sMessage = "send";
    oStream.write(sMessage.getBytes());
    Thread tRead = new Thread() {
    public void run() {
    while (true) {
    StringBuffer sb = new StringBuffer();
    while(true) {
    int c = iStream.read();
    if(c != '\r') {
    sb.append((char)c);
    else
    break;
    try {
    sleep(1000);
    catch (InterruptedException e) {}
    tRead.start();For some handsets that do not support CommConnection, you can use StreamConnection in place of
    CommConnection with the same result:
    StreamConnection commConn =
    (StreamConnection)Connector.open("comm:COM0";baudrate=115200"); The above code is for J2me application running on Handset ...
    In PC you can refer it using the comm port identified from the Control Panel.

  • Error during sending a PDF attachment of a mail

    Hi everebody,
                      I'm using a custom program [ see below ] ( in which there is the call to the std function SO_DOCUMENT_SEND_API1) to send a PDF attachment to an user's SAPOFFICE: in release 4.6C it works correctly but the same programm in ECC6 it doesn't work correctly.  I mean: the mail is sent correctly with the attachment, but when I try to open the attachment this one doesn't open correctly showing a PDF error message.
    Any help?
                gino bonfiglioli
    *& Report  Z_UT_CONVERT_SPOOL_PDF
    REPORT  z_ut_convert_spool_pdf.
    TABLES: tsp01.
    variabili globali
    *data: fm_name            type rs38l_fnam,
         output_options     type ssfcompop,
         control_parameters type ssfctrlop,
         job_output_info    type ssfcrescl,
         job_output_options type ssfcresop,
    DATA: spoolno            LIKE tsp01-rqident,
          dir_pdf            LIKE rlgrap-filename,
          numbytes           TYPE i,
          pagecount          TYPE i,
          w_cnt              TYPE i,
          wk_subrc           LIKE sy-subrc,
          pdfspoolid         LIKE tsp01-rqident,
          gd_buffer          TYPE string,
          pdf                LIKE tline OCCURS 100 WITH HEADER LINE,
          stampante          LIKE usr01-spld,
          tot_line   TYPE sy-tabix,
          tot_line2  TYPE sy-tabix,
          start_line TYPE sy-tabix.
    tabelle interne per 1a mail
    DATA: BEGIN OF it_email OCCURS 100.
            INCLUDE STRUCTURE solisti1.
    DATA: END OF it_email.
    DATA: BEGIN OF email_data.
            INCLUDE STRUCTURE sodocchgi1.
    DATA: END OF email_data.
    DATA: BEGIN OF email_send OCCURS 10.
            INCLUDE STRUCTURE somlreci1.
    DATA: END OF email_send.
    DATA: packing_list TYPE STANDARD TABLE OF sopcklsti1 WITH HEADER LINE,
          it_mess_att  LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          receivers    TYPE STANDARD TABLE OF somlreci1 WITH HEADER LINE.
    fine tabelle interne per 1a mail
    PARAMETER: p_spool LIKE tsp01-rqident.
    START-OF-SELECTION.
      PERFORM conversione_spool_pdf USING wk_subrc.
      IF wk_subrc EQ 0.
        PERFORM invio_mail.
      ENDIF.
    *&      Form  CONVERSIONE_SPOOL_PDF
          text
         -->P_P_SUBRC  text
    FORM conversione_spool_pdf  USING    p_subrc.
    **- Conversione in PDF
      CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
          EXPORTING
            src_spoolid                    = p_spool
            no_dialog                      = ' '
          DST_DEVICE                     =
          PDF_DESTINATION                =
          IMPORTING
            pdf_bytecount                  = numbytes
            pdf_spoolid                    = pdfspoolid
            otf_pagecount                  = pagecount
           btc_jobname                    = jobname
           btc_jobcount                   = jobcount
          TABLES
            pdf                            = pdf
          EXCEPTIONS
            err_no_otf_spooljob            = 1
            err_no_spooljob                = 2
            err_no_permission              = 3
            err_conv_not_possible          = 4
            err_bad_dstdevice              = 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.
      p_subrc = sy-subrc.
    ENDFORM.                    " CONVERSIONE_SPOOL_PDF
    *&      Form  invio_mail
          text
    -->  p1        text
    <--  p2        text
    FORM invio_mail .
    Transfer the 132-long strings to 255-long strings
      LOOP AT pdf.
        TRANSLATE pdf USING ' ~'.
        CONCATENATE gd_buffer pdf INTO gd_buffer.
      ENDLOOP.
      TRANSLATE gd_buffer USING '~ '.
      DO.
        it_mess_att = gd_buffer.
        APPEND it_mess_att.
        SHIFT gd_buffer LEFT BY 255 PLACES.
        IF gd_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    Testo della mail
      CLEAR it_email. REFRESH it_email.
      it_email-line = 'Testo della mail'.
      APPEND it_email.
    Creazione messaggio
      email_data-obj_name      = 'MESSAGE'.
      email_data-obj_descr     = 'Conversione spool n.'.
      email_data-obj_descr+26  = p_spool.
      email_data-obj_langu     = 'I'.
      email_data-sensitivty    = 'F'.
      READ TABLE it_mess_att INDEX w_cnt.
      email_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( it_mess_att ).
      start_line = 1.
      DESCRIBE TABLE it_email LINES tot_line.
      packing_list-transf_bin = ' '.
      packing_list-doc_type   = 'RAW'.
      packing_list-head_start = 1.
      packing_list-head_num   = 0.
      packing_list-body_start = 1.
      packing_list-body_num   = tot_line.
      packing_list-obj_langu  = sy-langu.
      APPEND packing_list.
      APPEND LINES OF it_mess_att TO it_email.
      CLEAR packing_list.
    Riga iniziale = ultima riga messaggio precedente + 1
      start_line = tot_line + 1.
      DESCRIBE TABLE it_mess_att LINES tot_line.
      packing_list-transf_bin = 'X'.
      packing_list-head_start = 1.
      packing_list-head_num   = 1.
      packing_list-body_start = 1.
      DESCRIBE TABLE it_mess_att LINES packing_list-body_num.
      packing_list-doc_type   = 'PDF'.
      packing_list-obj_descr  = 'Allegato PDF.'.
      packing_list-doc_size   =  packing_list-body_num * 255.
      packing_list-obj_langu  = sy-langu.
      APPEND packing_list.
    destinatario interno a SAP
      receivers-receiver = sy-uname.
      receivers-rec_type = 'B'.
      receivers-express = 'X'.
      APPEND receivers.
    destinatario esterno a SAP: deve essere un idirizzo email:
    receivers-receiver = '[email protected]'.
    receivers-rec_type = 'U'.
    APPEND receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
      EXPORTING
        document_data                    = email_data
        put_in_outbox                    = 'X'
       SENDER_ADDRESS                   = SY-UNAME
        sender_address_type              = 'B'
       COMMIT_WORK                      = 'X'
    IMPORTING
      SENT_TO_ALL                      =
      NEW_OBJECT_ID                    =
      SENDER_ID                        =
      TABLES
        packing_list                   = packing_list
        contents_bin                   = it_mess_att
        contents_txt                   = it_email
        receivers                      = receivers
    EXCEPTIONS
       too_many_receivers               = 1
       document_not_sent                = 2
       document_type_not_exist          = 3
       operation_no_authorization       = 4
       parameter_error                  = 5
       x_error                          = 6
       enqueue_error                    = 7
       OTHERS                           = 8.
      IF sy-subrc <> 0.
    errore invio mail
      ENDIF.

    Hi,
    Try to use fm 'SO_NEW_DOCUMENT_ATT_SEND_API1' instead of SO_DOCUMENT_SEND_API1.
    Please check documentation of fm SO_DOCUMENT_SEND_API1 in ECC 6.

  • Problem in sending  mail with attachment

    Hi All,
    I am using the function module <b>'SO_NEW_DOCUMENT_ATT_SEND_API1'</b> to send mail with attachment.
    the program executes properly and shows a message <b>'Document Sent'</b>. But neither the sent mail appears in <b>'SOST'</b> nor I get it on the specified email id.
    Below is my code:
    <b>***</b> As attachment I am sending resume whose contents are stored in table 'ZResume' corresponding to personnel no.(pernr) and serial No.(srno).
    <b>START OF PROGRAM</b>----
    REPORT  ZPTEST_SEND_MAIL_ATTATCHMENT.
    DATA : w_name TYPE sos04-l_adr_name.
    DATA: RESUME TYPE table of XSTRING with header line.
    START-OF-SELECTION.
    <b>* Data Declaration</b>
      DATA:
        l_datum(10),
        ls_docdata    TYPE sodocchgi1,
        lt_objpack    TYPE TABLE OF sopcklsti1 WITH HEADER LINE,
        lt_objhead    TYPE TABLE OF solisti1   WITH HEADER LINE,
        lt_objtxt     TYPE TABLE OF solisti1   WITH HEADER LINE,
        lt_objbin     TYPE TABLE OF solisti1   WITH HEADER LINE,
        lt_reclist    TYPE TABLE OF somlreci1  WITH HEADER LINE,
        lt_listobject TYPE TABLE OF abaplist   WITH HEADER LINE,
        l_tab_lines TYPE i,
        l_att_type  LIKE soodk-objtp.
      WRITE sy-datum TO l_datum.
      SELECT SINGLE RESUME FROM ZRESUME INTO RESUME
          WHERE PERNR EQ '00001182'
          AND SRNO EQ '1'.
    APPEND RESUME.
    <b>* Because RESUME may be  of size RAW(1000)
    and objbin is of size CHAR(255) we make this table copy</b>
    CALL FUNCTION 'TABLE_COMPRESS'
        TABLES
          in             = resume
          out            = lt_objbin
        EXCEPTIONS
          compress_error = 1
          OTHERS         = 2.
      IF sy-subrc <> 0.
      Error in function module &1
        MESSAGE ID '61' TYPE 'E' NUMBER '731'
           WITH 'TABLE_COMPRESS'.
      ENDIF.
    <b>* Create the message and send the document.
    Create Message Body</b>
    <b>* Title and Description</b>
      ls_docdata-obj_name = 'Resume'.
      ls_docdata-obj_descr = 'Resume'.
    <b>* Main Text</b>
      lt_objtxt = 'Resume of the candidate' .
      APPEND lt_objtxt.
    <b>* Write Packing List (Main)</b>
      DESCRIBE TABLE lt_objtxt LINES l_tab_lines.
      READ TABLE lt_objtxt INDEX l_tab_lines.
      ls_docdata-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( lt_objtxt ).
      CLEAR lt_objpack-transf_bin.
      lt_objpack-head_start = 1.
      lt_objpack-head_num = 0.
      lt_objpack-body_start = 1.
      lt_objpack-body_num = l_tab_lines.
      lt_objpack-doc_type = 'RAW'.
      APPEND lt_objpack.
    <b>* Create Message Attachment
    Write Packing List (Attachment)</b>
      l_att_type = 'ALI'.
      DESCRIBE TABLE lt_objbin LINES l_tab_lines.
      READ TABLE lt_objbin INDEX l_tab_lines.
      lt_objpack-doc_size = ( l_tab_lines - 1 ) * 255 + STRLEN( lt_objbin ).
      lt_objpack-transf_bin = 'X'.
      lt_objpack-head_start = 1.
      lt_objpack-head_num = 0.
      lt_objpack-body_start = 1.
      lt_objpack-body_num = l_tab_lines.
      lt_objpack-doc_type = l_att_type.
      lt_objpack-obj_name = 'ATTACHMENT'.
      lt_objpack-obj_descr = 'Resume'.                  
      APPEND lt_objpack.
    <b>* Create receiver list</b>
        lt_reclist-receiver = '[email protected]'.
        lt_reclist-rec_type = 'U'.
        APPEND lt_reclist.
    <b>* Send Message</b>
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = ls_docdata
          put_in_outbox              = ''
        TABLES
          packing_list               = lt_objpack
          object_header              = lt_objhead
          contents_bin               = lt_objbin
          contents_txt               = lt_objtxt
          receivers                  = lt_reclist
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          document_type_not_exist    = 3
          operation_no_authorization = 4
          parameter_error            = 5
          x_error                    = 6
          enqueue_error              = 7
          OTHERS                     = 8.
      IF sy-subrc = 0.
      Document sent
        MESSAGE ID 'SO' TYPE 'S' NUMBER '022'.
      ELSE.
      Document <&> could not be sent
        MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
           WITH ls_docdata-obj_name.
      ENDIF.
    <b>END OF PROGRAM</b>----
    Can anybody tell me where I am making mistake?
    Thanks in advance,
    Pragya

    Hi Pragya,
    Refer the code below. It's working fine and try to match up the things from your program.
    REPORT ZSAMPL_001 .
    INCLUDE ZINCLUDE_01.
    DATA
    DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA : file_name TYPE string.
    data : path like PCFILE-PATH.
    data : extension(5) type c.
    data : name(100) type c.
    SELECTION SCREEN
    PARAMETERS : receiver TYPE somlreci1-receiver lower case.
    PARAMETERS : p_file LIKE rlgrap-filename
    OBLIGATORY.
    AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CLEAR p_file.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    file_name = p_file.
    START-OF-SELECTION
    START-OF-SELECTION.
    PERFORM ml_customize USING 'Tst' 'Testing'.
    PERFORM ml_addrecp USING receiver 'U'.
    PERFORM upl.
    PERFORM doconv TABLES itab objbin.
    PERFORM ml_prepare USING 'X' extension name.
    PERFORM ml_dosend.
    SUBMIT rsconn01
    WITH mode EQ 'INT'
    AND RETURN.
    FORM
    FORM upl.
    file_name = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = file_name
    filetype = 'BIN'
    TABLES
    data_tab = itab
    EXCEPTIONS
    *file_open_error = 1
    *file_read_error = 2
    *no_batch = 3
    *gui_refuse_filetransfer = 4
    *invalid_type = 5
    *no_authority = 6
    *unknown_error = 7
    *bad_data_format = 8
    *header_not_allowed = 9
    *separator_not_allowed = 10
    *header_too_long = 11
    *unknown_dp_error = 12
    *access_denied = 13
    *dp_out_of_memory = 14
    *disk_full = 15
    *dp_timeout = 16
    *OTHERS = 17.
    path = file_name.
    CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
    EXPORTING
    complete_filename = path
    CHECK_DOS_FORMAT =
    IMPORTING
    DRIVE =
    EXTENSION = extension
    NAME = name
    NAME_WITH_EXT =
    PATH =
    EXCEPTIONS
    INVALID_DRIVE = 1
    INVALID_EXTENSION = 2
    INVALID_NAME = 3
    INVALID_PATH = 4
    OTHERS = 5
    ENDFORM. "upl
    ***INCLUDE ZINCLUDE_01 .
    10.08.2005 Amit M - Created
    Include For Mail (First Req F16)
    Modification Log
    Data
    tables crmrfcpar.
    DATA: docdata LIKE sodocchgi1,
    objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
    objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
    objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objhex LIKE solix OCCURS 10 WITH HEADER LINE,
    reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
    DATA: tab_lines TYPE i,
    doc_size TYPE i,
    att_type LIKE soodk-objtp.
    DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
    data v_rfcdest LIKE crmrfcpar-rfcdest.
    FORM
    FORM ml_customize USING objname objdesc.
    Clear Variables
    CLEAR docdata.
    REFRESH objpack.
    CLEAR objpack.
    REFRESH objhead.
    REFRESH objtxt.
    CLEAR objtxt.
    REFRESH objbin.
    CLEAR objbin.
    REFRESH objhex.
    CLEAR objhex.
    REFRESH reclist.
    CLEAR reclist.
    REFRESH listobject.
    CLEAR listobject.
    CLEAR tab_lines.
    CLEAR doc_size.
    CLEAR att_type.
    Set Variables
    docdata-obj_name = objname.
    docdata-obj_descr = objdesc.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addrecp USING preceiver prec_type.
    CLEAR reclist.
    reclist-receiver = preceiver.
    reclist-rec_type = prec_type.
    APPEND reclist.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addtxt USING ptxt.
    CLEAR objtxt.
    objtxt = ptxt.
    APPEND objtxt.
    ENDFORM. "ml_customize
    FORM
    FORM ml_prepare USING bypassmemory whatatt_type whatname.
    IF bypassmemory = ''.
    Fetch List From Memory
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = listobject
    EXCEPTIONS
    OTHERS = 1.
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'LIST_FROM_MEMORY'.
    ENDIF.
    CALL FUNCTION 'TABLE_COMPRESS'
    IMPORTING
    COMPRESSED_SIZE =
    TABLES
    in = listobject
    out = objbin
    EXCEPTIONS
    OTHERS = 1
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'TABLE_COMPRESS'.
    ENDIF.
    ENDIF.
    Header Data
    Already Done Thru FM
    Main Text
    Already Done Thru FM
    Packing Info For Text Data
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'TXT'.
    APPEND objpack.
    Packing Info Attachment
    att_type = whatatt_type..
    DESCRIBE TABLE objbin LINES tab_lines.
    READ TABLE objbin INDEX tab_lines.
    objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = att_type.
    objpack-obj_name = 'ATTACHMENT'.
    objpack-obj_descr = whatname.
    APPEND objpack.
    Receiver List
    Already done thru fm
    ENDFORM. "ml_prepare
    FORM
    FORM ml_dosend.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = docdata
    put_in_outbox = 'X'
    commit_work = 'X' "used from rel. 6.10
    IMPORTING
    SENT_TO_ALL =
    NEW_OBJECT_ID =
    TABLES
    packing_list = objpack
    object_header = objhead
    contents_bin = objbin
    contents_txt = objtxt
    CONTENTS_HEX = objhex
    OBJECT_PARA =
    object_parb =
    receivers = reclist
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    document_type_not_exist = 3
    operation_no_authorization = 4
    parameter_error = 5
    x_error = 6
    enqueue_error = 7
    OTHERS = 8
    IF sy-subrc <> 0.
    MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
    WITH docdata-obj_name.
    ENDIF.
    ENDFORM. "ml_customize
    FORM
    FORM ml_spooltopdf USING whatspoolid.
    DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.
    Call Function
    CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
    EXPORTING
    src_spoolid = whatspoolid
    TABLES
    pdf = pdf
    EXCEPTIONS
    err_no_otf_spooljob = 1
    OTHERS = 12.
    Convert
    PERFORM doconv TABLES pdf objbin.
    ENDFORM. "ml_spooltopdf
    FORM
    FORM doconv TABLES
    mypdf STRUCTURE tline
    outbin STRUCTURE solisti1.
    Data
    DATA : pos TYPE i.
    DATA : len TYPE i.
    Loop And Put Data
    LOOP AT mypdf.
    pos = 255 - len.
    IF pos > 134. "length of pdf_table
    pos = 134.
    ENDIF.
    outbin+len = mypdf(pos).
    len = len + pos.
    IF len = 255. "length of out (contents_bin)
    APPEND outbin.
    CLEAR: outbin, len.
    IF pos < 134.
    outbin = mypdf+pos.
    len = 134 - pos.
    ENDIF.
    ENDIF.
    ENDLOOP.
    IF len > 0.
    APPEND outbin.
    ENDIF.
    ENDFORM. "doconv
    FORM
    FORM ml_saveforbp USING jobname jobcount.
    Data
    *data : yhead like yhrt_bp_head.
    *DATA : ydocdata LIKE yhrt_bp_docdata,
    *yobjtxt LIKE yhrt_bp_objtxt OCCURS 0 WITH HEADER LINE,
    *yreclist LIKE yhrt_bp_reclist OCCURS 0 WITH HEADER LINE.
    *DATA : seqnr TYPE i.
    Head
    *yhead-jobname = jobname.
    *yhead-jobcount = jobcount..
    *MODIFY yhrt_bp_head FROM yhead.
    Doc Data
    *ydocdata-jobname = jobname.
    *ydocdata-jobcount = jobcount.
    *MOVE-CORRESPONDING docdata TO ydocdata.
    *MODIFY yhrt_bp_docdata FROM ydocdata.
    Objtxt
    *seqnr = 0.
    *LOOP AT objtxt.
    *seqnr = seqnr + 1.
    *yobjtxt-jobname = jobname.
    *yobjtxt-jobcount = jobcount.
    *yobjtxt-seqnr = seqnr.
    *MOVE-CORRESPONDING objtxt TO yobjtxt.
    *MODIFY yhrt_bp_objtxt FROM yobjtxt.
    *ENDLOOP.
    RecList
    *seqnr = 0.
    *LOOP AT reclist.
    *seqnr = seqnr + 1.
    *yreclist-jobname = jobname.
    *yreclist-jobcount = jobcount.
    *yreclist-seqnr = seqnr.
    *MOVE-CORRESPONDING reclist TO yreclist.
    *MODIFY yhrt_bp_reclist FROM yreclist.
    *ENDLOOP.
    ENDFORM. "ml_saveforbp
    FORM
    FORM ml_fetchfrombp USING jobname jobcount.
    *CLEAR docdata.
    *REFRESH objtxt.
    *REFRESH reclist.
    *SELECT SINGLE * FROM yhrt_bp_docdata
    *INTO corresponding fields of docdata
    *WHERE jobname = jobname
    *AND jobcount = jobcount.
    *SELECT * FROM yhrt_bp_objtxt
    *INTO corresponding fields of TABLE objtxt
    *WHERE jobname = jobname
    *AND jobcount = jobcount
    *ORDER BY seqnr.
    *SELECT * FROM yhrt_bp_reclist
    *INTO corresponding fields of TABLE reclist
    *WHERE jobname = jobname
    *AND jobcount = jobcount
    *ORDER BY seqnr.
    ENDFORM. "ml_fetchfrombp
    <b>Please reward points if it helps.</b>
    Regards,
    Amit Mishra

  • Adobe Interaction form as Attachment of Email

    hi experts,
    my requirement:
    I have a report and an Adobe form.
    my report will generate this form in each loop and mail it.
    I am getting the PDF form object and passing it to the Email FM: SO_NEW_DOCUMENT_ATT_SEND_API1
    the mail is getting send with the Attachment
    but the Attachment is NOT OPENING from the Inbox.
    Says " No pages to display".
    Can anyone provide a code for attaching PDF Interactive form in a mail?
    ags.

    [link to Adobe Interaction form as Attachment of Email|http://www.sdn.sap.com/irj/scn/abap-elearning]hi,
    see the below link

Maybe you are looking for

  • Satellite L50-B-1XF - Win 7 64bit drivers and software

    Hello, as I can't find anything about my model - Satellite L50-B-1XF (PSKTUE-04C00WGR) I will try it here... I bought two of these (one for me, one for my wife) with Win8.1 installed. Well... no need to say that this is one of the worst OS I ever see

  • Please: HELP with iMIX. Urgent !

    Dear all I tried to find an apple.com eMail to ask this help without be successful. Please I hope you can help me. Well: I did an iMix including 7 songs on the list. I followed exactly all the iTune instructions. BUT when I published this list, it re

  • Apple VPP and Configurator

    I currently am managing 30 iPads at my school. I have paid for 30 copies of an app. When I open up configurator, if I want to install this app on all 30 iPads, where do I download the app from. At this point, I have put in one of my 30 redemtion code

  • Animated bump map filter, how to ?

    Hi(Bonjour)! I want to animate on a path an small oval shape and use this shape as a bump map in a bump map filter ( or displace filter). The goal is to "push out" a small portion of my movie like if someone is pushing beneath the screen. The result

  • Disabling the external ring/silent switch on a 3G

    Is there any way to disable the exernal Ring/Silent switch so it cannot go into the Silent mode using that switch.? When I slide the phone out of its case, my thumb catches the edge of the Ring/Silent switch and moves it to the Silent position withou