前面做了查询的UIBB配置,在这边可以直接复用,查询的feeder class也就自动复用了。

1.给查询的feeder class添加接口,继续继承form的接口。

2.挨个实现每个方法,即使是用不到的也点进去激活。

  method IF_FPM_GUIBB_FORM~GET_DATA.
CS_DATA = gw_table.
endmethod.
  method IF_FPM_GUIBB_FORM~GET_DEFINITION.
DATA:gt_data TYPE TABLE OF zhsb_order_index. eo_field_catalog ?= cl_abap_tabledescr=>describe_by_data( gw_table ).
mo_catalog = eo_field_catalog.

    "action 参数是控制UIBB参数映射的EVENT定义。这里可以定义回车事件,下拉事件等
endmethod.

3.给search的事件处理方法中添加跳转的事件(给选择单号的事件):

  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. ELSEIF io_event->mv_event_id = 'FPM_RESULT_SEL'.
DATA : lo_event TYPE REF TO cl_fpm_event,
lo_fpm TYPE REF TO if_fpm. READ TABLE gt_table INTO gw_table INDEX 4.
lo_event ?= cl_fpm_event=>create_by_id( 'FPM_CHANGE_CONTENT_AREA' ). lo_event->mo_event_data->set_value(
EXPORTING
iv_key = 'TARGET_CONTENT_AREA'
iv_value = 'PAGE_2'
).
lo_fpm ?= cl_fpm=>get_instance( ). lo_fpm->raise_event( lo_event ).
ENDIF.
ENDMETHOD.

4.打开FPM_WB.新建empty application。

选择包,保存。

5.点击,编辑配置

进入到概览页配置界面:

修改第一页描述,并添加第二页。

6.给page 1分配UIBB配置类型Search.

配置编号选择前一篇中的配置编号,复用。

选择UIBB,点击配置。

修改结果中的单号字段,改为link to action。保存并返回.

这时候可以点击运行,试看一下。

很好,这第一页没问题了,开始加第二页。

7.配置第二页:

添加FORM组件

输入配置号,点击UIBB配置。

点击OK.

填写Feeder class.

保存并返回。

8.给PAGE2添加按钮,并指向page 1.

保存,运行。

et_action_definition

WDA-FPM-4-用OVP做查询跳转到明细的更多相关文章

  1. FPM四:用OVP做查询跳转到明细

    前面做了查询的UIBB配置,在这边可以直接复用,查询的feeder class也就自动复用了. 1.给查询的feeder class添加接口,继续继承form的接口. 2.挨个实现每个方法,即使是用不 ...

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

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

  3. FPM六:接五,跳转到明细

    1.在RESULT的Feeder class里添加点击单号事件: method IF_FPM_GUIBB_LIST~GET_DEFINITION. DATA:GW_ACTION TYPE FPMGB_ ...

  4. 用 js 做 URL 跳转带来的 Referer 丢失问题.

    http 302 重定向是可以保持 referer 的.例:在 A 页面上提交登录表单到 B,B 返回一个重定向页面到 C,在 C 处理里面检查 Referer 可知道它的来源是 A 而不是 B. 但 ...

  5. JDBC最原始的代码做查询操作

    首先编写一个User类. public class User { private String username; private String password; public String get ...

  6. 第87讲:scala中使用For表达式做查询

    今天我们来学习下如何用for表达式在scala中做查询. 先来看看示例代码 case class Book(title:String,authors:List[String]) object text ...

  7. JS 劫持来源网站并做指定跳转

    有时候给网站做流量,免不了要做一些网站劫持的JS跳转,这里贴上一段劫持来源网站的JS跳转方法,很简单 <script> // 获取来源网站 var slyar = document.ref ...

  8. 为什么程序员都不喜欢使用switch而使用if来做条件跳转

    请用5秒钟的时间查看下面的代码是否存在bug.   OK,熟练的程序猿应该已经发现Bug所在了,在第8行和第10行下面我没有添加关键字break; 这就导致这段代码的行为逻辑与我的设计初衷不符了. 缺 ...

  9. iis6 服务器做301跳转返回状态码200解决方法。

    倘若你的配置和上图一样的话,在查询返回值是200的情况,你试着把你服务器上的安全狗或者防火墙,还有360网站卫士之类的安全软件停止试试,看是否能正常.

随机推荐

  1. Jersey RESTful Web服务

    Jersey是一个RESTFUL请求服务JAVA框架,与常规的JAVA编程使用的struts框架类似,它主要用于处理业务逻辑层.与Struts类似,它同样可以和hibernate,spring框架整合 ...

  2. pthread中errors.h的代码

    #ifndef __errors_h #define __errors_h #include <unistd.h> #include <errno.h> #include &l ...

  3. FastAdmin 插件的 Git 开发流程(简明)

    FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...

  4. tomcat源码阅读之生命周期(LifeCycle)

    一.事件机制流程: 1.     当外部事件源发生事件(比如点击了按钮,数据发生改变更新等)时,事件源将事件封装成事件对象Event: 2.     将事件对象交由对应的事件派发器Dispatcher ...

  5. 优化Django ORM中的性能问题(含prefetch_related 和 select_related)

    Django是个好工具,使用的很广泛. 在应用比较小的时候,会觉得它很快,但是随着应用复杂和壮大,就显得没那么高效了.当你了解所用的Web框架一些内部机制之后,才能写成比较高效的代码. 怎么查问题 W ...

  6. Ionic 安装最新版本错误

    更新Ionic版本时 npm i -g ionic@latest 出现如下错误 npm ERR! Unexpected end of input at 1:14782 如下图 解决方法 使用如下命令: ...

  7. golang中如何判断文件是否有可执行权限

    本文介绍在Go语言如何检查文件的权限.以检查文件可执行权限为例. 在文件系统中,文件的属性使用uint32表示. 例如 -rwxrwxrwx 判断可执行权限,也就是检查文件mode是否有: --x-- ...

  8. 一个高效的敏感词过滤方法(PHP)

    $badword = array( '张三','张三丰','张三丰田' ); $badword1 = array_combine($badword,array_fill(0,count($badwor ...

  9. windows 2008R2 iis7 +php web环境安装

    windows 2008R2 iis7 +php web环境安装 编写人:左丘文 2016-01-24 近来由于在架构一个discuz x3.2的PHP论坛,因此查找了一些有关环境架构的相关资料,在此 ...

  10. php对象的实现

    1.对象的数据结构非常简单 typedef struct _zend_object zend_object; struct _zend_object { zend_refcounted_h gc; / ...