前面做了查询的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. apache flink docker-compose 运行试用

    apache 是一个流处理框架,官方提供了docker 镜像,同时也提供了基于docker-compose 运行的说明 docker-compose file version: "2.1&q ...

  2. bat根据星期启动程序

    原来公司里的由于每次开机时启动的程序比较多,所以打算使用批处理程序,这里只列举了部分.在每周一到周五的时候,开机则启动指定的应用程序,如果是周末的两天则不启动任何程序,所以做了这个脚本.你如果需要,根 ...

  3. Oracle 实例恢复

    -======================= -- Oracle 实例恢复 --======================= 一.Oracle实例失败 Oracle实例失败多为实例非一致性关闭所 ...

  4. Entity创建一对一关系

    Area类 public virtual User User { get; set; } User类 public virtual Area Area { get; set; } Context类 m ...

  5. Spring Cloud 入门 之 Config 篇(六)

    原文地址:Spring Cloud 入门 之 Config 篇(六) 博客地址:http://www.extlight.com 一.前言 随着业务的扩展,为了方便开发和维护项目,我们通常会将大项目拆分 ...

  6. iText使用经历

    最近用iText搞了下PDF,虽然一路趟坑而过,毕竟是搞出来了,所以iText还是不错的开源PDF生成软件的.先看搞出来的PDF长啥样: 然后看一路趟过来的坑: 1.表格怎么生成,具体是行怎么生成?列 ...

  7. [C++ Primer] : 第15章: 面向对象程序设计

    OOP: 概述 面向对象程序设计的核心思想是数据抽象, 继承和动态绑定. 通过数据抽象, 我们可以实现类的接口与实现的分离; 使用继承, 可以定义相似的类型并对其相似关系建模; 使用动态绑定, 可以在 ...

  8. vue2.0 不引用第三方包的情况下实现嵌套对象的拖拽排序功能

    先上一张效果图,然后再上代码(由于只做效果,未做数据相关的处理:实际处理数据时不修改 dom 元素,只是利用 dom 元素传递数据,然后需改数据,靠数据驱动效果) <div :id=" ...

  9. 导出pb模型之后测试的python代码

    链接:https://blog.csdn.net/thriving_fcl/article/details/75213361 saved_model模块主要用于TensorFlow Serving.T ...

  10. 切图js

    首先引用一段关于拖动,缩放,剪切的基础代码 /* * 作者:http://cloudgamer.cnblogs.com/ * * 改进与增强 * 作者:http://yoker.sc0826.com/ ...