WDA-FPM-3-SEARCH(OIF)

 

这里是使用FPM Workbench自动生成的,没有去SE80创建WDA程序。

1.使用事务代码:FPM_WB。打开工作台。

WDA-FPM-3-SEARCH(OIF)

2.点击Wizard for Creating Empty FPM Applications创建application

WDA-FPM-3-SEARCH(OIF)

输入application名称和描述,选择FPM配置类型。这里选的是OIF。

点击下一步。选择包和请求,保存。

3.完成后会返回到配置界面:

WDA-FPM-3-SEARCH(OIF)

选择编辑配置。

WDA-FPM-3-SEARCH(OIF)

选择组件:

WDA-FPM-3-SEARCH(OIF)

4.选择UIBB行,点击WDA-FPM-3-SEARCH(OIF)

WDA-FPM-3-SEARCH(OIF)

保存。选择包,保存。弹出填写feeder class对话框。

5.创建Feeder class

se24

WDA-FPM-3-SEARCH(OIF)

添加接口类:IF_FPM_GUIBB,IF_FPM_GUIBB_SEARCH

WDA-FPM-3-SEARCH(OIF)

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方法

WDA-FPM-3-SEARCH(OIF)
  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.
WDA-FPM-3-SEARCH(OIF)

重定义GET_DATA方法:

  METHOD if_fpm_guibb_search~get_data.
et_result_list = gt_table.
ENDMETHOD.

重定义查询处理:PROCESS_EVENT

WDA-FPM-3-SEARCH(OIF)
  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.
WDA-FPM-3-SEARCH(OIF)

保存方法

回到配置页面,输入feeder class:

WDA-FPM-3-SEARCH(OIF)

添加查询条件字段:

WDA-FPM-3-SEARCH(OIF)

添加结果字段,如下:

WDA-FPM-3-SEARCH(OIF)

保存,然后测试。

WDA-FPM-3-SEARCH(OIF)

个人参数中可设置查询默认条目,查询结果条目等。

feeder class继承的每个方法都需要点进去激活,否则可能会有错误。

上一篇:La nuova tecnologia del puntatore laser


下一篇:EntityFrameworkCore中的实体状态