这个和上一个差不多,简单说下:

1.因为NEW是在创建搜索界面的时候加的,所以此时只需在结果界面重定义NEW事件:

  method EH_ONNEW.
OP_NEW( ).
endmethod.

2.结果界面创建外向插件NEW

  METHOD OP_NEW.
DATA: LR_WINDOW TYPE REF TO CL_BSP_WD_WINDOW.
LR_WINDOW = ME->VIEW_MANAGER->GET_WINDOW_CONTROLLER( ).
LR_WINDOW->CALL_OUTBOUND_PLUG( 'NEWTODETAIL' ).
ENDMETHOD.

3.WINDOW界面,创建外向插件NEWTODETAIL

  METHOD OP_NEWTODETAIL.
FIRE_OUTBOUND_PLUG( IV_OUTBOUND_PLUG = 'NEWTODETAIL' ).
ENDMETHOD.

查询组件结束,开始明细组件ZLYTEST03_H

1.WINDOW创建内向插件:FROMNEW

  METHOD IP_FROMNEW.
VIEW_MANAGER->NAVIGATE( SOURCE_REP_VIEW = REP_VIEW
OUTBOUND_PLUG = 'LINKTODETAIL' ).
ENDMETHOD.

2.WINDOW中创建外向插件:LINKTODETAIL

3.概览页中创建内向插件FROMMAINWD(因为查询没有用BOL的查询,所以都是以VALUE NODE处理的,此处是给个初始化值)

    DATA:  LR_REF_ANY    TYPE REF TO DATA,
GW_EKKO TYPE EKKO,
LR_VALUE_NODE TYPE REF TO CL_BSP_WD_VALUE_NODE.
GET REFERENCE OF GW_EKKO INTO LR_REF_ANY.
CREATE OBJECT LR_VALUE_NODE
TYPE
CL_BSP_WD_VALUE_NODE
EXPORTING
IV_DATA_REF = LR_REF_ANY.
ME->TYPED_CONTEXT->RESULT->COLLECTION_WRAPPER->ADD( LR_VALUE_NODE ).
ENDMETHOD.

如果是BOL,则用下面的:

  METHOD IP_FROMMAINWD.
DATA:LR_CORE TYPE REF TO CL_CRM_BOL_CORE.
DATA:LR_FACTORY TYPE REF TO CL_CRM_BOL_ENTITY_FACTORY.
DATA:LR_DETAIL TYPE REF TO CL_CRM_BOL_ENTITY.
DATA:LS_PARAMS TYPE CRMT_NAME_VALUE_PAIR,
GW_EKKO TYPE EKKO,
LT_PARAMS TYPE CRMT_NAME_VALUE_PAIR_TAB.
DATA:LR_FOUND TYPE REF TO IF_BOL_BO_PROPERTY_ACCESS. ME->TYPED_CONTEXT->DETAIL2->COLLECTION_WRAPPER->CLEAR( ). LS_PARAMS-NAME = 'EBELN'.
LS_PARAMS-VALUE = ''.
APPEND LS_PARAMS TO LT_PARAMS. LR_CORE = CL_CRM_BOL_CORE=>GET_INSTANCE( ).
LR_FACTORY = LR_CORE->GET_ENTITY_FACTORY( 'ZEKKO' ).
LR_DETAIL = LR_FACTORY->CREATE( LT_PARAMS ). CHECK LR_DETAIL IS BOUND. ME->TYPED_CONTEXT->DETAIL2->COLLECTION_WRAPPER->ADD( IV_ENTITY = LR_DETAIL
IV_SET_FOCUS = ABAP_TRUE ). IF LR_FOUND IS INITIAL.
ME->TYPED_CONTEXT->DETAIL2->COLLECTION_WRAPPER->ADD( IV_ENTITY = LR_DETAIL
IV_SET_FOCUS = ABAP_TRUE ).
ENDIF.
CALL METHOD ME->SET_VIEW_GROUP_CONTEXT
EXPORTING
IV_PARENT_CONTEXT = VIEW_GROUP_CONTEXT
IV_FIRST_TIME = ABAP_TRUE. ME->VIEW_GROUP_CONTEXT->SET_ALL_EDITABLE( ).
ENDMETHOD.

4.运行时中,创建NavigationalLinks LINKTODETAIL 丛WINDOW到概览页。

5.DETAIL的概览页,因为这时候会有空值直接跳转过来,所以需要重定义概览页的SET_VIEW_GROUP_CONTEXT

  method SET_VIEW_GROUP_CONTEXT.
IF IV_FIRST_TIME EQ ABAP_TRUE AND VIEW_GROUP_CONTEXT IS INITIAL.
IF IV_PARENT_CONTEXT IS INITIAL.
CREATE OBJECT VIEW_GROUP_CONTEXT TYPE CL_BSP_WD_VIEW_GROUP_CONTEXT.
ELSE.
VIEW_GROUP_CONTEXT ?= IV_PARENT_CONTEXT.
ENDIF.
ENDIF.
endmethod.

到这里,明细组件也完成了。。。取MAIN组件

1.创建NavigationalLink NEWTODETAIL 。。。。

完成。。。

CRM WEB UI 03搜索界面新建按钮调到详细界面的更多相关文章

  1. CRM WEB UI 02搜索跳转到详细界面

    结合上一个,在上一个中,创建的是选择链接字段EBELN. 下面来实现点击EBELN跳转到详细界面: 1.创建ZLYTEST03_H组件,做详细界面. 2.创建概览页 DETOV. 3.创建视图集 DE ...

  2. crm web ui

    1:View中的field对应于model中的attribute. 2:custom controller具有更长的生存时间,能够在view中共享一些数据. 3:window是component的一个 ...

  3. CRM WEB UI 01 BOL向导创建的搜索

    创建BOL的步骤就不说了,自己找,学习这个之前,需要自己先找个SAP CRM资料预习一下 T-CODE:BSP_WD_CMPWB 1.创建组件:输入组件名:ZLYTEST03,点击创建按钮,回车,选择 ...

  4. CRM WEB UI 04明细界面添加按钮

    好了,这个是个人测试玩的,略风骚...请自行鉴阅 1.明细的组件控制器中增加全局控制属性字段: 2.概览页中工具栏相关方法,重定义GET_BUTTONS METHOD IF_BSP_WD_TOOLBA ...

  5. 如何在CRM WebClient UI里使用HANA Live Report

    1. 使用业务角色ANALYTICSPRO登录SAP CRM WebClient UI: 点击新建按钮创建一个新的HANA live report: 类型选择SHL: 弹出窗口,维护report的名称 ...

  6. SAP CRM 在Web UI中创建搜索帮助

    多数情况下,在Web UI为一个特定的字段提供搜索帮助需要在事务SE11中创建搜索帮助. (注:也可以通过在SE24中创建一个类并实现实现IF_BSP_WD_CUSTOM_F4_CALLBACK接口来 ...

  7. 免费素材:25套免费的 Web UI 设计的界面元素(转)

    Web 元素是任何网站相关项目都需要的,质量和良好设计的元素对于设计师来说就像宝贝一样.如果您正在为您的网站,博客,Web 应用程序或移动应用程序寻找完美设计的网页元素,那么下面这个列表会是你需要的. ...

  8. HiveServer2的WEB UI界面

    1.hive-site.xml配置如下: <property>    <name>hive.server2.webui.host</name>    <val ...

  9. spark调优篇-spark on yarn web UI

    spark on yarn 的执行过程在 yarn RM 上无法直接查看,即 http://192.168.10.10:8088,这对于调试程序很不方便,所以需要手动配置 配置方法 1. 配置 spa ...

随机推荐

  1. Latex 三线表及设置列数

    参考: latex的三线表格及一些错误的修改 latex 三线表 Latex 三线表 及设置列数 绘制三线表: \begin{table}[htbp] \caption{\label{tab:test ...

  2. PHP变量的值类型和引用类型

    PHP 变量在内存中保存的并不直接是值的内容而是值的地址.比如: $a = 1; 从表面上看起来似乎是 $a 直接存储了 1 这个值.但是实际情况是,PHP 解释器创建了变量 $a , 将值 1 存入 ...

  3. QT移植无法启动 This application failed to start because it could not find or load the QT platform

    QT配置好在自己机器上可以运行,但在别人机器上一直弹出 "This application failed to start because it could not find or load ...

  4. React Native组件之BackAndroid !安卓手机的物理返回键的使用

    ok!在安卓手机上,当我们用物理返回键的时候,会以一次性的将程序退出来,这样是很不好的体验,所以就需要使用RN的物理返回键组件:BackAndroid,其原理也就是 分析路由,然后pop()这样! o ...

  5. javascript 创建video元素

    <!DOCTYPE html> <html> <body> <h3>演示如何创建 VIDEO 元素</h3> <p>请点击按钮来 ...

  6. Centos7 linux下通过源码安装redis以及使用

    下载redis安装包 wget http://download.redis.io/releases/redis-5.0.3.tar.gz 解压压缩包 tar -zxvf redis-.tar.gz y ...

  7. 一: vue的基本使用

    一: vue的下载 vue.js是目前前端web开发最流行的工具库之一,由尤雨溪在2014年2月发布的. 另外几个常见的工具库:react.js /angular.js 官方网站: ​ 中文:http ...

  8. Xshell5中常用linux服务器命令集合

    简易版:http://www.zhimengzhe.com/linux/84546.html 详细版:http://www.cnblogs.com/peida/tag/%E6%AF%8F%E6%97% ...

  9. C#6.0 语法

    属性表达式 属性值初始化 public string name {get;set;} = "张三"; 函数表达式 NULL检查运算符 var aa = Created?.Date; ...

  10. IPC 之 AIDL 的使用

    一.AIDL 知识储备 1. AIDL 文件支持的数据类型: 基本数据类型 (int , long , char , boolean ,double 等): String 和 CharSequence ...