这里是使用FPM Workbench自动生成的,没有去SE80创建WDA程序。
1.使用事务代码:FPM_WB。打开工作台。
2.点击Wizard for Creating Empty FPM Applications创建application
输入application名称和描述,选择FPM配置类型。这里选的是OIF。
点击下一步。选择包和请求,保存。
3.完成后会返回到配置界面:
选择编辑配置。
选择组件:
4.选择UIBB行,点击
保存。选择包,保存。弹出填写feeder class对话框。
5.创建Feeder class
se24
添加接口类:IF_FPM_GUIBB,IF_FPM_GUIBB_SEARCH
6.定义全局结果
DATA gt_table TYPE TABLE OF ZHSB_ORDER_INDEX.(public section)
GW_TABLE Instance Attribute Public Type ZHSB_ORDER_INDEX(attribute)
MO_CATALOG Instance Attribute Public Type Ref To CL_ABAP_STRUCTDESCR(attribute)
重定义GET_DEFINITION方法
method IF_FPM_GUIBB_SEARCH~GET_DEFINITION. DATA:gt_data TYPE TABLE OF zhsb_order_index. DATA:ls_desc LIKE LINE OF et_field_description_attr. eo_field_catalog_attr ?= cl_abap_structdescr=>describe_by_data( gw_table ). mo_catalog = eo_field_catalog_attr. eo_field_catalog_result ?= cl_abap_tabledescr=>describe_by_data( gt_data ). endmethod.
重定义GET_DATA方法:
METHOD if_fpm_guibb_search~get_data. et_result_list = gt_table. ENDMETHOD.
重定义查询处理:PROCESS_EVENT
method IF_FPM_GUIBB_SEARCH~PROCESS_EVENT. DATA:lt_where TYPE rsds_where_tab. DATA:lt_order TYPE TABLE OF zhsb_order_index, ls_order TYPE zhsb_order_index. DATA:lc_para TYPE REF TO cl_fpm_parameter. DATA:ls_value TYPE string. DATA:ls_result TYPE zhsb_order_index. IF io_event->mv_event_id = if_fpm_guibb_search=>fpm_execute_search. TRY . CALL METHOD cl_fpm_guibb_search_conversion=>to_abap_select_where_tab EXPORTING it_fpm_search_criteria = it_fpm_search_criteria iv_table_name = 'ZHSB_ORDER_INDEX' io_field_catalog = mo_catalog IMPORTING et_abap_select_table = lt_where. CATCH cx_fpmgb. ENDTRY. SELECT * FROM zhsb_order_index INTO TABLE lt_order UP TO iv_max_num_results ROWS WHERE (lt_where). IF sy-subrc = 0. LOOP AT lt_order INTO ls_order. MOVE-CORRESPONDING ls_order TO ls_result. APPEND ls_result TO gt_table. ENDLOOP. ev_result = 'OK'. ENDIF. ENDIF. endmethod.
保存方法
回到配置页面,输入feeder class:
添加查询条件字段:
添加结果字段,如下:
、
保存,然后测试。
个人参数中可设置查询默认条目,查询结果条目等。
feeder class继承的每个方法都需要点进去激活,否则可能会有错误。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本