1.在RESULT的Feeder class里添加点击单号事件:

  method IF_FPM_GUIBB_LIST~GET_DEFINITION.
DATA:GW_ACTION TYPE FPMGB_S_ACTIONDEF.
EO_FIELD_CATALOG ?= CL_ABAP_STRUCTDESCR=>DESCRIBE_BY_NAME( 'ZLY_RESULT01T' )."获取查询参数结构
GW_ACTION-ID = 'LINK_TO_DETAIL'.
GW_ACTION-ENABLED = 'X'.
APPEND GW_ACTION TO ET_ACTION_DEFINITION.
endmethod.

2.进入Detail的配置页面:

修改字段类型为LINK TO ACTION,然后事件选择定义的事件。

到这里,界面的单号就变成链接了,而且点击也会触发事件进入PROCESS_EVENT。

下面写跳转的一些东西。

3.程序做跳转处理:在PROCESS_EVENT中接受事件,并做跳转。这里有个PAGE_2的页面,是要做明细界面的,这里可以先用上,后面再配置。

  METHOD IF_FPM_GUIBB_LIST~PROCESS_EVENT.
DATA:GT_FPM_SEARCH_CRITERIA TYPE FPMGB_T_SEARCH_CRITERIA,
GV_MAX_NUM TYPE I,
GV_INDEX TYPE I,
GT_WHERE TYPE RSDS_WHERE_TAB. CASE IO_EVENT->MV_EVENT_ID.
WHEN IF_FPM_GUIBB_LIST=>GC_EVENT_LIST_FILTER.
IO_EVENT->MO_EVENT_DATA->GET_VALUE(
EXPORTING
IV_KEY = 'SEL_TAB'
IMPORTING
EV_VALUE = GT_FPM_SEARCH_CRITERIA ). IO_EVENT->MO_EVENT_DATA->GET_VALUE(
EXPORTING
IV_KEY = 'MAX_NUM'
IMPORTING
EV_VALUE = GV_MAX_NUM ). TRY .
CALL METHOD CL_FPM_GUIBB_SEARCH_CONVERSION=>TO_ABAP_SELECT_WHERE_TAB
EXPORTING
IT_FPM_SEARCH_CRITERIA = GT_FPM_SEARCH_CRITERIA
IV_TABLE_NAME = 'ZLY_SEARCH01'
* IO_FIELD_CATALOG = MO_CATALOG
IMPORTING
ET_ABAP_SELECT_TABLE = GT_WHERE.
SELECT GUID
OBJECT_ID
DESCRIPTION
PROCESS_TYPE
POSTING_DATE
SALES_ORG
PROVIDER
END_USER
RETAILER
STAT_USER
TXT30
PRODUCT_ID
ZZCHARG_TYPE
INTO TABLE GT_RESULT
FROM ZHSB_ORDER_INDEX
UP TO GV_MAX_NUM ROWS WHERE (GT_WHERE).
CATCH CX_FPMGB.
ENDTRY.
WHEN 'LINK_TO_DETAIL'.
DATA:LR_FPM TYPE REF TO IF_FPM,
LO_EVENT TYPE REF TO CL_FPM_EVENT,
LR_EVENT_DATA TYPE REF TO CL_FPM_PARAMETER.
IO_EVENT->MO_EVENT_DATA->GET_VALUE(
EXPORTING
IV_KEY = IF_FPM_GUIBB_LIST=>GC_EVENT_PAR_ROW
IMPORTING
EV_VALUE = GV_INDEX ).
READ TABLE GT_RESULT INTO GW_RESULT INDEX GV_INDEX.
IF SY-SUBRC = .
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_EVENT->MO_EVENT_DATA->SET_VALUE("将查询参数添加对参数对象里
IV_KEY = 'DETAIL'
IV_VALUE = GW_RESULT ).
LR_FPM ?= CL_FPM=>GET_INSTANCE( ). LR_FPM->RAISE_EVENT( LO_EVENT ).
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDMETHOD.

4.新建明细的Feeder class:ZLY_FPM_DETAIL01

继承接口:

IF_FPM_GUIBB
IF_FPM_GUIBB_FORM_CFG_GL2
IF_FPM_GUIBB_FORM_CFG_READ_GL2
IF_FPM_GUIBB_FORM

激活所有方法,以防dump。

4.1 添加节点属性,这个结构就用前面创建的了,不想再创建了。

4.2 实现GET_DEFINITION方法,确认明细界面字段。

  METHOD IF_FPM_GUIBB_FORM~GET_DEFINITION.
EO_FIELD_CATALOG ?= CL_ABAP_STRUCTDESCR=>DESCRIBE_BY_DATA( GW_RESULT ).
ENDMETHOD.

4.3 在GET_DATA中接受数据,并做明细界面的初始化:

  METHOD IF_FPM_GUIBB_FORM~GET_DATA.
IF IO_EVENT->MV_EVENT_ID = 'FPM_CHANGE_CONTENT_AREA'.
IO_EVENT->MO_EVENT_DATA->GET_VALUE(
EXPORTING
IV_KEY = 'DETAIL'
IMPORTING
EV_VALUE = GW_RESULT ).
CS_DATA = GW_RESULT.
EV_DATA_CHANGED = ABAP_TRUE.
ELSE.
CS_DATA = GW_RESULT.
ENDIF.
ENDMETHOD.

4.4 界面数据更新到结构:直接放到FLUSH里了。

  METHOD IF_FPM_GUIBB_FORM~FLUSH.
DATA:GW_CHANGE TYPE FPMGB_S_CHANGELOG.
FIELD-SYMBOLS:<FS> TYPE ANY,
<DATA> TYPE DATA.
LOOP AT IT_CHANGE_LOG INTO GW_CHANGE.
ASSIGN COMPONENT GW_CHANGE-NAME OF STRUCTURE GW_RESULT TO <FS>.
IF <FS> IS ASSIGNED.
ASSIGN GW_CHANGE-NEW_VALUE->* TO <DATA>.
<FS> = <DATA>.
ENDIF.
ENDLOOP.
ENDMETHOD.

至于其他的事件,这里就暂时不写了。

5.配置明细界面:

FPM_WB:

进入配置,输入FORM的组件FPM_FORM_UIBB_GL2,和配置ID:ZLY_DETAIL01,点击创建。

5.1 添加2个GROUP,分左右两边:

如此两次,然后配置GROUP属性

第一个GROUP配置ROW 1,列就从A到H,占左半边。

第二个GROUP配置ROW 1,列从I到P,占右半边。

然后在每个GROUP里添加字段,效果如图:

这时候明细界面配置结束,保存。

然后到OVP界面配置。

6.VOP后续配置。

6.1 新增主页面:PAGE_2(这名字随意,但是要和跳转那里对应)

6.2 增加UIBB配置:

用前面配置好的配置ID。

转到按钮配置页签,添加两个按钮,一个保存,一个返回:

SAVE是标准的,不用管,BACK按钮要注意加描述目标页:

好了,到这里,跳转明细,保存,返回基本完成了。

试下效果:

FPM六:接五,跳转到明细的更多相关文章

  1. WDA-FPM-4-用OVP做查询跳转到明细

    转载:https://www.cnblogs.com/sapSB/p/10100697.html   FPM四:用OVP做查询跳转到明细 前面做了查询的UIBB配置,在这边可以直接复用,查询的feed ...

  2. 第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询

    第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询 1.elasticsearch(搜索引擎)的查询 elasticsearch是功能 ...

  3. Gradle 1.12用户指南翻译——第六十五章. Maven 发布(新)

    其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上的地址:https://gith ...

  4. “全栈2019”Java第六十五章:接口与默认方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  5. 孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4

    孤荷凌寒自学python第六十五天学习mongoDB的基本操作并进行简单封装4 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十一天. 今天继续学习mongoDB的简单操作 ...

  6. OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  7. 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)

    1.简介 今天这一篇,宏哥主要讲解:利用WebDriver 提供可以读取.添加和删除cookie 信息的相关操作方法.验证浏览器中是否存在某个cookie.原因是:因为基于真实的cookie 的测试是 ...

  8. FPM四:用OVP做查询跳转到明细

    前面做了查询的UIBB配置,在这边可以直接复用,查询的feeder class也就自动复用了. 1.给查询的feeder class添加接口,继续继承form的接口. 2.挨个实现每个方法,即使是用不 ...

  9. Swift实战-豆瓣电台(六)视图跳转,传参及回跳

    youku观看地址:http://v.youku.com/v_show/id_XNzMxMzQ3MDcy.html 要点 在ChannelController里面声明一个代理 这个代理遵循我们自定义的 ...

随机推荐

  1. ubuntu+anaconda+mxnet环境配置

    为了insightface和mxnet较劲的一天 mxnet环境: 官网下载pyhton2.7版本的anaconda,随便找个安装教程 sh Anacondaxxxx.sh #一路默认即可,第二个回车 ...

  2. Centos 7 磁盘阵列配置介绍(RAID)

    转自:https://blog.51cto.com/gaowenlong/2086918 Centos 7 磁盘阵列配置介绍每当我们提到磁盘阵列,相信广大管理员并不陌生,比如我们一般安装服务器系统的时 ...

  3. P2774 方格取数问题(网络流)

    P2774 方格取数问题 emm........仔细一看,这不是最大权闭合子图的题吗! 取一个点$(x,y)$,限制条件是同时取$(x,y+1),(x,y-1),(x+1,y),(x-1,y)$,只不 ...

  4. 996.ICU与死亡因素

    昨天,我为996.ICU这场国际运动贡献了一颗星. 关于这件事,第一想到的就是我们工作的初心是为了更好的生活,工作扼杀生活的不良风气应该坚决抵制. 查了一下,近些年人类正常死亡原因中排名前三的原因为: ...

  5. 代理模式——用AOP测试业务层方法的执行时间

    代理模式 对代理模式的理解,通过http://www.runoob.com/design-pattern/proxy-pattern.html 对AOP的代理模式,参考https://www.cnbl ...

  6. [C++ Primer Plus] 第10章、对象和类(二)课后习题

    1. bank.h #include <string> using namespace std; class BankAccount { private: std::string m_na ...

  7. windows修改注册表添加开启自启动

    快捷键win+R regedit 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 新建字符串值 C:\soft ...

  8. win10 WSL kali 下载源 --另外 恭喜马哥喜提博客

    第一篇也不知道写什么,就把昨晚安装kali时遇见的事写一下吧! 因为win10应用商店已经加入了kali,也省的我再去网上下载镜像,可下载后  wsl  未能设置为开发人员模式, 这算是失误吧!步骤如 ...

  9. CF685B Kay and Snowflake 贪心

    CF685B Kay and Snowflake 链接 CF 题目大意 给你一颗树,询问子树的重心 思路 贪心? 重心肯定是向上走的,所以直接向上跳就好了. 不优秀的时候就不要跳了 ,因为以后也不能更 ...

  10. 如何恢复已禁用的console.log?

    如何恢复已禁用的console.log? How to Restore a Disabled console.log?通过将其拉出iframe,在已删除的页面(如twitter)上恢复console. ...