Ansicht
Dokumentation

/SMB/ZIP_FILE_DOWNLOAD - Download an Internal Table to the PC

/SMB/ZIP_FILE_DOWNLOAD - Download an Internal Table to the PC

General Data in Customer Master   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
This documentation is copyright by SAP AG.
SAP E-Book

Functionality

Data transfer of an internal table form the server to a file on the PC. The Gui_Download module replaces the obsolete modules Ws_Download and Download. The file dialog of the download module is available in the class Cl_Gui_Frontend_Services.

Notes

Further information

TYPE-POOLS: ABAP.

* Binary download table

DATA: BEGIN OF line_bin,

         data(1024) TYPE X,

      END OF line_bin.

DATA: data_tab_bin LIKE STANDARD TABLE OF line_bin.

* Ascii download table

DATA: BEGIN OF line_asc,

         text(1024) TYPE C,

      END OF line_asc.

DATA: data_tab_asc LIKE STANDARD TABLE OF line_asc.

* DAT download table

DATA: BEGIN OF line_dat,

         Packed   TYPE P,

         Text(10) TYPE C,

         Number   TYPE I,

         Date     TYPE D,

         Time     TYPE T,

         Float    TYPE F,

         Hex(3)   TYPE X,

         String   TYPE String,

      END OF line_dat.

DATA: data_tab_dat LIKE STANDARD TABLE OF line_dat.

* Get filename

DATA: fullpath      TYPE String,

      filename      TYPE String,

      path          TYPE String,

      user_action   TYPE I,

      encoding      TYPE ABAP_ENCODING.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG

   EXPORTING

     WINDOW_TITLE         = 'Gui_Download Demo'

     WITH_ENCODING        = 'X'

     INITIAL_DIRECTORY    = 'C:\'

  CHANGING

     FILENAME             = filename

     PATH                 = path

     FULLPATH             = fullpath

     USER_ACTION          = user_action

     FILE_ENCODING        = encoding

  EXCEPTIONS

     CNTL_ERROR           = 1

     ERROR_NO_GUI         = 2

     NOT_SUPPORTED_BY_GUI = 3

     others               = 4.

IF SY-SUBRC <> 0.

  EXIT.

ENDIF.

IF user_action <> CL_GUI_FRONTEND_SERVICES=>ACTION_OK.

  EXIT.

ENDIF.

* Download variables

DATA: length TYPE I.

* Binary download

  CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      FILENAME                        = fullpath

      FILETYPE                        = 'BIN'

    IMPORTING

      FILELENGTH                      = length

    TABLES

      DATA_TAB                        = data_tab_bin

   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.

* Ascii download

  CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      FILENAME                        = fullpath

      FILETYPE                        = 'ASC'

    IMPORTING

      FILELENGTH                      = length

    TABLES

      DATA_TAB                        = data_tab_asc

   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.

* DAT download

  CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

      FILENAME                        = fullpath

      FILETYPE                        = 'DAT'

    IMPORTING

      FILELENGTH                      = length

    TABLES

      DATA_TAB                        = data_tab_dat

   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.





Parameters

APPEND
BIN_FILESIZE
CODEPAGE
COL_SELECT
COL_SELECT_MASK
CONFIRM_OVERWRITE
DATA_TAB
DAT_MODE
FIELDNAMES
FILELENGTH
FILENAME
FILETYPE
HEADER
IGNORE_CERR
NO_AUTH_CHECK
REPLACEMENT
SHOW_TRANSFER_STATUS
TRUNC_TRAILING_BLANKS
TRUNC_TRAILING_BLANKS_EOL
WK1_N_FORMAT
WK1_N_SIZE
WK1_T_FORMAT
WK1_T_SIZE
WRITE_BOM
WRITE_FIELD_SEPARATOR
WRITE_LF
WRITE_LF_AFTER_LAST_LINE
ZIP_CONTENT

Exceptions

ACCESS_DENIED
CONTROL_FLUSH_ERROR
DATAPROVIDER_EXCEPTION
DISK_FULL
DP_ERROR_CREATE
DP_ERROR_SEND
DP_ERROR_WRITE
DP_OUT_OF_MEMORY
DP_TIMEOUT
FILESIZE_NOT_ALLOWED
FILE_NOT_FOUND
FILE_WRITE_ERROR
GUI_REFUSE_FILETRANSFER
HEADER_NOT_ALLOWED
HEADER_TOO_LONG
INVALID_TYPE
NO_AUTHORITY
NO_BATCH
SEPARATOR_NOT_ALLOWED
UNKNOWN_DP_ERROR
UNKNOWN_ERROR

Function Group

/SAPLZIP_UPLOAD_DOWNLOAD

General Material Data   ROGBILLS - Synchronize billing plans  
This documentation is copyright by SAP AG.

Length: 22772 Date: 20240424 Time: 115003     sap01-206 ( 98 ms )