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. js 模块化规范

    模块规范 CommonJS module.exports, exports 导出模块 require 加载模块, CommonJS 同步,服务端.实践者: nodejs ES6 export, exp ...

  2. function CONVERSION_EXIT ****INPUT/OUTPUT说明

    CONVERSION_EXIT_ALPHA_INPUT和CONVERSION_EXIT_ALPHA_OUTPUT 函数说明 CONVERSION_EXIT_MATN1_INPUT 物料号码转换函数 C ...

  3. python3.7.2 pip 出现locations that require TLS/SSL异常处理方法

    centos7安装python3.7.2后,运行 pip3 install tornado 会报错 [root@localhost ~]# pip3 install tornado pip is co ...

  4. .net unicode汉字互相转换

    [两种方法].net unicode汉字互相转换 ========================================= //汉字转Unicode编码(ASCII) private str ...

  5. [HTTP]_[C/C++]_[解析URL的转义字符百分比字符串]

    场景: 1.有时候获取一个超链接时,或者一个图片src时,里面的地址带有%XX,这样如果当成文件路径处理会不识别.所以要把转义字符解码. 2.它其实就是ASCII码的十六进制表示. 以下是stacko ...

  6. [osg]osg绘制动态改变顶点的几何体

    最简单的顶点数据更新方法是预先获取setVertexArray()所用的数组数据,并对其进行更新.但是对于开启显示列表支持的几何体(这是默认的情况)来说,有一个问题需要特别需要引起注意,即显示列表中的 ...

  7. $(document).ready和window.onload,细微小区别,ready是jQuery的方法,onload是window的方法

    $(document).ready和window.onload的区别 $(document).ready和window.onload都是在都是在页面加载完执行的函数,大多数情况下差别不大,但也是有区别 ...

  8. ps p图

    1. 常用快捷键 ctrl + 单击 选中图层ctrl + j 复制出拷贝的图层 Shift+Alt+S 保存ctrl + s 保存shift + ctrl + alt + s 保存为 web 格式图 ...

  9. sort-归并排序

    void sort_merge(vector<int> &v,int left,int right) { if(left>=right) return; int mid=(l ...

  10. 2018 AICCSA Programming Contest

    2018 AICCSA Programming Contest A Tree Game B Rectangles 思路:如果存在大于0的交面积的话, 那么肯定能找到一条水平的直线 和 一条垂直的直线, ...