如何在事件AT SELECTION-SCREEN ON VALUE-REQUEST中取得选择画面字段输入值详解编程语言
2023-06-13 09:11:51 时间
在AT SELECTION-SCREEN ON VALUE-REQUEST事件中,是不能直接取得选择屏幕字段的默认值或输入的值,而是需要通过函数 DYNP_VALUES_READ读取。
img >
例子程序:
REPORT ZTEST_F4_DEFAULT. PARAMETERS: p_folder TYPE file_table-filename.
* ---------------------------------------------------------------------* * Event AT SELECTION-SCREEN * ---------------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_folder. PERFORM frm_f4_pfolder. * ---------------------------------------------------------------------* * Form FRM_F4_PFOLDER * ---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -- p1 text * -- p2 text *----------------------------------------------------------------------* FORM frm_f4_pfolder . DATA: l_path TYPE string, l_sel TYPE string, lit_dyn TYPE TABLE OF dynpread, lwa_dyn TYPE dynpread. IF p_folder IS INITIAL. lwa_dyn-fieldname = P_FOLDER. APPEND lwa_dyn TO lit_dyn. CALL FUNCTION DYNP_VALUES_READ EXPORTING dyname = sy-cprog dynumb = sy-dynnr TABLES dynpfields = lit_dyn 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. READ TABLE lit_dyn INTO lwa_dyn WITH KEY fieldname = P_FOLDER. l_path = lwa_dyn-fieldvalue. ELSE. l_path = p_folder. ENDIF. CALL METHOD cl_gui_frontend_services= directory_browse EXPORTING initial_folder = l_path CHANGING selected_folder = l_sel EXCEPTIONS cntl_error = 1 error_no_gui = 2 not_supported_by_gui = 3 OTHERS = 4. IF sy-subrc EQ 0. p_folder = l_sel. ENDIF. ENDFORM.
debug截图:
发现,虽然P_folder有初始默认值z:/zpkf,但是在VALUE-REQUEST事件中,P_folder为空,
img >
随后通过DYNP_VALUES_READ读出,如下:
img >
以上。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/19256.html
cjava相关文章
- 你根本不懂Javascript(EP5 HTML事件捕获与冒泡)
- 2023年春节期间XR资讯大事件合集
- jQuery 事件(三) 事件的绑定和解绑、对象的使用、自定义事件
- Vue非父子组件传值之事件总线(eventbus)的使用方式
- Scratch3.0——助力新进程序员理解程序(四、事件)
- 选中和取消选中事件on
- node.js的作用、回调、同步异步代码、事件循环详解编程语言
- Oracle 等待事件 cursor: pin S wait on X 官方解释,作用,如何使用及优化方法
- Oracle 等待事件 flashback buf free by RVWR 官方解释,作用,如何使用及优化方法
- jquery关于on click事件的理解详解编程语言
- 怎么去转换任何系统调用为一个事件:对 eBPF 内核探针的介绍
- 深入MySQL解密On语句的使用方法(mysql中on使用方法)
- 利用Oracle 探知跨数据库的脆弱性(oracle 事件探查器)
- Oracle中ON关键字的精彩运用(oracle中on的使用)
- Redis中的键事件通知功能(redis 键事件通知)
- Oracle中妙用ON子句优化SQL查询(oracle on子句)
- OKex回应刷量事件,疑云再添一重?
- jschange,propertychange,input事件小议
- javascript中onmouse事件在div中失效问题的解决方法
- javascript中键盘事件用法实例分析