动态BT跳转
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跳转的更多相关文章
- iOS-启动动态页跳过设计思路
概述 根据UIBezierPath和CAShapeLayer自定义倒计时进度条,适用于app启动的时候设置一个倒计时关闭启动页面.可以设置进度条颜色,填充颜色,进度条宽度以及点击事件等. 详细 代码下 ...
- vue 动态路由跳转在新窗口打开
let routeUrl =this.$router.resolve({path: '/home'}) window.open(routeUrl.href, '_blank');
- 关于微信小程序的动态跳转
最近在研究微信小程序.在做一个简单的购物小程序时,遇到一个问题:如何通过扫码实现动态的跳转页面功能, 通过研究终于找到了解决方法: 首先当然要实现扫码解析功能js的代码: click: functio ...
- Vue-Router路由Vue-CLI脚手架和模块化开发 之 路由的动态跳转
在上一篇的博文中,实现的跳转是在页面中进行实现的 利用vue-router实例方法,使用js对路由进行动态跳转: 1.router.push:参数为路由对象,跳转到指定路由,跳转后会产生历史记录: & ...
- MySQL 跳过同步错误方法
最近MySQL 遇到了同步问题,现整理一下常遇到的错误的解决方法,备用. 方法一:手动设置动态参数 sql_slave_skip_counter 我常用的脚本: stop slave sql_thre ...
- Struts2配置文件动态传参
两个Action动态传递参数: 1.从一个Action传递到另一个Action如果带有参数那么result中的type属性需要使用redirect 第一个Action代码如下: private Str ...
- IdentityServer4 退出登录后,跳转到原来页面
IdentityServer4 退出登录后,默认会跳转到Config.Client配置的PostLogoutRedirectUris地址,那我们如何动态的跳转到原来的地址呢?实现很简单,Logout修 ...
- Qt 编程指南 8 显示静态小图片和动态大图片
显示控件概览 图片浏览示例 第一行是一个标签控件,objectName 为 labelShow,文本内容清空,因为是用来显示图片用的. 主界面第二行的控件是四个普通按钮 第一个按钮文本是 " ...
- UIWebview交互之自己定义传值跳转
UIWebview常常会用到和原生页面的跳转.有的可能还须要传值跳转.自己写了一个自己定义跳转的webview,能够跳转到指定控制器并传值,这须要和后台协商好.html中怎样传值跳转,即:html中的 ...
随机推荐
- Docker 开发概述
This page lists resources for application developers using Docker. Develop new apps on Docker If you ...
- hihoCoder 1116 计算(线段树)
http://hihocoder.com/problemset/problem/1116 题意: 思路: 用线段树解决,每个节点需要设置4个变量,sum记录答案,all记录整个区间的乘积,pre记录该 ...
- mathType换行等号对齐
例如: 输入步骤: (1) (2) (3) (4) 事实上,[ctrl+;]表示的是插入了一个对齐标记符.
- c代码,输出i,j,k互不相同的三位数
#include <stdio.h> int main() { int i,j,k; printf("\n"); for(i=1;i<5;i++){ for(j= ...
- C# 使用 protobuf 进行对象序列化与反序列化
protobuf 是 google的一个开源项目,可用于以下两种用途: (1)数据的存储(序列化和反序列化),类似于xml.json等: (2)制作网络通信协议. 源代码下载地址:https://gi ...
- SSL证书申请,如何快速通过SSL文件验证。
申请SSL证书会让我们进行验证域名,一般方式如下: 1.FTP验证 2.文件验证 3.DNS验证 这三种方式各有各的优缺点,本文解决如何在IIS的环境下通过sslforfree网站的文件验证. 域名: ...
- XML.libXml2_ZC
1.字符串比较函数: xmlStrcmp(...) 这是大小写敏感的比较 xmlStrcasecmp(...) 这是大小写不敏感的比较(忽略字符串里面字符的大小写) 2.查找节点 2.1.循环 2.2 ...
- 主动触发事件 自定义事件 trigger 及其用法
1. 触发自定义事件方式 js.jq 2. jq 触发 2.1 默认支持的事件 $('#h').on('click',function(){ $(this).append('<p>p< ...
- web 常用颜色
1. 推荐链接 RGB颜色值与十六进制颜色码转换工具 Web上16种基本颜色名称 WEB标准颜色 2. 个人常用 除了三原色,还有 #daf1ef#4DBCB0#ccc
- 如何看待Arcsoft虹软,推出的人脸认知引擎免费SDK?
虹软公司是一家具有硅谷背景的图像处理公司,除了人脸技术以外,还有多项图像及视频处理技术.他们的双摄像头处理算法和人脸美化算法囊括了包括OPPO VIVO,SUMAMNG一系列手机厂商. 整个人脸识别运 ...