Sunday 26 July 2015

Downloading Internal Table as a ZIP file on the Presentation Server

-------------------------------------------------------------------------------------------------------------------------------------
DATA lt TYPE TABLE OF scarr,
           ls TYPE scarr,
           lv_string TYPE string,
           lv_xstring TYPE xstring,
           lr_zip TYPE REF TO cl_abap_zip,
           lt_bin TYPE TABLE OF x255.

START-OF-SELECTION.
  SELECT FROM scarr INTO TABLE lt.
  LOOP AT lt INTO ls.
    CONCATENATE lv_string ls INTO lv_string SEPARATED BY cl_abap_char_utilities=>newline.
  ENDLOOP.


* Convert String to X String
  CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
    EXPORTING
      text   lv_string
    IMPORTING
      buffer lv_xstring.

  CREATE OBJECT lr_zip.
* Add teh X String as a Zip file
  CALL METHOD lr_zip->add
    EXPORTING
      name    'flight'
      content lv_xstring.

  CALL METHOD lr_zip->save
    RECEIVING
      zip lv_xstring.


* Convert Xstring to Binary Table
  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING
      buffer     lv_xstring
    TABLES
      binary_tab lt_bin.


* Download the Binary table
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      filename 'C:\FLIGHT\FLIGHT.ZIP'
      filetype 'BIN'
    TABLES
      data_tab lt_bin.
  IF sy-subrc IS INITIAL.
    MESSAGE 'check the zip file in the location: C:\FLIGHT\' TYPE 'I'.
  ENDIF.


-------------------------------------------------------------------------------------------------------------------------------------
Execute the program.
Check the location.







-------------------------------------------------------------------------------------------------------------------------------------

No comments:

Comments system

Disqus Shortname