为parameter 设置F4搜索帮助,选择文件下载路径

DATA: new_path      TYPE string,
      repid         TYPE syrepid,
      dynnr         TYPE sydynnr,
      lt_dynpfields TYPE TABLE OF dynpread,
      ls_dynpfields LIKE LINE OF lt_dynpfields.

PARAMETERS p_file  TYPE string  OBLIGATORY LOWER CASE . 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

* Get current value
    dynnr = sy-dynnr.
    repid = sy-repid.
    ls_dynpfields-fieldname = 'P_FILE'.
    APPEND ls_dynpfields TO lt_dynpfields.

    CALL FUNCTION 'DYNP_VALUES_READ'
      EXPORTING
        dyname               = repid
        dynumb               = dynnr
      TABLES
        dynpfields           = lt_dynpfields
      EXCEPTIONS
        invalid_abapworkarea = 1
        invalid_dynprofield  = 2
        invalid_dynproname   = 3
        invalid_dynpronummer = 4
        invalid_request      = 5
        no_fielddescription  = 6
        invalid_parameter    = 7
        undefind_error       = 8
        double_conversion    = 9
        stepl_not_found      = 10
        OTHERS               = 11.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      EXIT.
    ENDIF.

    READ TABLE lt_dynpfields INTO ls_dynpfields INDEX 1.

    new_path = ls_dynpfields-fieldvalue.
    p_file = new_path.

    cl_gui_frontend_services=>directory_browse(
      EXPORTING
        window_title         = '选择下载EXCEL文件夹目录'
        initial_folder       = new_path
      CHANGING
        selected_folder      = new_path
      EXCEPTIONS
        cntl_error           = 1
        error_no_gui         = 2
        not_supported_by_gui = 3
        OTHERS               = 4
           ).
    cl_gui_cfw=>flush( ).
    CHECK new_path IS NOT INITIAL.
    p_file = new_path.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gong JX

多谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值