UI上将BP附件放到BP结果中
1,取附件内容放到新增的字段里
METHOD get_attachment. DATA: current TYPE REF TO if_bol_bo_property_access.
DATA: dref TYPE REF TO data.
DATA:gv_guid TYPE crmt_object_guid,
ls_business_object TYPE sibflporb,
lt_phioloios TYPE skwf_lpios,
ls_phioloios LIKE LINE OF lt_phioloios,
lt_ios_prop_result TYPE crm_kw_propst,
ls_ios_prop_result LIKE LINE OF lt_ios_prop_result,
lt_prop TYPE sdokproptls,
ls_prop TYPE sdokproptl. FIELD-SYMBOLS:
<nval> TYPE any,
<oval> TYPE any. * get current entity
IF iterator IS BOUND.
current = iterator->get_current( ).
ELSE.
current = collection_wrapper->get_current( ).
ENDIF. current->get_property_as_value(
EXPORTING
iv_attr_name = 'BP_GUID'
IMPORTING
ev_result = gv_guid ). CHECK gv_guid IS NOT INITIAL. "取出BP对应的附件信息
ls_business_object-instid = gv_guid.
ls_business_object-typeid = 'BUS1006'.
ls_business_object-catid = 'BO'.
CALL METHOD cl_crm_documents=>get_info
EXPORTING
business_object = ls_business_object
IMPORTING
phioloios = lt_phioloios
ios_properties_result = lt_ios_prop_result. READ TABLE lt_phioloios INTO ls_phioloios INDEX 1.
IF sy-subrc = 0.
READ TABLE lt_ios_prop_result INTO ls_ios_prop_result WITH KEY objtype = ls_phioloios-objtypelo
class = ls_phioloios-classlo
objid = ls_phioloios-objidlo.
IF sy-subrc = 0.
READ TABLE ls_ios_prop_result-properties INTO ls_prop WITH KEY name = 'KW_RELATIVE_URL'.
IF sy-subrc = 0.
value = ls_prop-value.
ENDIF.
ENDIF.
ENDIF. ENDMETHOD.
2,设置字段类型
METHOD get_p_attachment. 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 = 'DISPLAY_DOC'.
"...
ENDCASE.
3,设置点击事件
METHOD eh_ondisplay_doc.
* Added by wizard: Handler for event 'DISPLAY_DOC'
DATA: lv_index TYPE int4,
lr_entity_ext TYPE REF TO if_bol_bo_property_access,"if_bsp_wd_ext_property_access,
lr_entity TYPE REF TO cl_crm_bol_entity,
lr_coco TYPE REF TO cl_gs_cm_bspwdcomponent,
lr_bsp_runtime TYPE REF TO cl_bsp_runtime,
ls_attributes TYPE crmt_cmic_doc_attr,
lr_data TYPE REF TO data.
FIELD-SYMBOLS: <fs_key> TYPE string.
DATA: current TYPE REF TO if_bol_bo_property_access.
DATA: dref TYPE REF TO data.
DATA:gv_guid TYPE crmt_object_guid,
ls_business_object TYPE sibflporb,
lt_phioloios TYPE skwf_lpios,
ls_loio TYPE skwf_io,
lv_url TYPE saeuri,
ls_phioloios LIKE LINE OF lt_phioloios,
lt_ios_prop_result TYPE crm_kw_propst,
ls_ios_prop_result LIKE LINE OF lt_ios_prop_result,
lt_prop TYPE sdokproptls,
ls_prop TYPE sdokproptl. * get index of the table
cl_thtmlb_util=>get_event_info( EXPORTING iv_event = htmlb_event_ex
IMPORTING ev_index = lv_index ).
* get entity from mixed note
lr_entity_ext ?= me->typed_context->result->collection_wrapper->find( iv_index = lv_index ). CHECK lr_entity_ext IS BOUND.
lr_entity_ext->get_property_as_value(
EXPORTING
iv_attr_name = 'BP_GUID'
IMPORTING
ev_result = gv_guid ). CHECK gv_guid IS NOT INITIAL. "取出BP对应的附件信息
ls_business_object-instid = gv_guid.
ls_business_object-typeid = 'BUS1006'.
ls_business_object-catid = 'BO'.
CALL METHOD cl_crm_documents=>get_info
EXPORTING
business_object = ls_business_object
IMPORTING
phioloios = lt_phioloios
ios_properties_result = lt_ios_prop_result. READ TABLE lt_phioloios INTO ls_phioloios INDEX 1.
IF sy-subrc = 0.
READ TABLE lt_ios_prop_result INTO ls_ios_prop_result WITH KEY objtype = ls_phioloios-objtypelo
class = ls_phioloios-classlo
objid = ls_phioloios-objidlo.
IF sy-subrc = 0.
READ TABLE ls_ios_prop_result-properties INTO ls_prop WITH KEY name = 'KW_RELATIVE_URL'.
IF sy-subrc = 0.
ENDIF.
ENDIF.
ls_loio-objtype = ls_phioloios-objtypelo.
ls_loio-class = ls_phioloios-classlo.
ls_loio-objid = ls_phioloios-objidlo. CALL METHOD cl_crm_documents=>get_with_url
EXPORTING
loio = ls_loio
url_type = '2'
IMPORTING
url = lv_url
EXCEPTIONS
no_io = 1
OTHERS = 2. CHECK lv_url IS NOT INITIAL. ls_attributes-url_to_display = lv_url. CONCATENATE gv_doc_display_js 'thtmlbSuppressOnLoadKeyboardFocus(); window.open("' ls_attributes-url_to_display '", ' sy-timlo ')' INTO gv_doc_display_js.
ENDIF. ENDMETHOD.
效果:
UI上将BP附件放到BP结果中的更多相关文章
- 一百一十九:CMS系统之将短信验证码和图形验证码放到memcached缓存中
将两个验证码的视图都放到common蓝图下 from flask import Blueprint, request, make_responsefrom exts import alidayufro ...
- Page_Load接收随机参数放到字典类中
Page_Load接收随机参数放到字典类中,可以用作签名.普通的接收url的参数可以用作下面这种模式: int appid =Convert.ToInt32(param["appid&qu ...
- 4.产生10个1-100的随机数,并放到一个数组中 (1)把数组中大于等于10的数字放到一个list集合中,并打印到控制台。 (2)把数组中的数字放到当前文件夹的numArr.txt文件中
package cn.it.text; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayLis ...
- spring事务 将多个connection放到一个线程中
spring事务 将多个connection放到一个线程中
- m_Orchestrate learning system---三十五、php数据和js数据的解耦:php数据(php代码)不要放到js代码中
m_Orchestrate learning system---三十五.php数据和js数据的解耦:php数据(php代码)不要放到js代码中 一.总结 一句话总结:也就是以html为中介,用html ...
- JDBC程序优化--提取配置信息放到属性文件中
JDBC程序优化--提取配置信息放到属性文件中 此处仅仅优化JDBC连接部分,代码如下: public class ConnectionFactory { private static String ...
- 西瓜书 5.5 编写过程(标准BP与累计BP)
话不多说先用numpy表示出数据集 Y=['色泽','根蒂','敲声','纹理','脐部','触感','密度','含糖率','好瓜与否']D=np.array([[2,1,2,3,3,1,0.697, ...
- UI自动化测试(三)对页面中定位到的元素对象做相应操作
前两天分别讲述了UI自动化测试基础以及对页面元素该如何进行定位,这一篇自然就是对定位到的页面元素对象进行相应操作啦. 阅读目录 1.常用操作元素对象的方法 2.鼠标事件操作 3.键盘事件操作 4.We ...
- JAVA 如何把request请求的参数,快速放到model对象中
因为项目需要,需要从request中读取大量的参数. 因为本人过懒,所以写了个方法把request参数,直接放到对应的类中. 参数 String str="aa,bb,cc"; P ...
- 将对象的所有属性名放到一个数组中 || 获得对象的所有属性名 || return;不具有原子性 || 怎样自己制作异常|| 判断对象有没有某个属性 || 当传递的参数比需要的参数少的时候,没有的值会被赋予undefined || 获得函数实际传递的参数 || 怎么用函数处理一个对象 || 用一个名字空间定义一个模块所有的函数 || 给一个对象添加方法
获得对象的所有属性名 || 将对象o的所有属性名放到数组中 var o = {x:1,y:2,z:3}; var arr = []; var i = 0; for(arr[i++] in o){};/ ...
随机推荐
- 全国省市区基础数据SQL插入脚本
整理了一份全国省市区SQL插入脚本,并配上抓取数据读取插入数据库源码,附件下载地址:https://files.cnblogs.com/files/101Love/Region.rar
- [源码系列:手写spring] IOC第十一节:Aware接口
内容介绍 Aware简洁 在Spring框架中,Aware接口是一个非常有用的工具,用于实现Bean与Spring容器及其他资源之间的集成.Aware接口是一个标记接口,其中定义了各种Aware子接口 ...
- 【JDBC】总结
JDBC核心技术 第1章:JDBC概述 1.1 数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数 ...
- luat编程MQTT的自动重连失败分析
正确用法 查看代码 --- 模块功能:MQTT客户端处理框架 -- @author openLuat -- @module mqtt.mqttTask -- @license MIT -- @copy ...
- java基础之继承,抽象类
一.继承 :就是子类继承父类的非私有属性和行为 二.特点 1.子类和父类中出现了同名的成员变量时,在子类中需要访问父类中非私有成员变量时,需要使用 super 关键字 格式:super.父类成员变量名 ...
- C# 线程(二)——Thread学习
参照:C#多线程 - .NET开发菜鸟 - 博客园 (cnblogs.com) C# Thread 线程状态知识 - 大圣的笑 - 博客园 (cnblogs.com) 背景: 在.NET Framew ...
- EF Core Demo1——初识DbContext
EF中的上下文(DbContext)简介 DbContext是实体类和数据库之间的桥梁,DbContext主要负责与数据交互,主要作用: 1.DbContext包含所有的实体映射到数据库表的实体集 ...
- 使用 GitHub Actions 构建 CosyVoice 项目的运行环境镜像并推送到阿里云容器镜像服务和 GitHub Package Registry
使用 GitHub Actions 构建 CosyVoice 项目的运行环境镜像并推送到阿里云容器镜像服务和 GitHub Package Registry 概述 本文介绍了如何使用 GitHub A ...
- Axure RP仿网易游戏装备饰品APP平台保真交互原型rp源文件
Axure RP仿网易游戏装备饰品APP平台保真交互原型rp源文件包含以下几个模块: 1.登录和完善信息:绑定steam.获取交易链接.公开设置 2.首页部分:热门关注.数据.热门关注.数据榜.特殊磨 ...
- Nacos源码—7.Nacos升级gRPC分析二
大纲 5.服务变动时如何通知订阅的客户端 6.微服务实例信息如何同步集群节点 5.服务变动时如何通知订阅的客户端 (1)服务注册和服务订阅时发布的客户端注册和订阅事件的处理 (2)延迟任务的执行引擎源 ...