这里是使用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继承的每个方法都需要点进去激活,否则可能会有错误。

WDA-FPM-3-SEARCH(OIF)的更多相关文章

  1. FPM三:简单的SEARCH(OIF)

    这里是使用FPM Workbench自动生成的,没有去SE80创建WDA程序. 1.使用事务代码:FPM_WB.打开工作台. 2.点击Wizard for Creating Empty FPM App ...

  2. FPM Search里给查询条件加OVS搜索帮助

    FPM里的OVS用法基本和WDA一致. 1,将OVS类添加到SEARCH.(可以单独写个类,因为这里为了方便,就和SEARCH放一起了) IF_FPM_GUIBB_OVS~HANDLE_PHASE_0 ...

  3. FPM二:简单的APPLICATION-TABSTRIP(OIF)

    1.新建WDA程序ZLYFPM002 2.新建视图2,窗口2,并将视图2分配到窗口2. 3.继承UIBB类IF_FPM_UI_BUILDING_BLOCK 4.创建WDA 应用程序: 5.创建WDA ...

  4. FPM 1.1正式版 Search & List

    前面写的FPM都是自己练习用的.直到自己正式用了一个,才发现一些小问题.feeder class写在一起和分开写有好有坏,这里就不说了. 自己做了个小的查询报表如下: 现在来按SAP官方的做法来重新做 ...

  5. FPM一:简单的road map(GAF)

    首先要有个简单的认识: 1.FPM支持的几种UI配置界面接口: Object Instance Floorplan (OIF) Overview Page Floorplan (OVP) Guided ...

  6. WDA-FPM-2-APPLICATION-TABSTRIP(OIF)

    转载:https://www.cnblogs.com/sapSB/p/10081344.html   FPM二:简单的APPLICATION-TABSTRIP(OIF) 1.新建WDA程序ZLYFPM ...

  7. FPM五:拆解前面的四——OVP做查询和结果

    说明:前面的例子是将list和search放到一个Feeder Class里的,这里来做拆解分步说明. 1.创建SEARCH的结构 2.创建RESULT的结构 表类型(不用表类型的话,需要自己在cla ...

  8. WDA基础十:OVS搜索帮助的使用

    对于WDA来说,常用的搜索帮助有OVS,标准SH,Interface view等.今天来说说两种常用的OVS的使用: 一:普通字段,表字段的搜索帮助(在创建节点的时候指定搜索帮助OVS,或者后面加上去 ...

  9. mac brew 安装 nginx fpm mysql 教程

    一. 安装brew 要求:OS X 10.6以上系统,并且安装有XCode命令行工具 对于10.11的系统需要设置下local的权限为当前用户 $ sudo chown -R $(whoami):ad ...

随机推荐

  1. linux挂载SD卡

    (1)通过#fdisk -l命令确认板子上的linux系统是否识别SD卡 MP805M板子插入SD卡后显示 SD30 slot is without WPmmc1: new high speed SD ...

  2. vue-progressbar 知识点

    使用步骤: 安装 import.Vue.use() 组件里,created() 和 mounted() 复制官方github地址上的代码 官方github地址:https://github.com/h ...

  3. http报头 Accept 与 Content-Type 的区别

    Accept属于请求头, Content-Type属于实体头. Http报头分为通用报头,请求报头,响应报头和实体报头. 请求方的http报头结构:通用报头|请求报头|实体报头 响应方的http报头结 ...

  4. java数组变量

    数组变量是一种引用类型的变量,能够指向数组对象.数组对象存储在堆内存中,当数组变量为局部变量时存储在栈内存中. int[] p = new int[]{5, 6, 7, 8, 9}; p是数组变量,指 ...

  5. Angularjs 事件指令

    1.  点击事件 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  6. Dynamics CRM 2011 通过数据库修改实体字段的长度需要注意的地方

    一.首先打开数据库,我这里以SQL Server 2012数据库为例. 1.选择工具—>选项 ,如图1 图 1 2. 选择表设计器和数据库设计器—>阻止保存要求重新创建表的更改(S)把前面 ...

  7. 【appium】根据UIAutomator定位元素

    text属性的方法 driver.find_element_by_android_uiautomator('new UiSelector().text("Custom View") ...

  8. Gitlab Jenkins WebHook 持续集成配置踩坑记

    Jenkins相关介绍 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 目的 配置Gitla ...

  9. bat文件:启动,休眠VBox虚拟机

    1. start.Xp_Mysql.bat @echo cd D:\Program Files\VirtualBox\ D: .\VBoxManage startvm Xp_Mysql --type ...

  10. javascript 全选 反选 js代码

    <script type="text/javascript"> //全选function checkAll() { var objs = window.document ...