UI基础一:值节点赋值
METHOD EH_ONSEARCH.
*CALL METHOD SUPER->EH_ONSEARCH
** EXPORTING
** HTMLB_EVENT =
** HTMLB_EVENT_EX =
* .
DATA:
LR_QUERY_SERVICE TYPE REF TO CL_CRM_BOL_DQUERY_SERVICE,
LR_MESSAGE_SERVICE TYPE REF TO CL_BSP_WD_MESSAGE_SERVICE,
LV_MESSAGE TYPE STRING,
LR_SEL_PARAMS TYPE REF TO IF_BOL_BO_COL,
LR_PARAM TYPE REF TO IF_BOL_BO_PROPERTY_ACCESS,
LR_ITERATOR TYPE REF TO IF_BOL_BO_COL_ITERATOR,
LS_SELECTION TYPE GENILT_SELECTION_PARAMETER,
LT_PARAMS TYPE GENILT_SELECTION_PARAMETER_TAB,
LV_MAX_HITS TYPE I,
LR_VALUENODE TYPE REF TO CL_BSP_WD_VALUE_NODE,
GS_CLAUSE TYPE STRING,
GT_CLAUSE TYPE TABLE OF STRING,
GT_EKKO TYPE TABLE OF EKKO,
GW_EKKO TYPE EKKO.. "获取当前查询节点
LR_QUERY_SERVICE ?= ME->TYPED_CONTEXT->SEARCHQUERYNODE->COLLECTION_WRAPPER->GET_CURRENT( ). "检查查询节点实例化
CHECK LR_QUERY_SERVICE IS BOUND. "清空结果节点内容
ME->TYPED_CONTEXT->SEARCHRESULTNODE->COLLECTION_WRAPPER->CLEAR( ). "获取查询对象
LR_SEL_PARAMS = LR_QUERY_SERVICE->GET_SELECTION_PARAMS( ). "获取最大值
LR_QUERY_SERVICE->GET_PROPERTY_AS_VALUE( EXPORTING IV_ATTR_NAME = 'MAX_HITS'
IMPORTING EV_RESULT = LV_MAX_HITS ). "获取查询对象的BOL迭代器^_^
LR_ITERATOR = LR_SEL_PARAMS->GET_ITERATOR( ). "迭代器循环获取查询对象的值
LR_PARAM = LR_ITERATOR->GET_FIRST( ). "自己做的动态查询拼接
WHILE LR_PARAM IS BOUND.
LR_PARAM->GET_PROPERTIES( IMPORTING ES_ATTRIBUTES = LS_SELECTION ).
IF LS_SELECTION-LOW IS NOT INITIAL OR LS_SELECTION-HIGH IS NOT INITIAL."选择条件有值
IF LS_SELECTION-LOW IS NOT INITIAL AND LS_SELECTION-HIGH IS NOT INITIAL AND LS_SELECTION-OPTION = 'BT'.
CONCATENATE LS_SELECTION-ATTR_NAME 'BETWEEN' LS_SELECTION-LOW 'AND' LS_SELECTION-HIGH INTO GS_CLAUSE SEPARATED BY ' '.
ENDIF.
IF LS_SELECTION-LOW IS NOT INITIAL.
CONCATENATE LS_SELECTION-ATTR_NAME LS_SELECTION-OPTION LS_SELECTION-LOW INTO GS_CLAUSE SEPARATED BY ' '.
ENDIF.
APPEND GS_CLAUSE TO GT_CLAUSE.
ENDIF.
* APPEND LS_SELECTION TO LT_PARAMS.
LR_PARAM = LR_ITERATOR->GET_NEXT( ).
ENDWHILE. "数据查询
SELECT * INTO CORRESPONDING FIELDS OF TABLE GT_EKKO
FROM EKKO WHERE (GT_CLAUSE). DATA: LR_REF_ANY TYPE REF TO DATA,
LR_VALUE_NODE TYPE REF TO CL_BSP_WD_VALUE_NODE.
"值类型转化添加到结果
LOOP AT GT_EKKO INTO GW_EKKO.
GET REFERENCE OF GW_EKKO INTO LR_REF_ANY.
CREATE OBJECT LR_VALUE_NODE
TYPE
CL_BSP_WD_VALUE_NODE
EXPORTING
IV_DATA_REF = LR_REF_ANY. ME->TYPED_CONTEXT->SEARCHRESULTNODE->COLLECTION_WRAPPER->ADD( LR_VALUE_NODE ).
ENDLOOP.
ENDMETHOD.
UI基础一:值节点赋值的更多相关文章
- [前端 2]常用的JQuery和Dom页面取值与赋值
导读:书到用时方恨少,需要基础知识的时候,才悔恨自己没有总结学习好.前段时间调了好长时间的页面,突然发现自己之前不怎么在意的取值和赋值,真的是自己一个很薄弱的地方,有时候查半天都找不到一个对的,现在用 ...
- Android UI基础之五大布局
Android UI基础之五大布局 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Andro ...
- Android UI基础教程 目录
从csdn下载了这本英文版的书之后,又去京东搞了一个中文目录下来.对照着看. 话说,这本书绝对超值.有money的童鞋看完英文版记得去买中文版的~~ Android UI基础教程完整英文版 pdf+源 ...
- UI基础UIButton
UI基础UIButton 前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实 ...
- C# 实体/集合差异比较,比较两个实体或集合值是否一样,将实体2的值动态赋值给实体1(名称一样的属性进行赋值)
/// <summary> /// 实体差异比较器 /// </summary> /// <param name="source">源版本实体& ...
- C# 构造基础返回值类型-BaseResponse
学无止境,精益求精 十年河东,十年河西,莫欺少年穷 用于基础返回值类型,如下: using System; using System.Collections.Generic; using System ...
- jquery select取值,赋值操作
select">jquery select取值,赋值操作 一.获取Select 获取select 选中的 text : $("#ddlRegType").find( ...
- 转发-UI基础教程 – 原生App切图的那些事儿
UI基础教程 – 原生App切图的那些事儿 转发:http://www.shejidaren.com/app-ui-cut-and-slice.html 移动APP切图是UI设计必须学会的一项技能,切 ...
- Python基础0:变量 赋值 表达式和运算符
变量: 前面我们在使用print()输出内容的时候,如果内容很长,后面要再次输出的时候,就需重新在输入一遍. 如果给输出的内容起个简单的别名.这样我们用简短的别名来代替长内容,下次要输出的时候就直接使 ...
随机推荐
- 如何快速获取properties中的配置属性值
本文为博主原创,未经博主允许,不得转载: 在项目中,经常需要将一些配置的常量信息放到properties文件中,这样在项目的配置变动的时候,只需要修改配置文件中 对应的配置常量即可. 在项目应用中,如 ...
- ISE14.7兼容性问题集锦https://www.cnblogs.com/ninghechuan/p/7241371.html
ISE14.7兼容性问题集锦 对于电子工程师来说,很多电路设计仿真软件都是特别大的,安装下来一般都是上G,甚至几十G,而且win7的兼容性也是最好的,不愿意升级win10是因为麻烦,而且没有必要,对于 ...
- 模块、包及常用模块(time/random/os/sys/shutil)
一.模块 模块的本质就是一个.py 文件. 导入和调用模块: import module from module import xx from module.xx.xx import xx as re ...
- HDU 4311 Meeting point-1(曼哈顿距离最小)
http://acm.hdu.edu.cn/showproblem.php?pid=4311 题意:在二维坐标中有n个点,现在要从这n个点中选出一个点,使得其他点到该点的曼哈顿距离总和最小. 思路: ...
- BioConda--转载
1. Conda安装 如BioConda官网[1]所说,BioConda需要Conda安装环境,如果你使用过Anaconda python安装环境,那么你已经有了Conda安装环境,否则,最好的办法是 ...
- Money 20/20 | 未来金融数字化转型:数字化半径与全栈式战略观
小蚂蚁说: 近年来,国际和国内的领先银行纷纷全力投入数字化转型.IDC去年报告说,全球1000大企业里面,67%已经把数字化转型定为企业级战略,而决定数字化转型成功与否的是人的思想改变.我们用数字化半 ...
- Codeforces Round #271 (Div. 2) F. Ant colony 线段树
F. Ant colony time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- IDEA 的Class not found: "..."Empty test suite
Junit测试的时候出现 IDEA 的Class not found: "..."Empty test suite问题. 尝试一下解决方法: 第一种方法: 1.modules&g ...
- [原][osg][QT]osg与QT界面结合的简单例子二
//main.cpp #include "VREObliqueEditorQTWindow.h" #include <QtWidgets/QApplication> # ...
- es6中的find filter 在数组中查找对象
数组的方法find和filter var aa=[{id:1,name:'张三'},{id:2,name:'李四'},{id:3,name:'王五'},{id:2,name:'赵六'}] aa.fin ...