function to Brows the file and upload

PARAMETERS: P_FILE LIKE RLGRAP-FILENAME.

DATA: I_FILE TYPE STRING.

PERFORM FRM_FILE_PATH USING '*.txt,*.*' CHANGING  P_FILE.     "browse the file

PERFORM UPLOAD.     " upload file

 

FORM FRM_FILE_PATH  USING PR_MASK

                CHANGING PR_FILE.

  DATA:L_FILE(128).

  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

    EXPORTING

      FIELD_NAME = 'C:\'

      MASK       = PR_MASK  """'C:\*.xls,*.xls'

    CHANGING

      FILE_NAME  = PR_FILE.

  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_FILE_PATH

form upload .

  I_FILE = P_FILE.

  CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD

    EXPORTING

      FILENAME                = I_FILE

      "FILETYPE                = 'BIN'

      CODEPAGE                = CODEPAGE

    CHANGING

      DATA_TAB                = ITAB3[]

    EXCEPTIONS

      FILE_OPEN_ERROR         = 1

      FILE_READ_ERROR         = 2

      NO_BATCH                = 3

      GUI_REFUSE_FILETRANSFER = 4

      INVALID_TYPE            = 5

      NO_AUTHORITY            = 6

      UNKNOWN_ERROR           = 7

      BAD_DATA_FORMAT         = 8

      HEADER_NOT_ALLOWED      = 9

      SEPARATOR_NOT_ALLOWED   = 10

      HEADER_TOO_LONG         = 11

      UNKNOWN_DP_ERROR        = 12

      ACCESS_DENIED           = 13

      DP_OUT_OF_MEMORY        = 14

      DISK_FULL               = 15

      DP_TIMEOUT              = 16

      NOT_SUPPORTED_BY_GUI    = 17

      ERROR_NO_GUI            = 18

      OTHERS                  = 19.

  IF SY-SUBRC <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

    WRITE :/ '文件导入失败' .

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

  ENDIF.

ENDFORM.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值