METHOD eh_onzobject_id_link.
***定义
DATA :
lv_crmt_object_guid TYPE crmt_object_guid,
lv_index TYPE i,
lr_property_access TYPE REF TO if_bol_bo_property_access,
lv_object_id TYPE crmt_object_id_db.
***获取对象
*==获取选中行INDEX
cl_thtmlb_util=>get_event_info( EXPORTING iv_event = htmlb_event_ex IMPORTING ev_index = lv_index ).
CHECK lv_index IS NOT INITIAL .
*==获取选中行context
lr_property_access ?= me->typed_context->searchresultnode->collection_wrapper->find( iv_index = lv_index ).
CHECK lr_property_access IS BOUND .
*==生成订单BOL
CLEAR :lv_crmt_object_guid .
lv_crmt_object_guid = lr_property_access->get_property_as_string( iv_attr_name = 'OBJECT_GUID' ).
CHECK lv_crmt_object_guid IS NOT INITIAL .
CALL FUNCTION 'ZCRM_NAVIGATE_BT'
EXPORTING
iv_guid = lv_crmt_object_guid.
ENDMETHOD.
FUNCTION zcrm_navigate_bt.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(IV_GUID) TYPE CRMT_OBJECT_GUID OPTIONAL
*"---------------------------------------------------------------------- gr_bol_core = cl_crm_bol_core=>get_instance( ).
gr_bol_core->load_component_set('ONEORDER' ).
TRY.
CALL METHOD gr_bol_core->get_root_entity
EXPORTING
iv_object_name = 'BTOrder' "#EC NOTEXT BTOrder
iv_object_guid = iv_guid
RECEIVING
rv_result = gr_btorder.
CATCH cx_crm_genil_model_error .
RETURN .
ENDTRY .
***对象跳转
*==导航组件
gv_bsp_dlc_object_type = cl_crm_uiu_ibase_tool=>get_bt_ui_object_type( gr_btorder )."设计对象类型
CALL METHOD cl_crm_ui_descriptor_obj_srv=>create_entity_based
EXPORTING
ir_entity = gr_btorder
iv_ui_object_type = gv_bsp_dlc_object_type
iv_ui_object_action = 'B'
RECEIVING
rr_result = gr_if_bol_bo_property_access. *==动态导航collection
CREATE OBJECT gr_if_bol_bo_col TYPE cl_crm_bol_bo_col .
gr_if_bol_bo_col->add( iv_entity = gr_btorder iv_set_focus = abap_true ).
gr_if_bol_bo_col->insert( iv_bo = gr_if_bol_bo_property_access iv_index = ).
*==动态导航
gr_crm_ui_navigation_service = cl_crm_ui_navigation_service=>get_instance( ).
IF gr_crm_ui_navigation_service IS BOUND .
gr_crm_ui_navigation_service->navigate_dynamically( gr_if_bol_bo_col ).
ENDIF . ENDFUNCTION.

2.

  METHOD eh_ontosrvord.
* Added by wizard: Handler for event 'TOSRVORD' DATA: lv_index TYPE int4,
* lr_comp_controller TYPE REF TO cl_bt111s_o_bspwdcomponen_impl,
* lr_cuco TYPE REF TO cl_bt111s_o_cucosearch_impl,
lr_entity TYPE REF TO if_bol_bo_property_access,
lv_event TYPE REF TO cl_htmlb_event_tableview,
lr_msg_srv TYPE REF TO cl_bsp_wd_message_service,
lv_subrc TYPE sy-subrc,
lv_tableview_ex TYPE REF TO cl_thtmlb_table_view. * CALL METHOD cl_thtmlb_util=>get_event_info
* EXPORTING
* iv_event = htmlb_event_ex
* IMPORTING
* ev_index = lv_index. * set entity as current one
lr_entity ?= me->typed_context->btadminh->collection_wrapper->get_current( ). CHECK lr_entity IS BOUND. DATA l_guid TYPE crmd_orderadm_h-guid.
DATA l_srv_no TYPE crmd_orderadm_h-object_id.
CALL METHOD lr_entity->get_property_as_string
EXPORTING
iv_attr_name = 'OBJECT_ID'
* iv_use_iso_format = ABAP_FALSE
RECEIVING
rv_result = l_srv_no. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = l_srv_no
IMPORTING
OUTPUT = l_srv_no. DATA: wa_zsrv_order_relat TYPE zsrv_order_relat.
SELECT SINGLE *
FROM zsrv_order_relat
INTO wa_zsrv_order_relat
WHERE zsrv_order = l_srv_no. select SINGLE guid
FROM crmd_orderadm_h
INTO l_guid
WHERE object_id = wa_zsrv_order_relat-ZWORK_ORDER
AND process_type LIKE 'ZW%'. DATA lr_core TYPE REF TO cl_crm_bol_core.
DATA lr_bt TYPE REF TO cl_crm_bol_entity.
lr_core = cl_crm_bol_core=>get_instance( ).
*初始化 BT为组件集名称
lr_core->start_up( 'BT' ). TRY.
CALL METHOD lr_core->get_root_entity
EXPORTING
iv_object_name = 'BTOrder'
iv_object_guid = l_guid " 单句对应的GUID
RECEIVING
rv_result = lr_bt.
CATCH cx_crm_genil_model_error .
ENDTRY. CHECK lr_bt IS BOUND. RAISE EVENT history_trigger. DATA: lr_nav_descr TYPE REF TO if_bol_bo_property_access.
DATA: lr_navigation TYPE REF TO if_crm_ui_navigation_service.
DATA: lr_col TYPE REF TO cl_crm_bol_bo_col.
DATA: rv_value_node TYPE REF TO cl_bsp_wd_value_node. cl_crm_ui_descriptor_obj_srv=>create_ui_object_based(
EXPORTING iv_ui_object_type = 'BT116_SRVO'
iv_ui_object_action = 'B'
RECEIVING rr_result = lr_nav_descr ). CHECK lr_nav_descr IS BOUND.
lr_navigation = cl_crm_ui_navigation_service=>get_instance( me ).
CHECK lr_navigation IS BOUND. * Check whether navigation is supported
IF lr_navigation->is_dynamic_nav_supported( lr_nav_descr ) NE abap_true.
RETURN.
ELSE.
CREATE OBJECT lr_col.
lr_col->if_bol_bo_col~add( iv_entity = lr_nav_descr ).
lr_col->if_bol_bo_col~add( iv_entity = lr_bt iv_set_focus = abap_true ).
lr_navigation->navigate_dynamically( lr_col ).
ENDIF. ENDMETHOD.

动态BT跳转的更多相关文章

  1. iOS-启动动态页跳过设计思路

    概述 根据UIBezierPath和CAShapeLayer自定义倒计时进度条,适用于app启动的时候设置一个倒计时关闭启动页面.可以设置进度条颜色,填充颜色,进度条宽度以及点击事件等. 详细 代码下 ...

  2. vue 动态路由跳转在新窗口打开

    let routeUrl =this.$router.resolve({path: '/home'}) window.open(routeUrl.href, '_blank');

  3. 关于微信小程序的动态跳转

    最近在研究微信小程序.在做一个简单的购物小程序时,遇到一个问题:如何通过扫码实现动态的跳转页面功能, 通过研究终于找到了解决方法: 首先当然要实现扫码解析功能js的代码: click: functio ...

  4. Vue-Router路由Vue-CLI脚手架和模块化开发 之 路由的动态跳转

    在上一篇的博文中,实现的跳转是在页面中进行实现的 利用vue-router实例方法,使用js对路由进行动态跳转: 1.router.push:参数为路由对象,跳转到指定路由,跳转后会产生历史记录: & ...

  5. MySQL 跳过同步错误方法

    最近MySQL 遇到了同步问题,现整理一下常遇到的错误的解决方法,备用. 方法一:手动设置动态参数 sql_slave_skip_counter 我常用的脚本: stop slave sql_thre ...

  6. Struts2配置文件动态传参

    两个Action动态传递参数: 1.从一个Action传递到另一个Action如果带有参数那么result中的type属性需要使用redirect 第一个Action代码如下: private Str ...

  7. IdentityServer4 退出登录后,跳转到原来页面

    IdentityServer4 退出登录后,默认会跳转到Config.Client配置的PostLogoutRedirectUris地址,那我们如何动态的跳转到原来的地址呢?实现很简单,Logout修 ...

  8. Qt 编程指南 8 显示静态小图片和动态大图片

    显示控件概览 图片浏览示例 第一行是一个标签控件,objectName 为 labelShow,文本内容清空,因为是用来显示图片用的. 主界面第二行的控件是四个普通按钮 第一个按钮文本是 " ...

  9. UIWebview交互之自己定义传值跳转

    UIWebview常常会用到和原生页面的跳转.有的可能还须要传值跳转.自己写了一个自己定义跳转的webview,能够跳转到指定控制器并传值,这须要和后台协商好.html中怎样传值跳转,即:html中的 ...

随机推荐

  1. Shiro学习笔记五(Shiro标签,及通配符)

    1.首先是导入标签库 <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> ...

  2. ComponentOne使用技巧——从Winform穿越到WPF

    概述 WPF 和 Winform 是两个单独的平台,但二者又都是基于 .NET 4.0 以上版本开发的,所以很多.NET开发人员就开始研究如何在WPF中使用Winform.微软已经架设了两个开发平台的 ...

  3. 操作 frames 框架下的 dom 内容。

    2016-12-30 框架名: var obj=$(window.frames["wangpan"].document).find("a[menu=download_on ...

  4. Ubuntu 18.04版本下安装网易云音乐

    这是我迄今为止发现的最完美的解决方法,不用改任何东西,只需要安装然后打开即可,后台也有. 参考:http://archive.ubuntukylin.com:10006/ubuntukylin/poo ...

  5. Scala语言学习

    Scala的程序被编译成Java字节码(生成class文件),所以可以运行在JVM上,并且可以调用Java的类库,兼容Java程序. Scala 是一门多范式(multi-paradigm)的编程语言 ...

  6. 前端js实现 blob转base64位 和 base64位转blob

    //**dataURL to blob** function dataURLtoBlob(dataurl) { var arr = dataurl.split(','), mime = arr[0]. ...

  7. Codeforces 776E The Holmes Children

    题目链接:http://codeforces.com/problemset/problem/776/E ${\because gcd(i,n-i)=1\Leftrightarrow gcd(i,n)= ...

  8. codeforces 768E Game of Stones

    题目链接:http://codeforces.com/problemset/problem/768/E NIM游戏改版:对于任意一堆,拿掉某个次数最多只能一次. 对于一堆石头数量为$X$.找到一个最小 ...

  9. StringBuilderWriter 这个类需要commons.io.2.6这个包才可以使用, 在maven仓库中搜

  10. Inception Network

    1. 下图为一个Inception 模块,即将输入的图像通过多种过滤器或者池化操作后,全部再给拼起来形成新的图像. 2. Inception 网络就是讲将多个Inception模块连起来而已,如下图的 ...