沿接着前面的Search和List。在LIST中点击一列,弹出窗口显示明细。

1.list中定义事件:

  METHOD if_fpm_guibb_list~get_definition.
DATA:gt_table TYPE TABLE OF zcrmjp003.
DATA:gw_field TYPE fpmgb_s_listfield_descr,
gt_value TYPE wdr_context_attr_value_list,
gt_dd03l TYPE TABLE OF dd03l,
gw_dd03l LIKE LINE OF gt_dd03l,
gw_action TYPE fpmgb_s_actiondef.
eo_field_catalog ?= cl_abap_tabledescr=>describe_by_data( gt_table ). mo_catalog ?= cl_abap_structdescr=>describe_by_name( 'ZCRMJP002' ). SELECT * INTO TABLE gt_dd03l FROM dd03l WHERE tabname = 'ZCRMJP003' AND inttype = 'C'.
LOOP AT gt_dd03l INTO gw_dd03l.
gw_field-name = gw_dd03l-fieldname.
gw_field-allow_sort = 'X'.
gw_field-allow_filter = 'X'.
APPEND gw_field TO et_field_description.
ENDLOOP. gw_action-id = 'ZFPM_LINK'.
gw_action-enabled = 'X'.
gw_action-visible = 'X'.
APPEND GW_ACTION TO ET_ACTION_DEFINITION. gw_action-id = 'ZPOPUP'.
gw_action-enabled = 'X'.
gw_action-visible = 'X'.
APPEND GW_ACTION TO ET_ACTION_DEFINITION.
ENDMETHOD.

注*:上面的ZPOPUP是弹窗。

2.list中设置事件响应,并将数据带出。

IF io_event->mv_event_id = 'ZPOPUP'.
"取当前FPM对象实例
lr_fpm = cl_fpm_factory=>get_instance( ).
CREATE OBJECT lr_event_data.
READ TABLE gt_result INTO ls_result INDEX iv_event_index.
CHECK sy-subrc = .
lr_event_data->if_fpm_parameter~set_value(
iv_key = 'DETAIL'
iv_value = ls_result ). lr_fpm->open_dialog_box(
iv_dialog_box_id = 'PAGE_3'
io_event_data = lr_event_data
). ENDIF.

注*:上面的PAGE_3对于VOP里的POPUP也编号,前面已经使用了两个,这个默认用PAGE_3.

3.1新建FORM的Feeder class。

3.2给弹出定义字段目录:

  METHOD if_fpm_guibb_form~get_definition.
eo_field_catalog ?= cl_abap_structdescr=>describe_by_name( 'ZCRMJP003' ).
ENDMETHOD.

3.3给弹出定义全局接收工作区属性

3.4 给弹出做数据接受

  METHOD if_fpm_guibb_form~get_data.
io_event->mo_event_data->get_value( EXPORTING iv_key = 'DETAIL'
IMPORTING ev_value = gw_result ).
cs_data = gw_result.
ev_data_changed = 'X'.
ev_field_usage_changed = 'X'.
ENDMETHOD.

4.1页面配置,给LIST中字段改成LInk并分配事件

4.2 返回OVP界面,新建PAGE.

4.3分配FORM,并配置

测试效果:

FPM十一:点击POPUP显示明细的更多相关文章

  1. [WPF]ComboBox.Items为空时,点击不显示下拉列表

    ComboBox.Items为空时,点击后会显示空下拉列表: ComboBox点击显示下拉列表,大概原理为: ComboBox存在ToggleButton控件,默认ToggleButton.IsChe ...

  2. React 点击按钮显示div与隐藏div,并给div传children

    最近做了一个react的点击按钮显示与隐藏div的一个小组件: [筛选]组件FilterButton import React,{Component} from 'react'; import {re ...

  3. Ajax实现点击省份显示相应城市

    功能:不用级联效果,自己写ajax,从接口读取省份城市数据,实现点击省份显示相应城市.后端根据省份ID,给前端返回城市. 一.DOM结构(套用blade模板) <div class=" ...

  4. Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow

     Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow 这本身是一个看似很简单的问题,但是如果设置不当,就可能导致莫名其妙失效问题.通常在Andro ...

  5. JavaScript网站设计实践(五)编写photos.html页面,实现点击缩略图显示大图的效果

    一.photos.html页面,点击每一张缩略图,就在占位符的位置那里,显示对应的大图. 看到的页面效果是这样的: 1.实现思路 这个功能在之前的JavaScript美术馆那里已经实现了. 首先在页面 ...

  6. 一天JavaScript示例-点击图片显示大图片添加鼠标

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. 点击按钮显示隐藏DIV,点击DIV外面隐藏DIV

    点击按钮显示隐藏DIV,点击DIV外面隐藏DIV 注意:此方法对touch事件不行,因为stopPropagation并不能阻止touchend的冒泡 <style type="tex ...

  8. js点击什么显示什么的内容,隐藏其它和进度条

    点击什么显示什么的内容 <div style="width:200px; height:40px"> <div class="yiji" st ...

  9. JavaScript点击按钮显示 确认对话框

    //JavaScript点击按钮显示确认对话框 <html xmlns="http://www.w3.org/1999/xhtml"> <head> < ...

随机推荐

  1. 莫烦TensorFlow_10 过拟合

    import tensorflow as tf from sklearn.datasets import load_digits from sklearn.cross_validation impor ...

  2. websocket广播式实例

    1.引入相关依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

  3. js toFixed() 四舍五入后并不是你期望的结果

    小学的时候学数学就知道有一种叫四舍五入的计算方式,就是对于小数位数的取舍,逢五进一,比如1.225 取两位小数后就是1.23.在前端开发中自己也少不了这样的计算,js也提供了相关的方法--toFixe ...

  4. Layui的一些心得

    做的项目中用到了前端框架Layui 对于layui,经常犯的错与走的弯路,做下总结: 首先要引用Layui框架罗! 1.   TopLayerClose(); 关闭当前页面 2. TopLayerIn ...

  5. requests--传递参数

    传递参数 传递URL参数 data = {'city': '北京'} # 参数有中文如果发送不了,必须要编码 city = parse.urlencode(data).encode('utf-8') ...

  6. A1083 List Grades (25 分)

    Given a list of N student records with name, ID and grade. You are supposed to sort the records with ...

  7. [LeetCode] 221. Maximal Square 最大正方形

    Given a 2D binary matrix filled with 0's and 1's, find the largest square containing all 1's and ret ...

  8. 通过欧拉计划学习Rust编程(第22~25题)

    最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识.学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快速入门的办法. 学习任何一项技能最怕没有 ...

  9. PHP 命名空间笔记

    PHP 命名空间笔记 1.php文件代码如下<pre><?php//我用这样的命名空间表示处于blog下的article模块namespace Blog\Article; class ...

  10. go-gin-api 路由中间件 - 日志记录

    概述 首先同步下项目概况: 上篇文章分享了,规划项目目录和参数验证,其中参数验证使用的是 validator.v8 版本,现已更新到 validator.v9 版本,最新代码查看 github 即可. ...