FPM十一:点击POPUP显示明细
沿接着前面的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显示明细的更多相关文章
- [WPF]ComboBox.Items为空时,点击不显示下拉列表
ComboBox.Items为空时,点击后会显示空下拉列表: ComboBox点击显示下拉列表,大概原理为: ComboBox存在ToggleButton控件,默认ToggleButton.IsChe ...
- React 点击按钮显示div与隐藏div,并给div传children
最近做了一个react的点击按钮显示与隐藏div的一个小组件: [筛选]组件FilterButton import React,{Component} from 'react'; import {re ...
- Ajax实现点击省份显示相应城市
功能:不用级联效果,自己写ajax,从接口读取省份城市数据,实现点击省份显示相应城市.后端根据省份ID,给前端返回城市. 一.DOM结构(套用blade模板) <div class=" ...
- Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow
Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow 这本身是一个看似很简单的问题,但是如果设置不当,就可能导致莫名其妙失效问题.通常在Andro ...
- JavaScript网站设计实践(五)编写photos.html页面,实现点击缩略图显示大图的效果
一.photos.html页面,点击每一张缩略图,就在占位符的位置那里,显示对应的大图. 看到的页面效果是这样的: 1.实现思路 这个功能在之前的JavaScript美术馆那里已经实现了. 首先在页面 ...
- 一天JavaScript示例-点击图片显示大图片添加鼠标
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- 点击按钮显示隐藏DIV,点击DIV外面隐藏DIV
点击按钮显示隐藏DIV,点击DIV外面隐藏DIV 注意:此方法对touch事件不行,因为stopPropagation并不能阻止touchend的冒泡 <style type="tex ...
- js点击什么显示什么的内容,隐藏其它和进度条
点击什么显示什么的内容 <div style="width:200px; height:40px"> <div class="yiji" st ...
- JavaScript点击按钮显示 确认对话框
//JavaScript点击按钮显示确认对话框 <html xmlns="http://www.w3.org/1999/xhtml"> <head> < ...
随机推荐
- 莫烦TensorFlow_10 过拟合
import tensorflow as tf from sklearn.datasets import load_digits from sklearn.cross_validation impor ...
- websocket广播式实例
1.引入相关依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- js toFixed() 四舍五入后并不是你期望的结果
小学的时候学数学就知道有一种叫四舍五入的计算方式,就是对于小数位数的取舍,逢五进一,比如1.225 取两位小数后就是1.23.在前端开发中自己也少不了这样的计算,js也提供了相关的方法--toFixe ...
- Layui的一些心得
做的项目中用到了前端框架Layui 对于layui,经常犯的错与走的弯路,做下总结: 首先要引用Layui框架罗! 1. TopLayerClose(); 关闭当前页面 2. TopLayerIn ...
- requests--传递参数
传递参数 传递URL参数 data = {'city': '北京'} # 参数有中文如果发送不了,必须要编码 city = parse.urlencode(data).encode('utf-8') ...
- A1083 List Grades (25 分)
Given a list of N student records with name, ID and grade. You are supposed to sort the records with ...
- [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 ...
- 通过欧拉计划学习Rust编程(第22~25题)
最近想学习Libra数字货币的MOVE语言,发现它是用Rust编写的,所以先补一下Rust的基础知识.学习了一段时间,发现Rust的学习曲线非常陡峭,不过仍有快速入门的办法. 学习任何一项技能最怕没有 ...
- PHP 命名空间笔记
PHP 命名空间笔记 1.php文件代码如下<pre><?php//我用这样的命名空间表示处于blog下的article模块namespace Blog\Article; class ...
- go-gin-api 路由中间件 - 日志记录
概述 首先同步下项目概况: 上篇文章分享了,规划项目目录和参数验证,其中参数验证使用的是 validator.v8 版本,现已更新到 validator.v9 版本,最新代码查看 github 即可. ...