单独执行某个条件,增加单独执行按钮

本文介绍了一个使用ABAP编程语言实现的程序,该程序包括了文件选择对话框的打开及文件路径的选择过程,并展示了如何创建执行图标。程序通过调用GUI前端服务来打开文件选择对话框并允许用户选择Excel文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

REPORT  Ztest.
tables: SSCRFIELDS.
TYPE-POOLS icon.

selection-screen begin of line.
selection-screen comment 1(28) text-201 .
selection-screen position 30.
parameters:  p_file1 LIKE rlgrap-filename DEFAULT 'C:/'.
SELECTION-SCREEN PUSHBUTTON 78(10) EXEC1 USER-COMMAND OK1.
selection-screen end of line.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
  PERFORM select_file CHANGING p_file1.

INITIALIZATION.
*  t_repid = sy-repid.
  CALL FUNCTION 'ICON_CREATE'
    EXPORTING
      name   = ICON_EXECUTE_OBJECT
      text   = ''
      info   = 'EXEC'
    IMPORTING
      RESULT = EXEC1
    EXCEPTIONS
      OTHERS = 0.

AT SELECTION-SCREEN.
  CASE SSCRFIELDS-UCOMM.
    WHEN 'OK1'.
      SEARCH p_file1 FOR '.XLS'.

  ENDCASE.
*&---------------------------------------------------------------------*
*&      Form  SELECT_FILE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_P_FILE1  text
*----------------------------------------------------------------------*
FORM select_file CHANGING t_selfile.
  DATA: l_rc         TYPE i,
        l_filetable  TYPE filetable.
* Open The txt File
  CALL METHOD cl_gui_frontend_services=>file_open_dialog
    EXPORTING
      window_title            = '请选择导入文件'
      file_filter             = 'Excel(*.XLS)|*.XLS|全部文件 (*.*)|*.*|'
      multiselection          = space
    CHANGING
      file_table              = l_filetable
      rc                      = l_rc
    EXCEPTIONS
      file_open_dialog_failed = 1
      cntl_error              = 2
      error_no_gui            = 3
      not_supported_by_gui    = 4
      OTHERS                  = 5.

  IF sy-subrc = 0 AND l_rc = 1.
    READ TABLE l_filetable INTO t_selfile INDEX 1.
  ENDIF.
ENDFORM.                    "SELECT_FILE
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值