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. [转载]undefined reference to `memcpy@GLIBC_2.14'

    转自:http://blog.sina.com.cn/s/blog_6c5a47d30102wfw9.html undefined reference to `memcpy@GLIBC_2.14' ( ...

  2. HttpDns原理

    什么是 DNS DNS(Domain Name System,域名系统),DNS 服务用于在网络请求时,将域名转为 IP 地址.能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数 ...

  3. Graphics for R

    https://cran.r-project.org/web/views/Graphics.html CRAN Task View: Graphic Displays & Dynamic Gr ...

  4. Easy Graphics Engine vs2015使用

    vs2017: 下载 https://pan.baidu.com/s/1qWxAgeK 里面的 “ege19.01_vs2017 (推荐, 修正win10 1809 上无法正常运行的问题).zip”  ...

  5. CAS 是什么

    CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换. CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B. 更新一个变量的时候,只有当变量的预期值 ...

  6. 一篇很好的java异常框架讲解

    https://www.cnblogs.com/itcui/p/6400499.html 其实原作者是csdn的一名博主,实在受不了csdn的广告,所以就摘录这篇

  7. R语言 让纵坐标的标签显示为横向

    参考自153分钟学习R语言 坐标y 上的数字如何水平放置?仍然是绘图参数问题: ?par # see  lasplot(0, 0, xaxt="n" , type="n& ...

  8. 从flask视角理解angular(四)Route

    app-routing.modules.ts import { NgModule } from '@angular/core'; import { RouterModule, Routes } fro ...

  9. LeetCode第[20]题(Java):Valid Parentheses

    题目:有效的括号序列 难度:Easy 题目内容: Given a string containing just the characters '(', ')', '{', '}', '[' and ' ...

  10. Android接入微信SDK之一:发起微信授权登录

    1.重要的事情首先说! 包名.应用签名.app id 三者都必须和在腾讯上申请的一致!!!否则将不能成功. 包名:就是在腾讯上申请的包名 应用签名:使用微信官网提供的<签名生成工具>(这个 ...