注册 登录
赛跑网 返回首页

wyzlt216123的个人空间 https://www.91sap.com/?1173 [收藏] [复制] [分享] [RSS]

日志

BDC时按扭提供模板下载

已有 855 次阅读2011-10-24 15:42 |个人分类:ABAP|

 执行BDC时,如果导入的模板错误,那对导入数据也将没有任何意义,通常在执行BDC之前由界面提供按钮,实现BDC标准模板的下载功能,代码如下:
TABLES SSCRFIELDS.
TYPES :
* 模板标题用类型
  BEGIN OF GTYP_TITLE,
    TITLE1(20) TYPE C,                   "标题1
    TITLE2(20) TYPE C,                   "标题2
    TITLE3(20) TYPE C,                   "标题3
    TITLE4(20) TYPE C,                   "标题4
    TITLE5(20) TYPE C,                   "标题5
    TITLE6(20) TYPE C,                   "标题6
    TITLE7(20) TYPE C,                   "标题7
  END OF GTYP_TITLE.
  DATA ls_title TYPE GTYP_TITLE.
 DATA GT_TITLE    TYPE STANDARD TABLE OF GTYP_TITLE.
SELECTION-SCREEN: FUNCTION KEY 1.
INITIALIZATION.
  SSCRFIELDS-FUNCTXT_01 = '下载模板'.
AT SELECTION-SCREEN.
* 相应按钮
  PERFORM FRM_DOWNLOAD.
FORM frm_download .
  CASE sscrfields-ucomm.
    WHEN 'FC01'.
      PERFORM frm_download_excel.
  ENDCASE.
ENDFORM. 
FORM frm_download_excel .
*    DATA: LS_DOWNLOAD     TYPE GTYP_DOWNLOAD,
  DATA : ls_title        TYPE gtyp_title,
         l_file          TYPE string,
         l_filename(128) TYPE c.
  IF gt_title IS INITIAL.
    ls_title-title1 = '标题1'.
    ls_title-title2 = '标题2'.
    ls_title-title3 = '标题3'.
    ls_title-title4 = '标题4'.
    ls_title-title5 = '标题5'.
    ls_title-title6 = '标题6'.
    ls_title-title7 = '标题7'.
    APPEND ls_title TO gt_title.
  ENDIF.
  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_path         = ''
      mask             = ' (*.xls),*.xls,'
      mode             = 'S'
      title            = text-004
    IMPORTING
      filename         = l_filename
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.
  IF sy-subrc <> 0.
    CLEAR: l_filename.
  ENDIF.
  l_file = l_filename.
  CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
      filename = l_file
      filetype = 'DAT'
      codepage = '8400'
    TABLES
      data_tab = gt_title.
*      FIELDNAMES = GT_TITLE
  IF sy-subrc = 0.
    MESSAGE '模板下载成功!' TYPE 'S'.
  ELSE.
    MESSAGE '模板下载错误!' TYPE 'E'.
  ENDIF.
ENDFORM.                    " FRM_DOWNLOAD_EXCEL

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-5-18 23:13 , Processed in 0.097371 second(s), 19 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

返回顶部