WDA-FPM-3-SEARCH(OIF)
这里是使用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)的更多相关文章
- FPM三:简单的SEARCH(OIF)
这里是使用FPM Workbench自动生成的,没有去SE80创建WDA程序. 1.使用事务代码:FPM_WB.打开工作台. 2.点击Wizard for Creating Empty FPM App ...
- FPM Search里给查询条件加OVS搜索帮助
FPM里的OVS用法基本和WDA一致. 1,将OVS类添加到SEARCH.(可以单独写个类,因为这里为了方便,就和SEARCH放一起了) IF_FPM_GUIBB_OVS~HANDLE_PHASE_0 ...
- FPM二:简单的APPLICATION-TABSTRIP(OIF)
1.新建WDA程序ZLYFPM002 2.新建视图2,窗口2,并将视图2分配到窗口2. 3.继承UIBB类IF_FPM_UI_BUILDING_BLOCK 4.创建WDA 应用程序: 5.创建WDA ...
- FPM 1.1正式版 Search & List
前面写的FPM都是自己练习用的.直到自己正式用了一个,才发现一些小问题.feeder class写在一起和分开写有好有坏,这里就不说了. 自己做了个小的查询报表如下: 现在来按SAP官方的做法来重新做 ...
- FPM一:简单的road map(GAF)
首先要有个简单的认识: 1.FPM支持的几种UI配置界面接口: Object Instance Floorplan (OIF) Overview Page Floorplan (OVP) Guided ...
- WDA-FPM-2-APPLICATION-TABSTRIP(OIF)
转载:https://www.cnblogs.com/sapSB/p/10081344.html FPM二:简单的APPLICATION-TABSTRIP(OIF) 1.新建WDA程序ZLYFPM ...
- FPM五:拆解前面的四——OVP做查询和结果
说明:前面的例子是将list和search放到一个Feeder Class里的,这里来做拆解分步说明. 1.创建SEARCH的结构 2.创建RESULT的结构 表类型(不用表类型的话,需要自己在cla ...
- WDA基础十:OVS搜索帮助的使用
对于WDA来说,常用的搜索帮助有OVS,标准SH,Interface view等.今天来说说两种常用的OVS的使用: 一:普通字段,表字段的搜索帮助(在创建节点的时候指定搜索帮助OVS,或者后面加上去 ...
- mac brew 安装 nginx fpm mysql 教程
一. 安装brew 要求:OS X 10.6以上系统,并且安装有XCode命令行工具 对于10.11的系统需要设置下local的权限为当前用户 $ sudo chown -R $(whoami):ad ...
随机推荐
- P·C·L 了解
因为PCL是开源的,所以无论是商用还是研究都是免费的: 赞助商有Open Perception, Willow Garage, NVIDIA, Google, Toyota, Trimble, Urb ...
- C#中Task的使用简单总结
Task在并行计算中的作用很凸显,但是他的使用却有点小复杂,下面是任务的一些基本使用说明(转载与总结于多篇文章) 简单点说说吧! 创建 Task 创建Task有两种方式,一种是使用构造函数创建,另一种 ...
- HTML/CSS/Javascript代码在线压缩、格式化(美化)工具
CSS 格式化 ProCSSor - http://procssor.com/ CSS 压缩 CSS Compressor - http://www.cssdrive.com/index.php/ ...
- 上产使用MQ的三点注意
安全性考量:在正式环境中使用消息队列中间件服务一定要做相关的安全性设置.包括启用消息队列服务的用户名和密码.启用消息队列服务自带的SSL加密设置.如果您使用的消息队列服务不自带SSL加密,则一定要自己 ...
- http报头 Accept 与 Content-Type 的区别
Accept属于请求头, Content-Type属于实体头. Http报头分为通用报头,请求报头,响应报头和实体报头. 请求方的http报头结构:通用报头|请求报头|实体报头 响应方的http报头结 ...
- 从Vue文件到Html文件
如下图,通过webpack打包工具,将一个Vue文件生成html,css,js文件.其中js对应的是new Vue({})
- mySQL 教程 第5章 插入 更新与删除数据
使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 为表中所有字段插入数据,可以不 ...
- JavaScript模块化-RequireJs实现AMD规范的简单例子
AMD规范简介 AMD(异步模块定义),是实现JavaScript模块化规范之一,它采用异步方式加载模块,模块的加载不影响后面语句的运行.require.js和curl.js都是实现AMD规范的优秀加 ...
- CMSIS DSP Lib:RFFT函数的bug
调用arm_rfft_fast_init_f32之后,还有两个成员需要初始化: arm_rfft_fast_instance_f32::pTwiddleRFFT = twiddleCoef_rfft_ ...
- 在Windows下使用svn命令行教程及svn命令行的解释
本文转载自:https://blog.csdn.net/yangxiao2shi/article/details/50719286/ 以前在公司一直使用git,现在的公司改用svn,一时间还真的不知道 ...