cancel
Showing results for 
Search instead for 
Did you mean: 

ws_download

Former Member
0 Kudos

Hi ,

I need to download data from an internal table into a text file with a tab delimiter.I am using 4.6C

Someone please answer.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Use GUI_DOWNLOAD FM and pass FILETYPE as 'DAT' and WRITE_FIELD_SEPARATOR As'X'

call function 'GUI_DOWNLOAD'
       exporting
            filename                = s_fname
            filetype                = 'DAT'
         write_field_separator  = 'X'
       tables
            data_tab                = it_filecontent
       exceptions
            file_write_error        = 1
            no_batch                = 2
            gui_refuse_filetransfer = 3
            invalid_type            = 4
            others                  = 5.

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi,

data : true TYPE c VALUE 'X'..

CALL METHOD cl_gui_frontend_services=>gui_download

EXPORTING

filename = lv_fname

filetype = 'ASC'

write_field_separator ='X'

trunc_trailing_blanks = true

write_lf = true

  • IMPORTING

  • filelength = l_filelength

CHANGING

data_tab = gt_bsis1[]

EXCEPTIONS

file_write_error = 1

no_batch = 2

gui_refuse_filetransfer = 3

invalid_type = 4

no_authority = 5

unknown_error = 6

header_not_allowed = 7

separator_not_allowed = 8

filesize_not_allowed = 9

header_too_long = 10

dp_error_create = 11

dp_error_send = 12

dp_error_write = 13

unknown_dp_error = 14

access_denied = 15

dp_out_of_memory = 16

disk_full = 17

dp_timeout = 18

file_not_found = 19

dataprovider_exception = 20

control_flush_error = 21

OTHERS = 22.

Rgds,

Pavan

Former Member
0 Kudos

Hi,

Use the function module GUI_DOWNLOAD

CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
  BIN_FILESIZE                    =
    filename                        = <File-path.txt>
   FILETYPE                        = 'ASC'
   APPEND                          = ' '
   WRITE_FIELD_SEPARATOR           = 'X'
   HEADER                          = '00'
   TRUNC_TRAILING_BLANKS           = ' '
   WRITE_LF                        = 'X'
   COL_SELECT                      = ' '
   COL_SELECT_MASK                 = ' '
   DAT_MODE                        = ' '
   CONFIRM_OVERWRITE               = ' '
   NO_AUTH_CHECK                   = ' '
   CODEPAGE                        = ' '
   IGNORE_CERR                     = ABAP_TRUE
   REPLACEMENT                     = '#'
   WRITE_BOM                       = ' '
   TRUNC_TRAILING_BLANKS_EOL       = 'X'
   WK1_N_FORMAT                    = ' '
   WK1_N_SIZE                      = ' '
   WK1_T_FORMAT                    = ' '
   WK1_T_SIZE                      = ' '
   WRITE_LF_AFTER_LAST_LINE        = ABAP_TRUE
   SHOW_TRANSFER_STATUS            = ABAP_TRUE
 IMPORTING
   FILELENGTH                      =
 tables
    data_tab                        = <table-name>
   FIELDNAMES                      =
 EXCEPTIONS
   FILE_WRITE_ERROR                = 1
   NO_BATCH                        = 2
   GUI_REFUSE_FILETRANSFER         = 3
   INVALID_TYPE                    = 4
   NO_AUTHORITY                    = 5
   UNKNOWN_ERROR                   = 6
   HEADER_NOT_ALLOWED              = 7
   SEPARATOR_NOT_ALLOWED           = 8
   FILESIZE_NOT_ALLOWED            = 9
   HEADER_TOO_LONG                 = 10
   DP_ERROR_CREATE                 = 11
   DP_ERROR_SEND                   = 12
   DP_ERROR_WRITE                  = 13
   UNKNOWN_DP_ERROR                = 14
   ACCESS_DENIED                   = 15
   DP_OUT_OF_MEMORY                = 16
   DISK_FULL                       = 17
   DP_TIMEOUT                      = 18
   FILE_NOT_FOUND                  = 19
   DATAPROVIDER_EXCEPTION          = 20
   CONTROL_FLUSH_ERROR             = 21

Hope this helps you.

Regards,

Rajani

Former Member
0 Kudos

Hi,

Use the following code


  DATA: lv_filetype(10) TYPE c,
        lv_gui_sep TYPE c,
        lv_file_name TYPE string,
        tb_output1_file TYPE TABLE OF ty_output1_file.

  lv_filetype = 'ASC'.
  lv_gui_sep = 'X'.
  lv_file_name = <file path>.
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      filename                = lv_file_name
      filetype                = lv_filetype
      write_field_separator   = lv_gui_sep
    TABLES
      data_tab                = tb_output1_file
    EXCEPTIONS
      file_write_error        = 1
      no_batch                = 2
      gui_refuse_filetransfer = 3
      invalid_type            = 4
      no_authority            = 5
      unknown_error           = 6
      header_not_allowed      = 7
      separator_not_allowed   = 8
      filesize_not_allowed    = 9
      header_too_long         = 10
      dp_error_create         = 11
      dp_error_send           = 12
      dp_error_write          = 13
      unknown_dp_error        = 14
      access_denied           = 15
      dp_out_of_memory        = 16
      disk_full               = 17
      dp_timeout              = 18
      file_not_found          = 19
      dataprovider_exception  = 20
      control_flush_error     = 21
      OTHERS                  = 22.
  IF sy-subrc <> 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

Regards,

Manish

Former Member
0 Kudos

Hi

GUI_DOWNLOAD or class CL_GUI_FRONTEND_SERVICES=> GUI_DOWNLOAD are

available in 4.6 C

CALL FUNCTION 'GUI_DOWNLOAD'

exporting

filetype = 'ASC'

filename = 'C:\DOWNLOAD.TXT'

write_field_separator = 'X'

tables

data_tab = itab.

*****************************************************

CALL METHOD cl_gui_frontend_services=>gui_download

EXPORTING

filename = fullpath

filetype = 'ASC'

write_field_separator = 'X'

CHANGING

data_tab = p_tb_payt[]

Edited by: Lavanya K on May 15, 2009 7:25 AM

former_member632729
Contributor
0 Kudos

Hi Dude,

Avinash - He is using 4.6C dude how can he use gui_download FM..


********************************************************** 
*  Download program using the functions WS_DOWNLOAD 
********************************************************** 
REPORT Zdownload. 

TABLES: Zxxxx. 

DATA: BEGIN OF TZXXXX OCCURS 100, 
      LINE_NO(3), 
      FILLER1(1), 
      TXT50(50), 
      AMOUNT(10), 
      BUDAT(10), 
      END OF TZXXXX. 

PARAMETERS:  P-FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\TEMP\test.xls', 
             S_FILE AS   CHECKBOX DEFAULT 'X'. 

     MOVE  'No'           TO TZXXXX-LINE_NO. 
     MOVE  'Description'  TO TZXXXX-TXT50. 
     MOVE  'Amount'       TO TZXXXX-AMOUNT. 
     MOVE  'DATE'         TO TZXXXX-BUDAT. 
     APPEND TZXXXX. 
     CLEAR  TZXXXX. 

SELECT * FROM ZXXXX ORDER BY LINE_NO. 
     MOVE  ZXXXX-LINE_NO  TO TZXXXX-LINE_NO. 
     MOVE  ZXXXX-TXT50    TO TZXXXX-TXT50. 
     WRITE ZXXXX-AMOUNT   TO TZXXXX-AMOUNT 
                             USING EDIT MASK 'RRV_______.__'. 
     WRITE ZXXXX-BUDAT    TO TZXXXX-BUDAT. 
     APPEND  TZXXXX. 
     CLEAR   TZXXXX. 
ENDSELECT. 

  CALL FUNCTION 'WS_DOWNLOAD' 
     EXPORTING 
*         BIN_FILESIZE        = ' ' 
*         CODEPAGE            = ' ' 
          FILENAME            = P-FILE 
          FILETYPE            = 'DAT' 
*         filetype            = 'WK1' 
*         MODE                = ' ' 
*         WK1_N_FORMAT        = ' ' 
*         WK1_N_SIZE          = ' ' 
*         WK1_T_FORMAT        = ' ' 
*         WK1_T_SIZE          = ' ' 
*         COL_SELECT          = ' ' 
*         COL_SELECTMASK      = ' ' 
*     importing 
*          filelength          = 
     TABLES 
          DATA_TAB            = TZXXXX 
*         FIELDNAMES          = 
     EXCEPTIONS 
          FILE_OPEN_ERROR     = 1 
          FILE_WRITE_ERROR    = 2 
          INVALID_FILESIZE    = 3 
          INVALID_TABLE_WIDTH = 4 
          INVALID_TYPE        = 5 
          NO_BATCH            = 6 
          UNKNOWN_ERROR       = 7 
          OTHERS              = 8. 

IF SY-SUBRC = 0. 
   SKIP. 
   WRITE:/  'Very good, download successful'. 
ELSE. 
   FORMAT COLOR COL_TOTAL. 
   SKIP. 
   WRITE:/  'Error in Download'. 
   SKIP. 
   WRITE:/  'Is the file Open by Excel or Lotus?'. 
ENDIF.