沿接着前面的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. 201871010134-周英杰《面向对象程序设计(java)》第十六周学习总结

    项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/ ...

  2. 201871020225-牟星源《面向对象程序设计(java)》第十六周学习总结

    201871020225-牟星源<面向对象程序设计(java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  3. ESP8266 LUA脚本语言开发: 准备工作-为方便学习(统一使用本人编译的固件)

    前言 注:为了咱后期统一起来,所以统一使用我编译的LUA固件 一,固件打开了SmartConfig / AirKiss 配网功能 二,打开了SSL 三,其它模块化程序 刷空固件 一,为了保证固件是干净 ...

  4. Idea中自动生成get,set,toString等方法

    https://blog.csdn.net/sinat_41226396/article/details/80770520 自动生成main函数: https://blog.csdn.net/fanr ...

  5. CSP2019蒸馏记

    Day -\(\infty\) ~ Day -2 认真准备联赛. Day -1 复习模板,全真模拟比赛平衡树 下午进行了湖南大学 2 小时游. Day 0 上午睡过头了 下午日常训练,并没有什么开放日 ...

  6. ROS-RouterOS KVM 安装 OpenWrt 旁路使用

    原文: http://bbs.routerclub.com/thread-104864-1-1.html 这里所讲是X86架构的RouteROS的KVM虚拟机,其实RouterOS的KVM很早就有,大 ...

  7. 问题查询-tomcat内存泄露

    1.报警信息 内容: 微信服务器向公众号推送消息或事件后,开发者5秒内没有返回 次数: 5分钟 239次 错误样例: [OpenID=o][Stamp=1562718361][3rdUrl=url][ ...

  8. Java8 新特性 Steam() 中间有状态操作

    中间有状态操作 Java8 新特性 Stream 练习实例   中间操作,就是把数据处理成自己想要的类型,并且有状态操作,是在所有的数据基础上进行操作的.比如dictinct(去重),sorted(排 ...

  9. Axios构造函数学习笔记

    Axios 构造函数 lib/core/axios.js ... var intercaptorManager = require(./IntercaptorManger); var dispatch ...

  10. Redux + React-router 的入门和配置教程

    (转载)原文链接: https://juejin.im/post/5dcaaa276fb9a04a965e2c9b#heading-18 前言