沿接着前面的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. shell脚本特殊符号——单引号、双引号、反引号、反斜杠

    1. 单引号 ( '' ) 被单引号用括住的内容,将被视为单一字串. 2. 双引号 ( " " )  被双引号用括住的内容,将被视为单一字串.双引号只要求忽略大多数,具体说,括在双 ...

  2. Urllib 库使用

    什么是Urllib Urllib是python内置的HTTP请求库包括以下模块urllib.request 请求模块   -->用来模拟发送请求  类似于输入网址敲击回车的过程urllib.er ...

  3. leetcode752. 打开转盘锁

    我们可以将 0000 到 9999 这 10000 状态看成图上的 10000 个节点,两个节点之间存在一条边,当且仅当这两个节点对应的状态只有 1 位不同,且不同的那位相差 1(包括 0 和 9 也 ...

  4. Python进阶-Ⅹ 正则表达式(RexEx)、re模块

    1.正则表达式(RexEx)常用知识 2.python中re模块的初步使用 1).findall方法 ret = re.findall('a', 'eva egon yuan') # 返回所有满足匹配 ...

  5. es6模块化规范

    在 es6 之前是没有块这个概念的,es6zhong 引入:实际如下: 若 xx1 和 xx2 中有变量名相同,且引入在同一 html 下,需要为引入的 script 标签加上 type=“modul ...

  6. docker sentry 配置文件位置

    root@50f8462579a8:/etc/sentry# cd /etc/sentry/ root@50f8462579a8:/etc/sentry# ls config.yml sentry.c ...

  7. [LeetCode] 38. Count and Say 计数和读法

    The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 ...

  8. C#自定义特性的使用

    特性类的使用过程: 第一步:定义一个特性类,定义一些成员来包含验证时需要的数据:第二步:创建特性类实例:创建一个特性类的实例,里面包含着验证某一个属性或者字段需要的数据.将该实例关联到某个属性上面.第 ...

  9. vCenter6.7的简单安装与使用

    1.VMware的vCenter已经有了很大的改进,安装过程极为简单方便. 2. 下载vCenter的安装包即可. 我这边下载的ISO为: VMware-VIM-all--.iso 网上有资源,通过百 ...

  10. Deep Learning专栏--强化学习之MDP、Bellman方程(1)

    本文主要介绍强化学习的一些基本概念:包括MDP.Bellman方程等, 并且讲述了如何从 MDP 过渡到 Reinforcement Learning. 1. 强化学习基本概念 这里还是放上David ...