hemir_abap

学习ABAP的小小博客

My Links

Blog Stats

Cached @ 2025/4/28 14:58:59Control ASP.skins_mtclean_controls_blogstats_ascx

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜

Cached @ 2025/4/28 14:58:59Control ASP.skins_mtclean_controls_singlecolumn_ascx

SAP:ABAP:数据从程序内表download到本地PC(GUI_DOWNLOAD/GUI_SAVE_DIALOG)

REPORT ZTEST_GUI_DOWNLOAD .

DATA:
  TD_BKPF TYPE TABLE OF BKPF.


START-OF-SELECTION.

  PERFORM FRM_GET_DATA.

  PERFORM FRM_DOWNLOAD.

*&---------------------------------------------------------------------*
*&      Form  FRM_GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_GET_DATA.
  SELECT *
    FROM BKPF
    INTO TABLE TD_BKPF
   WHERE BUKRS = '0001'
     AND GJAHR = '2009'.

  IF SY-SUBRC <> 0.
    LEAVE TO SCREEN 0.
  ENDIF.
ENDFORM.                    " FRM_GET_DATA

*&---------------------------------------------------------------------*
*&      Form  FRM_DOWNLOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_DOWNLOAD.
  DATA:
    LW_WINTITLE TYPE STRING,
    LW_FILENAME TYPE STRING,
    LW_FILEPATH TYPE STRING,
    LW_FULLPATH TYPE STRING.

  LW_WINTITLE = 'Downlaod file!'.
  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
     EXPORTING
       WINDOW_TITLE      = lw_wintitle      "对话框的标题
       DEFAULT_EXTENSION = 'XLS'      "默认的文件后缀名
*      DEFAULT_FILE_NAME =               "默认文件名
       FILE_FILTER       = 'XLS'                  "文件的filter 
*      INITIAL_DIRECTORY =                  "初始化的目录
    CHANGING
      FILENAME          = LW_FILENAME      "保存的文件名
      PATH              = LW_FILEPATH            "文件路径
      FULLPATH          = LW_FULLPATH      "全文件路径
*      USER_ACTION       =
     EXCEPTIONS
       CNTL_ERROR        = 1
       ERROR_NO_GUI      = 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 METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
    EXPORTING
*      BIN_FILESIZE            =                                   "File length for binary files
      FILENAME                = LW_FILENAME          "Name of file
      FILETYPE                = 'ASC'                              "File Type (ASC or BIN)
      APPEND                  = SPACE                           "Writing mode (overwrite, append)
      WRITE_FIELD_SEPARATOR   = 'X'                "Separate Columns by Tabs in Case of ASCII Download
*      HEADER                  = '00'                                 "Byte Chain Written in Binary Mode at the Start of the File
*      TRUNC_TRAILING_BLANKS   = SPACE     "Do not Write Blank at the End of Char Fields
*      WRITE_LF                = 'X'                                "Insert CR/LF at End of Line in Case of Char Download
*      COL_SELECT              = SPACE                     "Copy Single Columns of the Table Only
*      COL_SELECT_MASK         = SPACE            "Vector Containing an 'X' for the Column To Be Copied
*    IMPORTING
*      FILELENGTH              =
    CHANGING
      DATA_TAB                = TD_BKPF
    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.

 

ENDFORM.                    " FRM_DOWNLOAD

posted on 2009-03-25 17:33 hemir 阅读(1111) 评论(0)  编辑 收藏

Feedback

标题
姓名
主页
内容 
  登录  使用高级评论  Top 订阅回复  取消订阅
[使用Ctrl+Enter键可以直接提交]