WEB UI基础八:链接跳转到标准的工单界面
接以前做的例子,用组件做了个搜索界面,明细里添加了object_id的链接:
method GET_P_OBJECT_ID.
"#EC NEEDED
** generated by search page wizard if me->running_in_f4_popup( ) = abap_false.
case iv_property.
when if_bsp_wd_model_setter_getter=>fp_fieldtype.
rv_value = cl_bsp_dlc_view_descriptor=>field_type_event_link.
when if_bsp_wd_model_setter_getter=>fp_onclick.
rv_value = 'CLICKONLINK'.
endcase.
endif.
endmethod.
DATA lv_index TYPE i.
DATA: lv_action TYPE c.
cl_thtmlb_util=>get_event_info(
EXPORTING
iv_event = htmlb_event_ex
IMPORTING
ev_index = lv_index ).
DATA lr_node TYPE REF TO if_bol_bo_property_access.
lr_node ?= me->typed_context->searchresultnode->collection_wrapper->find( iv_index = lv_index ).
DATA lv_guid TYPE CRMT_OBJECT_GUID." REF TO data.
DATA lv_obj TYPE crmt_object_id. lr_node->get_property_as_value(
EXPORTING
iv_attr_name = 'OBJECT_ID'
IMPORTING
ev_result = lv_obj ).
SELECT SINGLE GUID INTO LV_GUID FROM CRMD_ORDERADM_H WHERE OBJECT_ID = LV_OBJ.
DATA: lv_bol_core TYPE REF TO cl_crm_bol_core.
lv_bol_core = cl_crm_bol_core=>get_instance( ).
lv_bol_core->start_up( 'BT' ).
DATA lr_entity TYPE REF TO cl_crm_bol_entity.
lr_entity = lv_bol_core->get_root_entity( iv_object_name = 'BTOrder' iv_object_guid = LV_GUID ). * 将跟对象传递到window_controller
DATA lr_col TYPE REF TO cl_crm_bol_entity_col.
CREATE OBJECT lr_col.
lr_col->if_bol_bo_col~add( lr_entity ).
DATA: lr_window TYPE REF TO cl_bsp_wd_window.
lr_window = me->view_manager->get_window_controller( ).
lr_window->call_outbound_plug( iv_outbound_plug = 'DEFAULT'
iv_data_collection = lr_col ).
method OP_DEFAULT.
CONSTANTS lv_ui_action TYPE crmt_ui_actions VALUE 'B'. "display
DATA lr_ent TYPE REF TO if_bol_bo_property_access.
DATA lr_descriptor_object TYPE REF TO cl_crm_ui_descriptor_object. lr_ent ?= iv_data_collection->get_first( ).
CATCH SYSTEM-EXCEPTIONS move_cast_error = .
lr_descriptor_object ?= lr_ent.
ENDCATCH.
IF sy-subrc NE .
CALL METHOD cl_crm_uiu_bt_navigate=>prepare_col_for_navigate
EXPORTING
ir_collection = iv_data_collection
iv_ui_action = lv_ui_action
EXCEPTIONS
no_nav_descriptor_inserted =
OTHERS = .
ENDIF.
IF sy-subrc EQ .
DATA lr_nav TYPE REF TO if_crm_ui_navigation_service.
lr_nav = cl_crm_ui_navigation_service=>get_instance( me ).
* Navigate to Target Component
lr_nav->navigate_dynamically( iv_data_collection ).
ENDIF.
endmethod.
上面是做成通用的,下面是给单独事件的:
METHOD eh_onclickno. 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->result->collection_wrapper->find( iv_index = lv_index ). CHECK lr_entity IS BOUND. DATA l_guid TYPE crmd_orderadm_h-guid.
CALL METHOD lr_entity->get_property_as_string
EXPORTING
iv_attr_name = 'GUID'
* iv_use_iso_format = ABAP_FALSE
RECEIVING
rv_result = l_guid. 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.
WEB UI基础八:链接跳转到标准的工单界面的更多相关文章
- 阻止iOS Web APP中点击链接跳转到Safari 浏览器新标签页
问题:ios封装完之后,点击里边的按钮会跳转到网页上 ——小卡遇到这个问题就是这样解决的↓↓↓ 解决方法:建议将代码放到</head>标签前,当然,另外存为一个js 文件引用也是可以的呦~ ...
- MVC 【Razor 视图引擎】基础操作 --页面跳转,传值,表单提交
ASPX 与 Razor 仅仅是视图不一样. 新建项目----ASP.NET MVC 4 Web 应用程序------选择模板(空).视图引擎(Razor ) 1.视图中 c# 代码 与 HT ...
- [置顶] 提高生产力:Web开发基础平台WebCommon的设计和实现
Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...
- 提高生产力:Web开发基础平台WebCommon的设计和实现
Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...
- 20165207 Exp9 Web安全基础
目录 20165207 Exp9 Web安全基础 一.实验过程 1.环境配置 2.代理工具burpsuite 2.1 Http proxies -> Use the intercept 3.sq ...
- 【转】谈谈Google Polymer以及Web UI框架的未来
原文转自:http://www.csdn.net/article/2013-05-27/2815450-google-polymer 摘要:开发者Axel Rauschmayer在自己的博客上详解了G ...
- web前端基础知识及快速入门指南
web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...
- 【JavaScript】谈谈Google Polymer以及Web UI框架的未来
摘要:开发者Axel Rauschmayer在自己的博客上详解了Google Polymer的设计理念与组成架构,深得Polymer开发者的认同.他认为Polymer这样高互操作性的设计才应该是Web ...
- 20155208徐子涵《网络对抗》Exp9 Web安全基础
20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...
随机推荐
- visualization of filters keras 基于Keras的卷积神经网络(CNN)可视化
https://adeshpande3.github.io/adeshpande3.github.io/ https://blog.csdn.net/weiwei9363/article/detail ...
- Nginx 修改用户权限
[1]Nginx 修改用户权限 (1)修改前:Nginx系统默认用户权限是nobody 查看可知: (2)修改方法 欲使用root权限启动的. 修改 /usr/local/nginx/conf/ 下n ...
- cnetos7设置中文显示及中文输入法
Centos7安装的时候即使选择了中文安装,因为安装后并没有GUI,即使后来安装GUI后默认依旧是英文显示. 输入locale后显示的是 永久修改成中文:编辑/etc/profile.d/lang.s ...
- centos7安装配置jdk
① java -version 可以查看系统自带的openjdk版本信息 ② rpm -qa | grep java 查看系统自带的Java文件 ③ 卸载文件(noarch文件可以不用删除) -- ...
- 使用OGG添加唯一标识字段到目标表
利用GoldenGate,可以获取到变更记录在源端对应的redo日志序号,redo中的地址RBA,如果源端是RAC,还可以拿到源端节点的编号,通过这3个值,可以定位该变更记录的唯一性. 这些信息,在G ...
- 当namenode启动不了时
重新格式即可,注意格式化前要将临时目录下的文件全部删除
- HBuilder 模拟器
模拟器名称 连接默认端口夜神安卓模拟器夜神安卓模拟器 62001逍遥安卓模拟器逍遥安卓模拟器 21503BlueStacks(蓝叠安卓模拟器)BlueStacks(蓝叠安卓模拟器 ...
- 使用nginx代理kibana并配置登录验证
由于kibana不支持登录验证,谁都可以访问,放到公网就不合适了,这里配置用nginx进行代理: 生成密码文件 如果安装了httpd可以用htpasswd,比较方便: htpasswd -c /roo ...
- C类网络子网掩码速查
子网掩码 网络位数 子网数量 可用主机数 255.255.255.252 30 64 2 255.255.255.248 29 32 6 255.255.255.240 28 16 14 255.25 ...
- nginx+php+mysql+zabbix服务器安装
好久没有接触监控类的软件了,今天抽空搭建了下 首先系统环境 zabbix-server-1 centos7.2 本次所需的第三方软件包 以下软件包通过官网下载 zabbix-3.0.3.tar. ...