Need to send the zip file to mail as an attachment

i want to pick the zip file which consists some 2,3 files inside it. and send as it is to mail as an attachment.what i did is
i have taken one zip file,,, "testing.zip" inside it i have "test1.txt" & "test2.csv"
i created sender CC ,,in that i used module payloadzipbean and  unzipped and called the file adapter.. created reciever CC as mail ..used same payload module now here i zipped all the payloads.
Result..i see the attachment coming as "test1.txt.zip" ..here i can see inside this zipfile my original file names as "test1.txt"&"test2.csv" as i enabled ASMA in both CC.
issues:i am unable to get the original file name like "testing.zip" ,,
can anyone help me in this.
Regards,
Loordh

Hi  all,
as i posted last time my requirement ,i am going with java mapping for my scenario. i am using this code .
http://wiki.sdn.sap.com/wiki/display/XI/Dynamicfilenameforpass-through+scenario
this is working perfect for zip file  (file to file) scenario. but my scenario is file to mail ..as i need to send this to mail package there it is throwing error.i am getting  "zip file name as attachment properly but when  i try to  open it is giving error in zip file." this is what i modied code ..i am able to see my messge in sender CC and reciever CC..any java experts please help on this.
try {
// create XML structure of mail package
String output = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<ns:Mail xmlns:ns=\"http://sap.com/xi/XI/Mail/30\">"
+ "<Subject>" + mailSubject + "</Subject>"
+ "<From>" + mailSender + "</From>"
+ "<To>" + mailReceiver + "</To>"
+ "<Content_Type>multipart/mixed; boundary=\"" + boundary + "\"</Content_Type>"
+ "<Content>";
out.write(output.getBytes());
// create the declaration of the MIME parts
//First part
output = "--" + boundary + CRLF
+ "Content-Type: text/plain; charset=UTF-8" + CRLF
//+ "Content-Transfer-Encoding: 8bit" + CRLF
+ "Content-Disposition: inline" + CRLF + CRLF
+ mailContent + CRLF
//Second part
+ "--" + boundary + CRLF
+ "Content-Type: Application/zip; name=" + attachmentName + CRLF
//+ "Content-Transfer-Encoding: base64" + CRLF
+ "Content-Disposition: attachment; filename=" + attachmentName + CRLF + CRLF;
out.write(output.getBytes());
//Source is taken as attachment
copySource(in, out);
out.write("</Content></ns:Mail>".getBytes());
} catch (IOException e) {
throw new StreamTransformationException(e.getMessage());
protected static void copySource(InputStream in, OutputStream out)
throws IOException {
byte[] bbuf = new bytehttp://in.available();
int bblen = in.read(bbuf);
if (!(bblen < 0)) {
//String sbuf = new String(bbuf);
//String encoded = Base64.encode(sbuf);
// replace all control characters with escape sequences
//sbuf = sbuf.replaceAll("&", "&");
//sbuf = sbuf.replaceAll("\"", """);
//sbuf = sbuf.replaceAll("'", "&apos;");
//sbuf = sbuf.replaceAll("<"<");
//sbuf = sbuf.replaceAll(">", ">");
out.write(bbuf);}}

Similar Messages

  • Need to send the text file using webservice

    Hi,
    I want to send the text file with contains data through oracle pl/sql using webservice. How can i handle this program?
    Kindly share with your details.
    Thanks in advance,
    Maran

    user8732035 wrote:
    I want to send the text file with contains data through oracle pl/sql using webservice. How can i handle this program?Web services supply XML structured data. Not text files.
    PL/SQL supports web services (XML output) and web procedures (text and binary output).
    You need to clarify your requirements.

  • Zipping multple files and sending the Zipped folder to target location using Biztalk

    Hi all,
    I have requirement like
    Seperate Xml files will be coming as incoming message to Biztalk
    Biztalk need to send a zipped folder contining all these xml to target location
    any link or component i can use to meet this requiremant  plese help
    regards,
    Vineeth

    Create or use the publicly available custom component for unzipping the received message and for send use another component to replace all attachments of a multi-part message
    (multiple parts to multiple files to zip) for its zipped equivalent. If not multiple message use any zipping API to zip the multiple 
    files to zip file and send the zipped file in send port.
    BizTalk Pipeline Custom Component Message Unzippper
    Zip Files in a Custom Pipeline Component
    Multi-Part Message Attachments Zipper Pipeline Component
    BizTalk Multipart Message Attachments Zipper is a pipeline component
    List of custom Pipeline component you can use
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

  • HR: Need to Send the Paysilp as a PDF file through Mail to Employees

    Dear All ,
           Need to Send the Paysilp as a PDF file through Mail to Employees.
           can anyone please suggest any Standard Function Modules which takes the Payslip Form as input and convert it into PDF and can send it through mail to the concern employees.
          Can anyone please explain the procedure in detail.
    Thanks in Advance,
    Regards.

    venu,
    below is code which helps to generate pdf ,,,,hope u know how to use the mail sending function
    data:
    fm_name TYPE RS38L_FNAM, "Smart Forms: FM Name
    sf_name TYPE TDSFNAME
    value 'YOUR_FORM_NAME', "Smart Forms: Form Name
    P_OUTPUT_OPTIONS TYPE SSFCOMPOP,
    P_JOB_OUTPUT_INFO TYPE SSFCRESCL,
    P_CONTROL_PARAMETERS TYPE SSFCTRLOP,
    P_LANGUAGE TYPE SFLANGU value 'E',
    P_E_DEVTYPE TYPE RSPOPTYPE.
    data:
    P_BIN_FILESIZE TYPE I,
    P_BIN_FILE TYPE XSTRING,
    P_OTF type table of ITCOO,
    P_DOCS type table of DOCS,
    P_LINES type table of TLINE,
    name type string,
    path type string,
    fullpath type string,
    filter type string,
    guiobj type ref to cl_gui_frontend_services,
    uact type i,
    filename(128).
    GET SMARTFORM FUNCTION MODULE NAME ---
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    FORMNAME = sf_name
    IMPORTING
    FM_NAME = fm_name
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
    EXPORTING
    I_LANGUAGE = P_LANGUAGE
    I_APPLICATION = 'SAPDEFAULT'
    IMPORTING
    E_DEVTYPE = P_E_DEVTYPE.
    P_OUTPUT_OPTIONS-XSFCMODE = 'X'.
    P_OUTPUT_OPTIONS-XSF = SPACE.
    P_OUTPUT_OPTIONS-XDFCMODE = 'X'.
    P_OUTPUT_OPTIONS-XDF = SPACE.
    P_OUTPUT_OPTIONS-TDPRINTER = P_E_DEVTYPE.
    P_CONTROL_PARAMETERS-NO_DIALOG = 'X'.
    P_CONTROL_PARAMETERS-GETOTF = 'X'.
    ****...................................PRINTING.........................
    CALL FUNCTION fm_name
    EXPORTING
    CONTROL_PARAMETERS = P_CONTROL_PARAMETERS
    OUTPUT_OPTIONS = P_OUTPUT_OPTIONS
    (....) <--- your form import parameters
    IMPORTING
    JOB_OUTPUT_INFO = P_JOB_OUTPUT_INFO.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    P_OTF[] = P_JOB_OUTPUT_INFO-OTFDATA.
    ****...................................CONVERT TO PDF...............
    CALL FUNCTION 'CONVERT_OTF_2_PDF'
    IMPORTING
    BIN_FILESIZE = P_BIN_FILESIZE
    TABLES
    OTF = P_OTF
    DOCTAB_ARCHIVE = P_DOCS
    LINES = P_LINES
    EXCEPTIONS
    ERR_CONV_NOT_POSSIBLE = 1
    ERR_OTF_MC_NOENDMARKER = 2
    OTHERS = 3.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    now you can mail the pdf.
    Reward points if helpful
    Regards,
    jinesh

  • Rename the zip file and send it using the Receiver Mail Adapter

    Hi,
    We have a custom module that will create multiple attachments. The result is then passed to the PayloadZipBean, which zips as per required.
    When we output this to a file adapter, we provide the file name as say "zippedfile.zip" the result is as expected.
    For example, if the custom module created 3 attachments with the names as file1.txt, file2.txt and file3.txt, the zip file zippedfile.zip, will contain 3 files as file1.txt, file2.txt and file3.txt.
    The issue that we are facing is when we use the mail adapter, the zip file is getting renamed to file1.txt.zip i.e to say that it takes the name of the main payload from the custom module (file1.txt)
    TextPayload txtpayload = message.getDocument();
    txtpayload.setContentType("text/plain");
    txtpayload.setName("file1.txt");
    moduleData.setPrincipalData(message);
    We tried using the MessageTransformbean but it doesn't seem to change the name of the file.
    Not sure where we are going wrong. Is it that the output of the payloadzipbean cannot be used and altered by MessageTransformbean?
    Is there any alternative as to rename the name of zipfiles and use it in the mail adapter?
    Appreciate any help on this regard.
    Regards,
    Shabz

    Solved.
    use Transform.ContentDisposition - attachment;filename="youfilename"
    Do read the mail adapter FAQ.
    The parameter can vary for different mail client.

  • Problen when Sending the text file as attachment to the external mail

    HI,
    I am sending the text file as an attachment to a aexternal mai. mailing is going with text file attachment, but text file is empty. No information in the file is going, only empty text file is going. I am sending the code  iam using. Please suggest, if I need to change any passing parameters orany other other solution.
    tables: knb1,kna1,adr6,ITEMSET,bsid,TSP01.
               INTERNAL TABLES
    DATA: BEGIN OF it_kna1 occurs 0,
            KUNNR LIKE KNA1-KUNNR,
            ADRNR LIKE KNA1-ADRNR,
          END OF it_kna1.
    DATA: BEGIN OF it_email occurs 0,
            ADDRNUMBER LIKE ADR6-ADDRNUMBER,
            SMTP_ADDR LIKE ADR6-SMTP_ADDR,
          END OF it_email.
    DATA: BEGIN OF it_bsid occurs 0,
           KUNNR LIKE BSID-KUNNR,
           BUKRS LIKE BSID-BUKRS,
         END OF it_bsid.
    DATA: BEGIN OF it_final occurs 0,
            KUNNR LIKE KNA1-KUNNR,
            ADRNR LIKE ADR6-ADDRNUMBER,
            EMAIL LIKE ADR6-SMTP_ADDR,
          END OF it_final.
    DATA: BEGIN OF BUFFER OCCURS 10000,
              TEXT(255) TYPE C,
            END OF BUFFER.
    data:xtext type solix_tab." occurs 0 with header line."line.
    data:xi_pdf type soli_tab.
    DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2  WITH HEADER LINE,
          OBJHEAD LIKE SOLISTI1   OCCURS 1  WITH HEADER LINE,
          OBJBIN  LIKE SOLISTI1   OCCURS 0  WITH HEADER LINE,
          OBJTXT  LIKE SOLISTI1   OCCURS 10 WITH HEADER LINE,
          RECLIST LIKE SOMLRECI1  OCCURS 5  WITH HEADER LINE,
          DOC_CHNG  LIKE SODOCCHGI1,
         PARAMS   LIKE PRI_PARAMS,
         ARPARAMS LIKE ARC_PARAMS,
         DAYS(1)  TYPE N VALUE 8,
         COUNT(3) TYPE N VALUE 1,
         VALID    TYPE C,
         RECEIVER(30),
         STR(256).
    data:  spoolid    type tsp01-rqident,
           pdf_table like tline occurs 0 with header line,
           v_bytecount type i,
           itab_pdf like tline occurs 10 with header line,
          xi_pdf  like tline occurs 0 with header line,
          xi_pdf  like buffer occurs 0 with header line,
           xi_pdf_1 like xi_pdf,
           v_length(2) type p,
           html  like solisti1   occurs 0  with header line,
           xi_temp      like bapiqcmime occurs 0 with header line,
           xi_mime(255) type c occurs 0 with header line.
              VARIABLES
    data: g_email type adr6-smtp_addr,
          TAB_LINES LIKE SY-TABIX,
          G_FLAG(1) TYPE C.
         g_norm(1) TYPE C,
         g_shbv(1) TYPE C,
         g_merk(1) TYPE C,
         g_park(1) TYPE C,
         g_apar(1) TYPE C.
    data: l_lines     type i,
          line1       type i,
          l_temp(500) type c,
          l_offset    type p,
          l_lineslen(2) type p,
          l_mimelen(2)  type p,
          v_spono like tsp01-rqident,
          l_tabix       like sy-tabix.
    *****VIA SELECTION-SCREEN
    ENDFORM.                    " SEND_TO_SPOOL
    *&      Form  GET_SPOOL_ID
    *&      Form  CONVERT_SPOOL_TO_PDF
    *&      Form  SEND_MAIL
    FORM SEND_MAIL .
      data:l_lin  like sy-tabix,
            l_lint like sy-tabix,
            it_list like abaplist occurs 0,
            l_newline(2) type x value '0D0A'.
    *--Data for the status output after sending
      data: user_address like sousradri1 occurs 1 with header line,
            sent_to_all like sonv-flag.
      clear: reclist, reclist[],
             objtxt , objtxt[],
             objpack, objpack[],
             objbin , objbin[],
             doc_chng.
    *--move list to office table objbin
    *--Start of Changes to support PDF attachments - UB20030116
    loop at html.
       objbin-line = html-line.
       append objbin.
       clear objbin.
    endloop.
    loop at xi_pdf.
       objbin-line = xi_pdf-text.
       append objbin.
       clear objbin.
    endloop.
    *--We may write additional text to the main document
    *--For faxing this will be the cover page. Like sending from SAPoffice
    *--the layout set Office-Telefax will be used.
      objtxt-line = 'NOTE : Please Consider the below Headers'.
      append objtxt.
      clear objtxt.
      objtxt-line = 'Assignment -->  Purchase order number '.
      append objtxt.
      clear objtxt.
      objtxt-line = 'Document  -->   Invoice No '.
      append objtxt.
      clear objtxt.
      objtxt-line = 'Amount In DC --> Amount Due '.
      append objtxt.
      clear objtxt.
      objtxt-line = '                                            '.
      append objtxt.
      clear objtxt.
      objtxt-line = '                                            '.
      append objtxt.
      clear objtxt.
      objtxt-line = 'Please find attached statement for this week'.
      append objtxt.
      clear objtxt.
      objtxt-line = '                                            '.
      append objtxt.
      clear objtxt.
      objtxt-line = 'This is an AUTO GENERATED MAIL'.
      concatenate objtxt-line 'Please Do not reply to this mail' into
      objtxt-line separated by ' '.
      append objtxt.
      clear objtxt.
      describe table objtxt lines tab_lines.
      read table objtxt index tab_lines.
    *--Create the document which is to be sent
    doc_chng-obj_name  = 'List'.
      doc_chng-obj_name = 'SAPRPT'.
    doc_chng-obj_descr = 'Customer statement for the week'.
      concatenate 'Customer statement for '
                  sy-datum into
                  doc_chng-obj_descr
                  separated by ' '.
      doc_chng-doc_size = ( tab_lines - 1 ) * 255 + strlen( objtxt ).
    *--Fill the fields of the packing_list for the main document:
    *--It is a text document
      clear objpack-transf_bin.
    *--The document needs no header (head_num = 0)
      objpack-head_start = 1.
      objpack-head_num = 0.
    *--but it has a body
      objpack-body_start = 1.
      objpack-body_num = tab_lines.
    *--of type RAW
      objpack-doc_type = 'RAW'.
      append objpack.
    *--Create the attachment (the list itself)
      describe table objbin lines tab_lines.
    *--Fill the fields of the packing_list for the attachment:
    *--It is binary document
    objpack-transf_bin = 'X'.
    *--we need no header
      objpack-head_start = 1.
      objpack-head_num = 0.
    *--but a body
      objpack-body_start = 1.
      objpack-body_num = tab_lines.
    *--of type G_DOC_TYPE
    objpack-doc_type = 'PDF'. "commented on 12/13/2007
      objpack-doc_type = 'TXT'. "commented on 12/13/2007
      objpack-obj_name = 'Attachment'.
    objpack-obj_descr = 'Customer Statement'.
      concatenate 'Customer Statement' sy-datum into objpack-obj_descr.
      objpack-doc_size = tab_lines * 255.
      append objpack.
      reclist-receiver = g_email.
      reclist-rec_type = 'U'.
    reclist-com_type = 'FAX'.
      append reclist.
      data:xi type soli.
    xi-line = 'haisdgsfsdf'.
    append xi to xi_pdf.
    xi-line = 'haisdfdsfd'.
    append xi to xi_pdf.
    xi-line = 'haisfgsdfsd'.
    append xi to xi_pdf.
    xi-line = 'haisdfsgfsdgg'.
    append xi to xi_pdf.
    *xi_pdf-text = 'hai'.
    *append xi_pdf.
    *xi_pdf-text = 'hai'.
    *append xi_pdf.
    *xi_pdf-text = 'hai'.
    *append xi_pdf.
    *xi_pdf-text = 'hai'.
    *append xi_pdf.
    CALL FUNCTION 'SO_SOLITAB_TO_SOLIXTAB'
        EXPORTING
          ip_solitab        = xi_pdf[]
       IMPORTING
         EP_SOLIXTAB       = xtext[].
    **--Send the document by calling the SAPoffice API1 module for sending
    **--documents with attachments
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = doc_chng
          PUT_IN_OUTBOX              = 'X'
         COMMIT_WORK                = 'X'
        IMPORTING
          sent_to_all                = sent_to_all
        TABLES
          packing_list               = objpack
          object_header              = objhead
         contents_bin               = objbin
          contents_txt               = objtxt
          contents_hex               = xtext
          receivers                  = reclist
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          others                     = 99.

    HI,
    There are lots of bugs.
    Please refer this sample program to fix it.
    http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm
    Best regards,
    Prashant

  • PI needs to obtain a zip file via FTP using the File adapter

    I have a scenario where PI needs to obtain a zip file via FTP using the File adapter, this zip file contains a number of txt files that I need to process, and the content of one of them send it to an ECC, now I'm using the PayloadZipBean Module in the Sender FIle Adapter, and I have two things if I use the Message Protocol as File, I get a Payload for each txt file in the zip file, but this payload has no structure, and if I use the File Content Conversion I get an XML strcuture with only one field and a strange string in it, and somewhere in this string the names of the files I assume all the content of the zip file, can anyone help on how could I achieve what I need that is to pull the zip file via SAP PI, then unzip it, and with the content of one of the txt files send it to an ECC via ABAP Proxy, thanks in advance for your answers.
    Regards,
    Raul Alvarado

    Hello Raul,
    you can do it in futher way ...
    pickup zip file and simply extract and dump it in another temp folder (can use scripts on OS level).
    @ then Use another sender communication channel to pickup all these text file .
    for further clarification you can use these links also. -
    Process txt files in zip file
    Accessing File using FTP from Java Mapping
    File Sender Adapter with FTP protocol
    BR
    Raj

  • Cannot open ZIP files in mail

    Anyone else having trouble opening zip files in mail. It does not work on iPhone either - but that was not an issue since very rarely does one want to open a large document.
    Any solutions out there ?

    Zips and other archived/compressed files won't work as expected on an iPad since you can't just preview/view the contents directly from the attachment currently like you can with quicktime-compatible or other common media formats. Basically you would need to be able to save the zip file to the finder and extract it, and view the contents from there. But since the iPad doesn't have anything like a user-accessible Finder, it's tricky to implement.
    There may be third-party apps that deal with this eventually (or maybe even something from the upcoming 4.0 software, who knows), but it would probably be easier to just have people send you attachments that aren't zipped up for now.

  • For this program i could send the smart form thru mail but in the inbox ..

    *& Report  ZSFOO
    REPORT  ZSFOO.
    *& Report  ZSFINV
    TABLES : KNA1,         " General Data In Customer Master
             KNB1,         " Customer Master(Company Code)
             BSID,         " Accounting: Secondary Index for Customers
             ZSMARTFORM,   " Custom table for Storing Bank Details
             zsf_exp_inv,  " Structure that stores required fields from all tables used
             KNVK.         " Customer Master Contact Partner
    data : Begin of it_struct occurs 0.
            include structure zsf_exp_inv01.
    data : End of it_struct.
    types : begin of ty_bsid,
            kunnr like bsid-kunnr,
            WAERS like bsid-WAERS,
            XBLNR LIKE BSID-XBLNR,
            BUDAT LIKE BSID-BUDAT,
            WRBTR LIKE BSID-WRBTR,
            BUKRS LIKE BSID-BUKRS,
            end of ty_bsid.
    types : begin of ty_kna1,
            kunnr like kna1-kunnr,
            NAME1 LIKE KNA1-NAME1,
            STRAS LIKE KNA1-STRAS,
            MCOD3 LIKE KNA1-MCOD3,
            LAND1 LIKE KNA1-LAND1,
            SORTL LIKE KNA1-SORTL,
            end of ty_kna1.
    types : begin of ty_knb1,
            kunnr like knb1-kunnr,
            ZTERM LIKE KNB1-ZTERM,
            end of ty_knb1.
    types : begin of ty_knVK,
            kunnr like kNVK-kunnr,
            NAME1 LIKE KNVK-NAME1,
            end of ty_knVK.
    types : begin of ty_ZSMARTFORM,
            SNO      LIKE ZSMARTFORM-SNO,
            CURRENCY LIKE zsmartform-currency,
            BANKNAME LIKE zsmartform-bankname,
            ADDRESS1 LIKE ZSMARTFORM-ADDRESS1,
            ADDRESS2 LIKE ZSMARTFORM-ADDRESS2,
            ADDRESS3 LIKE ZSMARTFORM-ADDRESS3,
            ADDRESS4 LIKE ZSMARTFORM-ADDRESS4,
            ADDRESS5 LIKE ZSMARTFORM-ADDRESS5,
            ADDRESS6 LIKE ZSMARTFORM-ADDRESS6,
            VALIDFROM LIKE ZSMARTFORM-VALIDFROM,
            VALIDTO   LIKE ZSMARTFORM-VALIDTO,
            end of ty_ZSMARTFORM.
    data : it_bsid type table of ty_bsid,
           it_kna1 type table of ty_kna1,
           it_knb1 type table of ty_knb1,
           it_zsmartform type table of ty_zsmartform,
           it_knVK type table of ty_kNVK.
    data : wa_bsid like line of it_bsid,
           wa_kna1 like line of it_kna1,
           wa_knb1 like line of it_knb1,
           wa_zsmartform like line of it_zsmartform,
           wa_knVK like line of it_knVK.
    *****************Selection Screen**********************************
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
    SELECT-OPTIONS : S_KUNNR FOR KNA1-KUNNR,
                     S_belnr FOR BSID-belnr,
                     S_BUKRS FOR BSID-BUKRS,
                     S_CURR FOR ZSMARTFORM-CURRENCY.
    SELECTION-SCREEN END OF BLOCK B1.
    DATA : BEGIN OF IT_PARAM OCCURS 0.
            INCLUDE STRUCTURE ZPARAMETERS.
    DATA :  END OF IT_PARAM.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-001.
    SKIP 1.
    Parameters : OPTION1 AS CHECKBOX,
                 P_POINF(300) type c,
                 OPTION2 AS CHECKBOX,
                 P_DESC(300) TYPE C,
                 OPTION3 AS CHECKBOX,
                 P_MONTH(200) TYPE C,
                 OPTION4 AS CHECKBOX,
                 P_RATE(100)  TYPE C.
    SELECTION-SCREEN END OF BLOCK B2.
    **********************PARAMETERS***********************************
    data :  l type i,
            Y(300) type c,
            j type i,
            k type i value 1,
            s type i,
            m(300) type c,
            p type i,
            z type i.
    data :  l1 type i,
            Y1(300) type c,
            j1 type i,
            k1 type i value 1,
            s1 type i,
            m1(300) type c,
            p1 type i,
            z1 type i.
    data :  l2 type i,
            Y2(300) type c,
            j2 type i,
            k2 type i value 1,
            s2 type i,
            m2(300) type c,
            p2 type i,
            z2 type i.
    data :  l3 type i,
            Y3(300) type c,
            j3 type i,
            k3 type i value 1,
            s3 type i,
            m3(300) type c,
            p3 type i,
            z3 type i.
    IF OPTION1 = 'X'.
      concatenate  P_POINF  ',' into P_POINF.
      l = strlen( P_POINF ).
      do l times.
        Y = P_POINF+j(k).
        case Y.
          when ','.
            m = P_POINF+s(z).
            s = j + 1.
            z = -1.
            p = p + 1.
            if p = 1.
              IT_PARAM-LINE1 = m.
            endif.
            if p = 2.
              IT_PARAM-LINE2 = m.
            endif.
            if p = 3.
              IT_PARAM-LINE3 = m.
            endif.
         when '.'.
            if p = 4.
              IT_PARAM-LINE4 = m.
            endif.
        endcase.
        j = j + 1.
        z = z + 1.
      enddo.
    ENDIF.
    IF OPTION2 = 'X'.
      concatenate  P_DESC  ',' into P_DESC.
      l1 = strlen( P_DESC ).
      do l1 times.
        Y1 = P_DESC+j1(k1).
        case Y1.
          when ','.
            m1 = P_DESC+s1(z1).
            s1 = j1 + 1.
            z1 = -1.
            p1 = p1 + 1.
            if p1 = 1.
              IT_PARAM-LINE5 = m1.
            endif.
            if p1 = 2.
              IT_PARAM-LINE6 = m1.
            endif.
            if p1 = 3.
              IT_PARAM-LINE7 = m1.
            endif.
         when '.'.
            if p1 = 4.
              IT_PARAM-LINE8 = m1.
            endif.
        endcase.
        j1 = j1 + 1.
        z1 = z1 + 1.
      enddo.
    ENDIF.
    IF OPTION3 = 'X'.
      concatenate  P_MONTH  ',' into P_MONTH.
      l2 = strlen( P_MONTH ).
      do l2 times.
        Y2 = P_MONTH+j2(k2).
        case Y2.
          when ','.
            m2 = P_MONTH+s2(z2).
            s2 = j2 + 1.
            z2 = -1.
            p2 = p2 + 1.
            if p2 = 1.
              IT_PARAM-LINE9 = m2.
            endif.
            if p2 = 2.
              IT_PARAM-LINE10 = m2.
            endif.
            if p2 = 3.
              IT_PARAM-LINE11 = m2.
            endif.
         when '.'.
            if p2 = 4.
              IT_PARAM-LINe12 = m2.
            endif.
        endcase.
        j2 = j2 + 1.
        z2 = z2 + 1.
      enddo.
    ENDIF.
    IF OPTION4 = 'X'.
      concatenate  P_RATE  ',' into P_RATE.
      l3 = strlen( P_RATE ).
      do l3 times.
        Y3 = P_RATE+j3(k3).
        case Y3.
          when ','.
            m3 = P_RATE+s3(z3).
            s3 = j3 + 1.
            z3 = -1.
            p3 = p3 + 1.
            if p3 = 1.
              IT_PARAM-LINE13 = m3.
            endif.
            if p3 = 2.
              IT_PARAM-LINE14 = m3.
            endif.
            if p3 = 3.
              IT_PARAM-LINE15 = m3.
            endif.
            if p3 = 4.
              IT_PARAM-LINe16 = m3.
            endif.
        endcase.
        j3 = j3 + 1.
        z3 = z3 + 1.
      enddo.
    ENDIF.
    APPEND IT_PARAM.
    select * from kna1 into corresponding fields of table it_kna1 where kunnr in s_kunnr.
    select * from knb1 into corresponding fields of table it_knb1 for all entries in it_kna1 where kunnr = it_kna1-kunnr.
    select * from bsid into corresponding fields of table it_bsid for all entries in it_kna1 where kunnr = it_kna1-kunnr and belnr in s_belnr and bukrs in s_bukrs..
    SELECT * FROM KNVK INTO CORRESPONDING FIELDS OF TABLE IT_KNVK FOR ALL ENTRIES IN IT_KNA1 WHERE KUNNR = IT_KNA1-KUNNR.
    select * from zsmartform into corresponding fields of table it_zsmartform .
    DATA :  AMT LIKE SPELL.
    loop at it_bsid into wa_bsid.
      read table it_kna1 into wa_kna1 with key kunnr = wa_bsid-kunnr.
      read table it_knb1 into wa_knb1 with key kunnr = wa_bsid-kunnr.
      read table it_zsmartform into wa_zsmartform with key  CURRENCY =  wa_bsid-WAERS.
      READ TABLE IT_KNVK INTO WA_KNVK WITH KEY KUNNR = WA_BSID-KUNNR.
      it_struct-name1 = wa_kna1-name1.
      it_struct-stras = wa_kna1-stras.
      it_struct-mcod3 = wa_kna1-mcod3.
      it_struct-land1 = wa_kna1-land1.
      it_struct-sortl = wa_kna1-sortl.
      it_struct-zterm = wa_knb1-zterm.
      it_struct-xblnr = wa_bsid-xblnr.
    it_struct-currency = wa_zsmartform-currency.
      it_struct-currency = wa_bsid-waers.
      it_struct-budat = wa_bsid-budat.
      it_struct-BANKNAME = wa_zsmartform-BANKNAME.
      it_struct-ADDRESS1 = wa_zsmartform-ADDRESS1.
      it_struct-ADDRESS2 = wa_zsmartform-ADDRESS2.
      it_struct-ADDRESS3 = wa_zsmartform-ADDRESS3.
      it_struct-ADDRESS4 = wa_zsmartform-ADDRESS4.
      it_struct-ADDRESS5 = wa_zsmartform-ADDRESS5.
      it_struct-ADDRESS6 = wa_zsmartform-ADDRESS6.
      it_struct-CURR = WA_BSID-WRBTR.
      IT_STRUCT-NAME = WA_KNVK-NAME1.
    IT_STRUCT-AMOUNT = IT_SPELL-AMT.
      append it_struct.
    endloop.
    data : x type i,
           x1 type i,
           a type string.
    loop at it_struct.
      x = strlen( it_struct-curr ).
      x1 = x - 3.
      a = it_struct-curr+0(x1).
      CALL FUNCTION 'SPELL_AMOUNT'
          EXPORTING
            AMOUNT          = a
      CURRENCY        = ' '
      FILLER          = ' '
      LANGUAGE        = SY-LANGU
          IMPORTING
            IN_WORDS        = AMT.
    EXCEPTIONS
      NOT_FOUND       = 1
      TOO_LARGE       = 2
      OTHERS          = 3
    *IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    endloop.
    DATA: ws_ucomm LIKE sy-ucomm.
    DATA: form_name TYPE rs38l_fnam.
    DATA: wa_ctrlop TYPE ssfctrlop,
    wa_outopt TYPE ssfcompop.
    data : i_receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,
          i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE.
    DATA: t_otfdata TYPE ssfcrescl,
    t_pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE,
    i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
          i_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          i_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
      data : wa_objhead TYPE soli_tab,
      wa_doc_chng typE sodocchgi1,
          w_data TYPE sodocchgi1,
          wa_buffer TYPE string,
          v_len_in LIKE sood-objlen,
          v_len_out LIKE sood-objlen,
          v_len_outn TYPE i,
          v_lines_txt TYPE i,
          v_lines_bin TYPE i.
    DATA: t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE.
    DATA: w_filesize TYPE string.
    DATA: w_bin_filesize TYPE i.
    wa_ctrlop-getotf = 'X'.
    CALL FUNCTION '/1BCDWB/SF00000001'
    EXPORTING
    control_parameters = wa_ctrlop
    output_options = wa_outopt
    user_settings = 'X'
    IN_WORDS = amt
    importing
    job_output_info = t_otfdata
    TABLES
    I_ZSF_EXP_INV = it_struct
    I_ZPARAMETERS = it_param.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    t_otf[] = t_otfdata-otfdata[].
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
    format = 'PDF'
    max_linewidth = 132
    IMPORTING
    bin_filesize = w_bin_filesize
    TABLES
    otf = t_otf
    lines = t_pdf_tab
    EXCEPTIONS
    err_max_linewidth = 1
    err_format = 2
    err_conv_not_possible = 3
    OTHERS = 4
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
    bin_filesize = w_bin_filesize
    CODEPAGE = ' '
    filename = 'c:     est59.PDF'
    filetype = 'BIN'
    IMPORTING
    filelength = w_filesize
    TABLES
    data_tab = t_pdf_tab
    EXCEPTIONS
    file_open_error = 1
    file_write_error = 2
    invalid_filesize = 3
    invalid_type = 4
    no_batch = 5
    unknown_error = 6
    invalid_table_width = 7
    gui_refuse_filetransfer = 8
    customer_error = 9
    OTHERS = 10
    IF sy-subrc <> 0.
    *You should include message-id in the report heading
    WRITE : sy-subrc.
    ELSE.
    WRITE : 'File Test.pdf downloaded succesfully'.
    ENDIF.
    loop at t_pdf_tab.
        translate t_pdf_tab using '~'.
        concatenate wa_buffer t_pdf_tab into wa_buffer.
      endloop.
      translate wa_buffer using '~'.
      do.
        i_record = wa_buffer.
        append i_record.
        shift wa_buffer left by 255 places.
        if wa_buffer is initial.
          exit.
        endif.
      enddo.
    Attachment
      refresh:
        i_reclist,
        i_objtxt,
        i_objbin,
        i_objpack.
      clear wa_objhead.
      i_objbin[] = i_record[].
    Create Message Body
    Title and Description
      i_objtxt = 'test with pdf-Attachment!'.
      append i_objtxt.
      describe table i_objtxt lines v_lines_txt.
      read table i_objtxt index v_lines_txt.
      wa_doc_chng-obj_name = 'smartform'.
      wa_doc_chng-expiry_dat = sy-datum + 10.
      wa_doc_chng-obj_descr = 'smartform'.
      wa_doc_chng-sensitivty = 'O'.
      wa_doc_chng-doc_size = v_lines_txt * 255.
    Main Text
    wa_doc_chng-doc_size = ( v_lines_txt - 1 ) * 255 + strlen( i_objtxt )
      clear i_objpack-transf_bin.
      i_objpack-head_start = 1.
      i_objpack-head_num = 0.
      i_objpack-body_start = 1.
      i_objpack-body_num = v_lines_txt.
      i_objpack-doc_type = 'RAW'.
      append i_objpack.
    i_objpack-transf_bin = 'X'.
    i_objpack-head_start = 1.
    i_objpack-head_num = 1.
    i_objpack-body_start = 1.
    i_objpack-body_num = v_lines_bin.
    i_objpack-doc_type = 'PDF'.
    i_objpack-obj_name = 'Smartform'.
    CONCATENATE 'Hazard report-' p_load '.pdf' INTO i_objpack-obj_descr.
    describe table i_objbin lines v_lines_bin.
    read table i_objbin index v_lines_bin.
    i_objpack-doc_size =  v_lines_bin * 255 .
    i_objpack-obj_descr = 'test'.
    i_objpack-doc_size = v_lines_bin * 255.
    APPEND i_objpack.
    Attachment
    (pdf-Attachment)
    i_objpack-transf_bin = 'X'.
    i_objpack-head_start = 1.
    i_objpack-head_num = 0.
    i_objpack-body_start = 1.
    Länge des Attachment ermitteln
    describe table i_objbin lines v_lines_bin.
    read table i_objbin index v_lines_bin.
    i_objpack-doc_size =  v_lines_bin * 255 .
    i_objpack-body_num = v_lines_bin.
    i_objpack-doc_type = 'PDF'.
    i_objpack-obj_name = 'smart'.
    i_objpack-obj_descr = 'test'.
    append i_objpack.
      clear i_reclist.
      i_reclist-receiver = '[email protected]'.
         i_reclist-express = 'X'.
      i_reclist-rec_type = 'U'.
      append i_reclist.
        call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
             EXPORTING
                  document_data              = wa_doc_chng
                  COMMIT_WORK = 'X'
                  put_in_outbox              = 'X'
             TABLES
                  packing_list               = i_objpack
                  object_header              = wa_objhead
                  CONTENTS_BIN               = i_objbin
                  contents_txt               = i_objtxt
                  receivers                  = i_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.
    for this program i could send the smart form thru mail but in the inbox i could not
    download it it says needed to be decoded properly.file not starting with pdf....
       IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
       ELSE.
         CALL FUNCTION 'POPUP_TO_INFORM'
           EXPORTING
             titel = 'Mail sent'(003)
             txt1  = 'The report is sent via e-mail.'(004)
             txt2  = '  '.
         LEAVE PROGRAM.
       ENDIF.

    hi krishna,
    u r right. there is no error  in sending the mail and the file but the problem is that file created and converted to pdf is not done properly.jst verify whether the file is created properly or not .thats the only problem that can occurs else ur program is absolutely right.

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

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

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

  • How to send the error file as a attachment

    Hi All,
    Is it possible to send a mail by attaching the error file.
    I am writing the code in the events,if import failed then i need to send the mail with import failed error file as an attachment.
    Thanks.

    In your mail code, include something like the following prior to the .Send command. strAttach is the path to the Attachment:
    If Not strAttach="" Then' Attach file(s) to message
         Set fso = CreateObject("Scripting.FileSystemObject")
         If fso.FileExists(strAttach) Then .AddAttachment strAttach
         Set fso = Nothing
    End If

  • Suddenly unable to send a Zip file

    Hi there
    I am having a problem sending zip files. It has been working fine before but recently it has not been posible. I always send to the same person, who has been receiving without problems before. The zipped file is 5,2 mb and generated in windows via WMWare Fusion 5. I have no problems if I use Gmail, but in Macmail it is not working.
    Any good ideas?

    So what is happening is the mail app can't connect to the gmail smtp server to send the email. This seems to be a fairly common problem with the built in mail program. One minute it works, can send emails, the next it can't find the smtp server for various email providers like gmail or yahoo or suggests the password is incorrect even though you haven't changed anything.
    From what I read on these forums about the only way to correct this is to complete remove the account for the mail program then recreate it. Make sure you remove all smtp entries for that account also.
    Maybe you should try a different email program that doesn't have these constant glitches that pop up from nowhere.

  • HOW TO READ AND OPEN Zip files IN MAIL?

    Anyone know how to open and read attached zip-files in iPhone 3G mail?
    Thanks in advance,
    Alessio

    Hi Alessio,
    The iPhone does not support reading or uncompressing .zip files.
    +Mail attachment support+
    +Viewable document types: .jpg, .tiff, .gif (images); .doc and .docx (Microsoft Word); .htm and .html (web pages); .key (Keynote); .numbers (Numbers); .pages (Pages); .pdf (Preview and Adobe Acrobat); .ppt and .pptx (Microsoft PowerPoint); .txt (text); .vcf (contact information); .xls and .xlsx (Microsoft Excel)+
    http://www.apple.com/iphone/specs.html
    Jason

  • Why Aperture doesn't send the RAW file to Photoshop

    I've seen the complaint about Aperture not passing the original RAW file to Photoshop in several places in this forum. I think I have a reason for why Aperture doesn't work this way.
    The reason has to do with the 1st law of digital RAW photography. "Never, ever, overwrite the original RAW data from a camera's RAW format file."
    Because of the above rule, both Aperture and Photoshop do not actually work on the original RAW file. They transform the RAW image data into a usable image using user specified settings (which may be the camera's default setting for that image). The original RAW file is left untouched.
    When you open a RAW file in Photoshop and try to save it, you'll be prompted for a new file name. You wouldn't want to overwrite the original RAW file by writing the edited image data back to it.
    When you edit an Aperture RAW file using Photoshop as the external editor, Aperture first creates a TIFF or PSD version image file in its library and then passes that file name to Photoshop. Photoshop opens the TIFF or PSD file and directly edits it. Since this version file is already in Aperture's library, when Photoshop is finished editing it, Aperture automatically sees the edited file because its already in the library.
    If Aperture were to send the RAW file name to Photoshop, Photoshop would open the RAW file and create a new PSD file. When it came time to save your edits, where would you save it. In order to get it back into Aperture's library, you would need some form of Photoshop to Aperture communication so that Photoshop would know where to save the edited file and Aperture would know to add it to the library. This would require collaboration between both Adobe and Apple and doesn't seem likely.
    I have a couple of ideas someone can try. These are only ideas and completely untested. I'd do it myself but I don't own Aperture (see my computer info below for the reason).
    1. Create two folders with automator actions. You export your RAW files from Aperture to a "Photoshop-IN" folder. Any new RAW image found in this folder will be automatically opened in Photoshop by the Automator action. Then you save the edited Photoshop file into a 2nd folder "Aperture-IN". Another Automator action imports this into Aperture.
    2. In iPhoto, if you try to edit a RAW image with an external editor, iPhoto creates an intermediate image file (JPEG I think) which it passes to Photoshop. But, if you drag the original RAW image thumbnail from iPhotos library window to the Photoshop icon in the dock, the original RAW image file is passed to Photoshop. You only have the problem of getting the saved Photoshop file back into iPhoto's library. Maybe this same thing would work in Aperture by dragging the Master image to the Photoshop icon in the dock.
    PowerMac G4 Dual 1.25GHz   Mac OS X (10.4.3)   FW800, 4 internal HD - 550GB

    This is all well and good. I wholeheartedly agree with the idea of keeping the "master" sacrosanct. What I object to is not being able to do the conversion in Photoshop (or elsewhere)
    What I want is for Aperture to send the raw over to photoshop when I select "open in external editor", and then follow the current workflow (I do my edits, hit save, and a second master is added to Aperture's db.)
    It's totally possible for them to do this, and it wouldn't break anything in the system, or the philosophy. Of course it's a workaround that wouldn't be necessary if Aperture's converter were up to snuff. But it isn't, and I bet it would be easier to implement the workaround than to fix the fundamental defects in the converter itself.

  • How to send image file through mail without   any attachment

    Plz tell  me how to send image file through mail without any attachment  ( i mean not converting  that image into pdf or any format )  i want to send that text or image  through mail .

    Hi Sandeep,
    I think you can setup the type of email in Shared office Settings in transaction S016.
    There is an option called <Preset document classes>
    You choose this pushbutton to branch to the maintenance screen for the document classes that are directly displayed to users in the Business Workplace for selection when they use the Create function. The name under which the documents are displayed can also be maintained.
    http://help.sap.com/saphelp_nw70/helpdata/en/6c/69c30f418d11d1896e0000e8322d00/content.htm
    Haven't tried it though.
    Regards,
    Siddhesh

Maybe you are looking for

  • Does the picture print service actually work on iPhoto 6??

    Hello, this is the first time I order prints from iPhoto and so far I haven't been lucky. Yersterday I tried to order a few prints, I selected the sizes/quantities and then iPhoto uploaded the pictures and confirmed my order was successfully placed (

  • Loading data to Headcount and Personnel Actions infocube (0PA_C01) from r/3

    Hi Gurus, I'm loading data from R/3 into my infocube 0PA_C01. I'm loading the data from 2 infosources 0HR_PA_0 (DS is 0HR_PA_0) and 0HR_PA_1. The infosource 0HR_PA_1 has inturn 3 datssources 0EMPLOYEE_ATTR, 0PERSON_ATTR and 0HR_PA_1. So on the whole

  • MDD heats up for no apparent reason

    Hi Mac lovers, I have a 1Ghz dual MDD, with 2GB of RAM and 4 hard drives totaling 840GB. It has two PCI cards, a FW800/USB 2.0 card and a Belkin wireless one that works as an Airport Extreme card. The video card is an original ATI Radeon Pro 9000. It

  • Execution Statistics by target

    I'm looking for a way to either capture the following information or maybe OWB already gathers this info and I just need to know where to look. I'm looking at the following info for each target. Target Table Name Load start time Load end time rows in

  • Wrong upload setting.

    I think I uploaded my footage wrong into final cut. I use a DVX100 and shoot 24p and normally I get the interlaced look, where it looks like there's lines. Normally adding deinterlace into the footage corrects this, but this time, it actually makes i