Internal table XML compress or zipfile or Text format

Hello All i am in a requirement in which i need to send data in a Zip file or in a text file to .net side fron SAP using RFC. Right now i am transferring data into XML string and again storing  same in a table to send it back to .Net side for further processing. As the size of file is too big around 4-5mb (seen in ST05).  i either want to compress it and then send it to .Net side or i want to ZIP it or i want to convert this XML string to text to make it of smaller size and then transfer the same.
any reply will be appreciated.
Mani

hi,
Check this sample code for compressing and de-compressing.
DATA:
  t_spfli TYPE TABLE OF spfli,
t_out like table of t_spfli,
    lw_xml_in   TYPE string,
    lw_xml_out  TYPE xstring,
SELECT carrid
       connid
  UP TO 2 ROWS
FROM spfli INTO TABLE t_spfli.
  CALL TRANSFORMATION id
       SOURCE output = t_spfli
       RESULT XML lw_xml_in.  " XML Format
  IF sy-subrc NE 0.
    RAISE compress_error.
  ENDIF.                               " IF SY-SUBRC NE 0
  CALL METHOD cl_abap_gzip=>compress_text
    EXPORTING
      text_in        = lw_xml_in
*    text_in_len    = -1
*    compress_level = 6
*    conversion     = 'DEFAULT'
  IMPORTING
    gzip_out       = lw_xml_out  " Compressed Output
*    gzip_out_len   =
  IF sy-subrc NE 0.
    RAISE compress_error.
  ENDIF.                               " IF SY-SUBRC NE 0
*& Decompressing*********
      CALL METHOD cl_abap_gzip=>decompress_text
        EXPORTING
          gzip_in      = lw_xml_out
*    gzip_in_len  = -1
*    conversion   = 'DEFAULT'
        IMPORTING
          text_out     = lw_xml_in
*    text_out_len =
  CALL TRANSFORMATION id
       SOURCE XML lw_xml_in
       RESULT output = t_out.
  IF sy-subrc NE 0.
    RAISE compress_error.
  ENDIF.
Thanks
Sharath

Similar Messages

  • Internal table data 1E2 automatically convert to scientific format

    Dear all,
    I have been searched for solution moths from the forums and tried all possible methods, but still no way to solve my above problem.  I found a way to solve it partially for us, but may be very helpful for others who meet similly case like mine, so I posted here.
    my problem is when I export my internal table data to Excel, the Cell data with 1E2 auto becomes 1.00E02, and 1E8 becomes 1.00E08, we need it to be 1E2 and 1E8 in excel.
    you can recreate my problem by
    1,  input 1E2 into your Microsoft Excel, then Enter, it will auto change into scientific format. which is we do not want.
    2, use any of your SAP system open any table as long as there is a Char (>3) field in that table. add some
    data entry in that field in the form "any amount (<15) of numeric 1 to 9"E"any one or two numeric 1 to 9". such as, 123E2, 1234E12 etc. then save this table's data to local file spread sheet, or use any FM to download it to a Excel file, when you open this
    file by Excel, the cell with above form will display as scientific. but
    if you put three or more numeric after the "E", such as 123E123 it will
    display correctly.
    what I have done:
    I searched in SCN for similar thread:
        Export to Excel 2007 - item number problem
        Exceding the limit of numbers in Excel at target side
        Excel download cell format problem
        Formating as Text in excel through SAP
        Converting of amount field into excel file through GUI DOWNLOAD
        Data downloaded to excel gets converted to exponential format.
        Problem with Excel download   and scientific number
        Re: Issue in displaying numbers in Excel?
        CSV Flat File Data Problem (Number converting to Scientific Notation)
    Tested accordingly, But none of these works in our case. because our
    ultimate receiver of email attachment will be external third party, we cannot ask
    them to change anything in their Excel.
    Search Microsoft help about Excel, http://support.microsoft.com/kb/214233,
    and it says this "Automatic Number Formatting" is a normal behaviour of excel.
    no way to turn it off, the "work-around" way that Microsoft provides is not suitable for our
    case.
    We test CL_iXML recently arrording to weblog http://wiki.sdn.sap.com/wiki/display/Snippets/FormattedExcelasEmailAttachment
    it successful controled the format. so this could be a solution for others whose internal table size is small. but our 2MB internal table bocome 6MB when converted to xml file attachment, which cannot be received by our end user's mail box. too big.
    So please advise your ideas.
    Many thanks in advance!
    Peter Ding
    Thank you very much for your time!

    Hi,
    You can achieve this by describing the spreadsheet in XML with the help of the DOM classes.
    The later releases of Excel can read and save spreadsheets as XML, providing your release supports this you can achieve it.
    Check out the following Wiki
    [Excel - XML|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/abap/exporting%2bdata%2bto%2bexcel%2b-%2bxml%2bto%2bthe%2brescue]
    Regards,
    Darren

  • Download internal table to presentation server in UTF-8 format

    Hello everyone.
    We are trying to use function module GUI_DOWNLOAD to download data from internal table to a text file (filetype ASCII). The defualt encoding for the text file is ANSI but we need to download it with the encoding UTF-8.
    We have already used codepage 4110 but that did not solve the problem.
    We are using SAP ECC 5.0 system.
    Can anyone please provide us with a solution? We need to solve this as early as possible.

    Hi Saurav.
    Try this
    1.Go to SAP GUI Logon
    2. Change your icon logon on Tabstrib "Code Page" at "Upload/Download"  to encod whatever language
    do you want.
    Hope it helps.
    Sayan.

  • Need a POP-UP which can display internal table data in ALV format

    HI All,
    I need to display INTERNAL TABLE values through a POP-UP. Only condition is that the window with the internal table data should be in ALV format and not in TEXT only format.
    To clarify, I used FM 'POPUP_WITH_TABLE_DISPLAY_OK'   and  'POPUP_WITH_TABLE_DISPLAY', but both display the data in TEXT format and there is no provision to put the FIELD names there. Everthing needs to be put into internal table and it displays it in text format.
    So I want a FM where I can display internal tabel data in ALV format( same format that would appear if you creata search help for a filed and output window would have all the ALV features like SORT buttons etc.
    Hope there is some FM to achieve this ALV format data thing.
    Thanks in advance for all your help.
    Regards
    FX3

    check this
    REPORT y_demo_alv_3.
    TYPE-POOLS: slis.
    DATA: BEGIN OF i_outtab OCCURS 0.
            INCLUDE STRUCTURE sflight.
    DATA:   w_chk TYPE c.                  "For multiple selection
    DATA: END OF i_outtab.
    *       I_OUTTAB TYPE SFLIGHT OCCURS 0,
    DATA: i_private TYPE slis_data_caller_exit,
          i_selfield TYPE slis_selfield,
          W_exit(1) TYPE c.
    PARAMETERS: p_title TYPE sy-title.
    START-OF-SELECTION.
      SELECT * FROM sflight INTO TABLE i_outtab.
      CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
           EXPORTING
                i_title                 = p_title
                i_selection             = 'X'
                i_zebra                 = 'X'
    *           I_SCREEN_START_COLUMN   = 0
    *           I_SCREEN_START_LINE     = 0
    *           I_SCREEN_END_COLUMN     = 0
    *           I_SCREEN_END_LINE       = 0
                i_checkbox_fieldname    = 'W_CHK'
    *           I_LINEMARK_FIELDNAME    =
    *           I_SCROLL_TO_SEL_LINE    = 'X'
                i_tabname               = 'I_OUTTAB'
                i_structure_name        = 'SFLIGHT'
    *           IT_FIELDCAT             =
    *           IT_EXCLUDING            =
    *           I_CALLBACK_PROGRAM      =
    *           I_CALLBACK_USER_COMMAND =
    *            IS_PRIVATE             = I_PRIVATE
         IMPORTING
                es_selfield             = i_selfield
                e_exit                  = w_exit
           TABLES
                t_outtab                = i_outtab
           EXCEPTIONS
                program_error           = 1
                OTHERS                  = 2.
      IF sy-subrc <> 0.
    *    MESSAGE i000(0k) WITH sy-subrc.
      ENDIF.
    *****the internal table is modified with a cross sign for marking the
    ***rows selected
      LOOP AT i_outtab WHERE w_chk = 'X'.
        WRITE: /  i_outtab-carrid, i_outtab-price.
      ENDLOOP.

  • Text in internal table with HTML tags.

    Hi ,
    I have Text in internal table with HTML tags.
    The text has to be shown in output of smartform as formatted text.
    That is the smartform should READ the HTML TAGS , convert the text accordingly and show in the output as formatted text.
    I dont want to make a webform . This is for NORMAL SPOOL output and NOT for WEB OUTPUT.
    IN SHORT
    :- the text in the internal table is like this ( please ignore the dot in the HTML TAG )--
    <html><.U>this is heading</.U>Line with no break<.br>some content text</.br>
    </html>
    OUTPUT
    <U>this is heading</U>Line with no break<br>some content text</br>
    1)  Can I can get the output and store it as text in a string variable and show in the smartform  ?
    In this case I want to know how to convert  and store in a variable  in sap .
    OR
    2) Can the text element convert the text with HTML TAGS to html formatted output and show it ?
    Regards,
    Jagat

    Hi,
    Use the FM SCP_REPLACE_STRANGE_CHARS and check
    See the
    Converting html special characters to plain characters (e.g. u00FC to u00FC)

  • Download chinese text from internal table to PC text file

    Hi Experts,
      Iam downloading internal table (which is having records in chinese text) on to PC file. But the iam not getting correct text in the pc file. Iam getting some garbage values text.
    Iam using GUI_download FM to donwload the text.
    Iam using internal table
    Begin of itab occurs 0,
    text type string,
    end of itab.
    and passing paramters.
    Filename
    codepage
    table.
    Can you please tell me how can I achive this and what are the parameter need to pass for this.
    Thank In Advance.

    Hi,
    You can use follwoing  funtion modules instead of GUI_DOWNLOAD. It will be more easier.
    SAP_CONVERT_TO_CSV_FORMAT
    SAP_CONVERT_TO_TEX_FORMAT
    SAP_CONVERT_TO_TXT_FORMAT
    SAP_CONVERT_TO_XLS_FORMAT
    SAP_CONVERT_TO_XML_FORMAT.
    I hope this will help you out.
    Help children of U.N World Food Program by rewarding  points and encourage others to answer your queries.

  • How to load text data into internal table

    I have a text file to load txt data into internal table. So how to read text data with validation and to load all text data into the internal table?
    Say this is the text file:
    IO_NAME, IO_TYPE, IO_SHTXT, IO_LONGTEXT, DATATYPE, DATA LENGTH
    ZIO_TEST1, CHA,      IO TEST1,      IO TEST 1,        CHAR,         20
    ZIO_TEST2, CHA,      IO TEST2,      IO TEST 2,        CHAR,         20
    Regards,
    Mau

    Hi,
    U can use GUI_UPLOAD for this...
    Declare an internal table like
    data: begin of itab occurs 0,
    string(1200),
    end of itab.
    check the sample code:
    cange as you need
    DATA: DATEI_PC TYPE STRING VALUE 'C:\MATNR.TXT'.
    DATA: BEGIN OF ITAB occurs 0,
    TXT(1024),
    END OF ITAB.
    CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
    EXPORTING
    FILENAME = DATEI_PC
    FILETYPE = 'ASC'
    CHANGING
    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
    NOT_SUPPORTED_BY_GUI = 17
    ERROR_NO_GUI = 18
    OTHERS = 19.
    IF SY-SUBRC NE 0. WRITE: / 'Error in Uploading'. STOP. ENDIF.
    WRITE: / 'UPLOAD:'.
    LOOP AT ITAB. WRITE: / ITAB-TXT. ENDLOOP.

  • Loading Text data into internal table

    I have a text file to load txt data into internal table. So how to read text data with validation and to load all text data into the internal table?
    Say this is the text file:
    IO_NAME, IO_TYPE, IO_SHTXT, IO_LONGTEXT, DATATYPE, DATA LENGTH
    ZIO_TEST1, CHA, IO TEST1, IO TEST 1, CHAR, 20
    ZIO_TEST2, CHA, IO TEST2, IO TEST 2, CHAR, 20
    Regards,
    Mau

    hi Mau,
    look this code, maybe it's help u.
    <b>REPORT  ZTXTTOTABLE.</b>
    DATA: p_file   TYPE string value 'C:\teste.txt',
          BEGIN OF TI_table OCCURS 0,
            COD(5) TYPE C,
            NAME(40),
          END OF TI_table,
          a(2).
    PARAMETERS: sel_file(128) TYPE c
                default 'C:\teste.txt' OBLIGATORY LOWER CASE.
    p_file = sel_file.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        filename = p_file
      TABLES
        data_tab = ti_table[].
    format color COL_TOTAL INTENSIFIED ON.
    loop at ti_table.
      write: / sy-vline, ti_table-cod, at 10 sy-vline, ti_table-name,
             at 60 sy-vline.
    endloop.
    write: / sy-uline(60).
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR sel_file.
      CALL FUNCTION 'WS_FILENAME_GET'
        EXPORTING
          def_filename     = ''
          def_path         = 'C:\'
          mask             = ',Documentos de texto (*.txt), *.txt.'
          mode             = ''
        IMPORTING
          filename         = p_file
        EXCEPTIONS
          inv_winsys       = 1
          no_batch         = 2
          selection_cancel = 3
          selection_error  = 4
          OTHERS           = 5.
      find '.txt' IN p_file.
      if sy-subrc <> 0.
        concatenate p_file '.txt' into sel_file.
      else.
        sel_file = p_file.
      endif.
    top-of-page.
      format color COL_HEADING INTENSIFIED ON.
      uline (60).
      write: / sy-vline, 'COD', at 10 sy-vline, 'NAME', at 60 sy-vline.
      write: / sy-uline(60).
    good luck!
    Regards
    Allan Cristian

  • Merging of multiple rows in an internal table as a single record

    Hi All,
    I have an internal table which has the following columns:
    text, date, time, user.
    it stores notes in the internal table.
    The problem is...when I save a note with multiple lines and spaces it saves each line of the note as a row in the internal table.
    Thus i get more no. of rows in the internal table compare to the no. of rows!
    I need to store each notes as single row in the internal table.
    Please advise how to approach this?
    Helpful answers will be rewarded.
    Thanks & Regards,
    Anshumita.

    You can create a deep internal table. You can declare one Column as an internal table and store the NOTES in that Internal table for each row.
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb366d358411d1829f0000e829fbfe/content.htm
    you can check the example in the link
    regards,
    abhishek

  • Inserting a line in a internal table

    Hello guys , I want to insert in the forst line of my internal table son titles in order to move the entire table to txt file , But I dont kno how I can put the titles in the first line, any suggestion ? DO I have to use a index?

    Where are you writing the text file??
    If you are using GUI_download, then you can pass the header text( in a different internal table) to the FM.
    If you are using open dataset you can write the header first and then the internal table.
    I dont think inserting text in the data table is a good idea.

  • How to filter out alt+enter in excel when upload to abap internal table

    hi guys,
    we're facing a problem when upload excel file with alt+key in between a line.
    system would create some special character (# if see from internal table, a square if see from text file) in between the line.
    replace all occurrences of '#' in char with space is not working here. And it is possible for user to key in '#' in the lines.
    do we have any other option to fix this?
    thanks.

    Hi,
    How are you uploading data from Excel to your program.
    Try using FM 'ALSM_EXCEL_TO_INTERNAL_TABLE' as shown below :
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = p_file
          i_begin_col             = '1'
          i_begin_row             = w_row
          i_end_col               = '200'
          i_end_row               = '60000'
        TABLES
          intern                  = ex_itab
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
    This will allow you to upload the file without any special character. w_row is the row from which actual data in your excel begins.
    Hope I understood your problem correctly and have given the right soln.
    Regards,
    Lalit Kabra

  • Error occured in  moving internal tables

    Hi  i have a doubt in internal tables
    Actually i have created a internal table(rtab_alv ) for the output in the format of alv grid and after that i had created another internal table as iznew1 in which i had transfered all the values of a database view(znew1)  into that internal table iznew1 after that while i was trying to move the values of iznew1 to rtab_alv its not accepting it was showing an error  as
    <b>rtab_alv and iznew1 are not mutually convertible in a unicode program</b>
    so can u explain me what is the possible error in this and how to resolve it
    solution will be rewarded points

    Hi Mr. Sadiqui
    By following your procedure an error has occured as
    below field are coming from database view and i m passing view data into iznew1
    fields of iznew1
                 LIFNR  LIKE EKKO-LIFNR,
                 EBELN  LIKE EKKO-EBELN,
                 VGABE  LIKE EKBE-VGABE,
                 EBELP  LIKE EKBE-EBELP,
                 BELNR  LIKE EKBE-BELNR,
                 MATNR  LIKE EKPO-MATNR,
                 TXZ01  LIKE EKPO-TXZ01,
            PS_PSP_PNR  LIKE EKKN-PS_PSP_PNR,
                 KOSTL  LIKE EKKN-KOSTL,
                 NAME1  LIKE LFA1-NAME1,
                 NAME2  LIKE LFA1-NAME2,
                 WERKS  LIKE EKPO-WERKS,
                 NETWR  LIKE EKPO-NETWR,
                 KNUMV  LIKE EKKO-KNUMV,
                 GJAHR  LIKE EKBE-GJAHR,
    and now i want to pass
    one field ED1  which i hase calculated separatly and i want to pass this value into iznew1
    but error is coming that iznew1 is a table with out header line  has no component like ED1.
    so how can i pass calculated value to internal table iznew1,

  • Missing records while downloading internal table to excel because of ' " '

    Friends...
    I am trying to download the contents of an internal table to an excel file.
    Now i tried to download the contents in debugging mode. I noticed there is this character " in one of the fields of my internal table, and i came to know, that presence of such special characters results in the internal table not getting exaclty downloaded to excel format.
    Is there any way to solve this problem. I thought of removing the field itself from the internal table but, thats not possible. Its mandatory to have that field in the table.
    Regards.

    Well.. by doing so.. the number of records etc is comin correctly, but the field in which the special character " is present, will be shown without " right.... so.. infact... the output is incorrect ....
    I am sorry, i cant share the file because of security reasons..

  • Delete duplicate entriess from the internal table its urgent pls help.

    Hi friends,
    Hope everybody is doing good,Here is m query on delete duplicate data from the intenal table.
    I have an internal table which contain data in the following format.
    Doc No Comp Cod Vendor Assignment
    1500000009 JM11 00000000
    1500000008 JM11 20070212(Repeating)
    1500000007 JM11 20070212
    1500000006 JM11 00000000
    1500000005 JM11 00000000
    1500000004 JM11 00000000(Repeating)
    1500000003 JM11 00000000 (Repeating)
    1500000002 JM11 00000000
    1500000001 JM11 20050302
    1500000000 JM11 00000000
    1500000003 JM11 10000088
    1500000001 JM11 10000088
    1500000030 JM11 10006260
    1500000010 JM11 10006269
    1500000008 JM11 10006269
    1500000006 JM11 10006269
    1500000004 JM11 10006269
    if you see the document numbers,there are some document number which are repeating here,there are some document numer which contain vendor number but not the assignments,some of the document numbers contain the assignments but not the vendors.
    If my internal table contain this kind of data with repeted document numbers than i want the document number which contains only the vendor number.
    Pls help me with the appropriate logic,its urgent.
    Thanks a lot
    mrutyun^

    Hi,
    <u><b>Deleting Adjacent Duplicate Entries</b></u>
    To delete adjacent duplicate entries use the following statement:
    DELETE ADJACENT DUPLICATE ENTRIES FROM <itab>
    [COMPARING <f1> <f2> ...
    |ALL FIELDS].
    The system deletes all adjacent duplicate entries from the internal table <itab>. Entries are
    duplicate if they fulfill one of the following compare criteria:
      Without the COMPARING addition, the contents of the key fields of the table must be
    identical in both lines.
      If you use the addition COMPARING <f1> <f2> ... the contents of the specified fields <f1>
    <f2> ... must be identical in both lines. You can also specify a field <fi> dynamically as
    the contents of a field <ni> in the form (<ni>). If <ni> is empty when the statement is
    executed, it is ignored. You can restrict the search to partial fields by
    specifying offset and length.
      If you use the addition COMPARING ALL FIELDS the contents of all fields of both lines
    must be identical.
    You can use this statement to delete all duplicate entries from an internal table if the table is
    sorted by the specified compare criterion.
    If at least one line is deleted, the system sets SY-SUBRC to 0, otherwise to 4.
    Examples
    DATA: BEGIN OF LINE,
    COL1 TYPE I,
    COL2 TYPE I,
    END OF LINE.
    DATA ITAB LIKE HASHED TABLE OF LINE WITH UNIQUE KEY COL1.
    DO 4 TIMES.
    LINE-COL1 = SY-INDEX.
    LINE-COL2 = SY-INDEX ** 2.
    INSERT LINE INTO TABLE ITAB.
    ENDDO.
    LINE-COL1 = 1.
    DELETE TABLE ITAB: FROM LINE,
    WITH TABLE KEY COL1 = 3.
    LOOP AT ITAB INTO LINE.
    WRITE: / LINE-COL1, LINE-COL2.
    ENDLOOP.
    The output is:
    2    4
    4   16
    The program fills a hashed table with a list of square numbers. The DELETE
    statement delete the lines from the table where the key field COL1 has the contents 1 or 3.
    Regards,
    Bhaskar

  • Download of table and its characteristics into text format

    Hi all,
    How can i download a table and its characteristics into text format.
    is there any option to download the table and its characteristics into text format.
    if found satisfactory, such answers will be rewarded
    regards
    samarendra

    Hi samarendra,
    To download a table and its fields in a Text format file, follow the following steps:
    1. Go to SE11 and enter teh database table name.
    2. Go to 'Utilities' option in the Menu bar, then go to 'Table Description Generator'
          Utilities->Table Description Generator
    3.  Give the table Name against the 'Table Names' field in the 'Table Slection' section
         & Execute
    4. On Exceuting you are taken to a screen.
        Over there, Go to 'List',->'Save/Send'->'File'
        In the type of file options, select 'Rich text format'. Then give the file name(you are
        able to browse your local hard disk'. The fiel can be a new file also.
    Try if this resolves your problem.

Maybe you are looking for

  • Multiple apple Id app transfer

    Currently we have one ios device, and planning to have another with a different apple id. we want to use the apps we already purchased on the first ios device, and bring them over them to the second, without having to repurchase them. I have prepaire

  • USB 3.0 port thinks it is USB 2.0

    I just bought a new HP ENVY 15-j101tu Notebook PC. When I plug the external USB 3.0 hard drive the system pops up message saying the device can perform faster when connected to USB 3.0. The speed of file transfer from laptop to the external hard disk

  • Mapping runtime constant to get system details of the XI box

    Hi    We have a need to get the XI system details ( sysid and the client) at runtime - when executing a mapping that we designed using Message mapping . Is there any runtime constant/udf that we  can use to retrieve this information ? We are on XI 3.

  • Just moved from GoLive to DW, how do I do this?

    I've just moved over to Dreamweaver CS3 from GoLive and there are a few things I cant figure out how to do that we're really simple in GoLive: 1.How do you make a scrollable window? I want to make a scrollable fixed window for a 'news section'. (I us

  • Adobe v9 Convert to HTML cutting off after page 1

    Hello, I wasn't able to find this answer anywhere and am hoping someone can help. Using IE8 and Adobe Pro 9. One particular web https site generates reports in text type format. Since the upgrade to IE8 and Adobe 9 we're unable to take that page and