SAP ABAP dialog 获取屏幕字段值 F4搜索帮助
在POV事件中,因为没有经过PAI直接进入POV中的MODULE,所以直接调用屏幕中的字段并没有值,所以要
用DYNP_VALUES_READ读取屏幕字段的值,且读取的值格式为输入的格式。
当使用DYNP_VALUES_READ时,所读取的屏幕应正在加载中。
读取屏幕字段
DATA:BEGIN OF ls_help, bukrs TYPE ztfi_zbztyp_help-bukrs, zzbztype TYPE ztfi_zbztyp_help-zzbztype, zbzname TYPE ztfi_zbztyp_help-zbzname, END OF ls_help, lt_help LIKE STANDARD TABLE OF ls_help. DATA: lt_return TYPE TABLE OF ddshretval. DATA: lt_dynp TYPE TABLE OF dynpread. DATA: lv_bukrs TYPE ztfi_zbztyp_help-bukrs. CLEAR: lt_return, lt_dynp, lv_bukrs. * GET CURSOR LINE L_LINES_VB. lt_dynp = VALUE #( ( fieldname = 'ZTFI_ZBZTYP_HELP-BUKRS' ) ). CALL FUNCTION 'DYNP_VALUES_READ' EXPORTING dyname = sy-repid dynumb = sy-dynnr TABLES dynpfields = lt_dynp. IF sy-subrc EQ 0. IF line_exists( lt_dynp[ fieldname = 'ZTFI_ZBZTYP_HELP-BUKRS' ] ). lv_bukrs = lt_dynp[ fieldname = 'ZTFI_ZBZTYP_HELP-BUKRS' ]-fieldvalue. ENDIF. ENDIF.
F4搜索帮助
IF lv_bukrs IS NOT INITIAL. SELECT bukrs zzbztype zbzname FROM ztfi_zbztyp_help INTO TABLE lt_help WHERE bukrs = lv_bukrs. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING retfield = 'ZZBZTYPE' "指定要返回屏幕参数的在内表中的field * PVALKEY = ' ' dynpprog = sy-repid "指定屏幕参数所在的程序名称 dynpnr = sy-dynnr "指定参数所在的屏幕编号 * dynprofield = ztfi_zbztyp_help-zzbztype * STEPL = 0 * WINDOW_TITLE = * VALUE = ' ' VALUE_ORG = 'S' * MULTIPLE_CHOICE = ' ' * DISPLAY = ' ' * CALLBACK_PROGRAM = ' ' * CALLBACK_FORM = ' ' * CALLBACK_METHOD = * MARK_TAB = * IMPORTING * USER_RESET = tables value_tab = lt_help * FIELD_TAB = return_tab = lt_return * DYNPFLD_MAPPING = * EXCEPTIONS * PARAMETER_ERROR = 1 * NO_VALUES_FOUND = 2 * OTHERS = 3 . IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. IF line_exists( lt_return[ 1 ] ). ztfi_zbztyp_help-zzbztype = lt_return[ 1 ]-fieldval. ENDIF. ENDIF.
社会很单纯,复杂的是人
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏