select option是方便用户和数据处理的,就是丑了点。。。

前面使用的input直接做查询条件有哥弊端,就是查询的时候需要判断字段是否有选择条件,然后要将选择条件做成range table。。。有点麻烦

1.select options 组件引入WDA程序

保存,激活。

2.将组件加入使用的视图中

双击视图,选择属性页签,在使用组件表格中点击创建,将组件对应的两个列表加进来

3.在视图的INIT中,初始化SELECT OPTIONS

3.1在视图的Attributes页签中,添加组件对象

GD_HANDLE   typr ref to IF_WD_SELECT_OPTIONS.

3.2在init中初始化

DATA:LO_CP_USAGE  TYPE REF TO IF_WD_COMPONENT_USAGE,
LO_SELECT_OP TYPE REF TO IWCI_WDR_SELECT_OPTIONS,
LT_RANGE TYPE REF TO DATA. "get the component usage
LO_CP_USAGE = WD_THIS->WD_CPUSE_SELECT_OPTION( ).
IF LO_CP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.
LO_CP_USAGE->CREATE_COMPONENT( ).
ENDIF.
"get the select option usage
LO_SELECT_OP = WD_THIS->WD_CPIFC_SELECT_OPTION( ). "init the select option
WD_THIS->GD_HANDLE = LO_SELECT_OP->INIT_SELECTION_SCREEN( ).
WD_THIS->GD_HANDLE->SET_GLOBAL_OPTIONS(
I_DISPLAY_BTN_CANCEL = ABAP_FALSE
I_DISPLAY_BTN_CHECK = ABAP_FALSE
I_DISPLAY_BTN_RESET = ABAP_FALSE
I_DISPLAY_BTN_EXECUTE = ABAP_FALSE ).
"CREATE ONE RANGE TABLE
* LT_RANGE = WD_THIS->GGD_HANDLE->CREATE_RANGE_TABLE( ).
CALL METHOD WD_THIS->GD_HANDLE->CREATE_RANGE_TABLE
EXPORTING
I_TYPENAME = 'BU_PARTNER'
RECEIVING
RT_RANGE_TABLE = WD_THIS->RANGE. "LT_RANGE.
CALL METHOD WD_THIS->GD_HANDLE->ADD_SELECTION_FIELD
EXPORTING
I_ID = 'PARTNER'
* I_WITHIN_BLOCK = MC_ID_MAIN_BLOCK
I_DESCRIPTION = 'Partner'
* I_IS_AUTO_DESCRIPTION = ABAP_TRUE
IT_RESULT = WD_THIS->RANGE "LT_RANGE
* I_OBLIGATORY = ABAP_FALSE "必输
* I_COMPLEX_RESTRICTIONS =
* I_USE_COMPLEX_RESTRICTION = ABAP_FALSE
* I_NO_COMPLEX_RESTRICTIONS = ABAP_FALSE
* I_VALUE_HELP_TYPE = IF_WD_VALUE_HELP_HANDLER=>CO_PREFIX_NONE
* I_VALUE_HELP_ID =
* I_VALUE_HELP_MODE =
* I_VALUE_HELP_STRUCTURE =
* I_VALUE_HELP_STRUCTURE_FIELD =
* I_HELP_REQUEST_HANDLER =
* I_LOWER_CASE =
* I_MEMORY_ID =
* I_NO_EXTENSION = ABAP_FALSE
* I_NO_INTERVALS = ABAP_FALSE
* I_AS_CHECKBOX = ABAP_FALSE
* I_AS_DROPDOWN = ABAP_FALSE
* IT_VALUE_SET =
* I_READ_ONLY = ABAP_FALSE
* I_DONT_CARE_VALUE =
* I_EXPLANATION =
* I_TOOLTIP =
* I_IS_NULLABLE = ABAP_TRUE
* I_FORMAT_PROPERTIES =
* I_SUGGEST_VALUES =
* I_SUGGEST_FILTER_METHOD =
.

效果:

4.在查询得时候取值(其他代码已删除,仅取得RANGE table得代码)

METHOD ONACTIONSEARCH .
DATA:RT_RANGE TYPE REF TO DATA.
FIELD-SYMBOLS:<FS> TYPE TABLE. RT_RANGE = WD_THIS->GD_HANDLE->GET_RANGE_TABLE_OF_SEL_FIELD( I_ID = 'PARTNER' )."此处ID对应上面INIT中的ID
ASSIGN RT_RANGE->* TO <FS>.
ENDMETHOD.

5.在窗口中将SELECT-OPTION组件嵌套视图

WDA基础四:Select-option的使用的更多相关文章

  1. WDA 新SELECT OPTION

    感谢肖总的提示,不然还不知道wda的新select option... 使用前提:SE24类:CL_WDR_SELECT_OPTIONS_20 核对了多个版本,ERP系统版本要S4 1701往上,CR ...

  2. WDA基础十八:Select option配置

    为了省代码...为了方便管理WDA的查询条件... 首先建配置表: 说明: 上面的KEY基本都是维护的维度,可以根据销售组织,根据用户组,根据组件,根据SELECT OPTION的不同...等等,可以 ...

  3. SQL语法基础之SELECT

    SQL语法基础之SELECT 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.SELECT查看帮助信息 1>.查看SELECT命令的帮助信息 mysql> ? SEL ...

  4. jquery获得select option的值 和对select option的操作

    jQuery获取Select元素,并选择的Text和Value: 1. $("#select_id").change(function(){//code...});   //为Se ...

  5. mysql基础篇 - SELECT 语句详解

    基础篇 - SELECT 语句详解         SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...

  6. WDA基础十二:FREE PROGRAM SH (WDA TREE)

    一个需要用TREE展示搜索帮助的需求: 1.创建WDA程序:ZCATEGORY 2.Component Controller中添加节点: (说明,此节点仅在搜索帮助程序中使用,可以不用interfac ...

  7. WDA基础十:OVS搜索帮助的使用

    对于WDA来说,常用的搜索帮助有OVS,标准SH,Interface view等.今天来说说两种常用的OVS的使用: 一:普通字段,表字段的搜索帮助(在创建节点的时候指定搜索帮助OVS,或者后面加上去 ...

  8. WDA基础五:ALV组件的使用

    说明,因为ALV的功能比TABLE强大,所以在很多时候都习惯性的选择ALV显示. ALV是WDA的组件,封装好的,和SELECT OPTION一样.所以使用的方法一般就是:引入组件,初始化组件,数据绑 ...

  9. Django基础四之测试环境和ORM查询

    Django基础四之测试环境和ORM查询 目录 Django基础四之测试环境和ORM查询 1. 搭建测试环境 1.1 测试环境搭建方法: 1.2 使用测试环境对数据库进行CURD 1.3 返回Quer ...

随机推荐

  1. JVM介绍

    1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来 ...

  2. SPA中,Node路由优先级高于React路由

    一.问题描述 在一场面试中,面试官问到了React和Node路由之间的关系. 现在SPA(单页面应用)的使用越来越广. Node(后台)和React(前端)都有自己的路由,当我页面访问一个URL的时候 ...

  3. Appium-desktop的下载&安装

    下载地址: http://appium.io/ 选择版本 双击安装

  4. 解决UnicodeEncodeError: 'gbk' codec can't encode character u'\u25aa' in position 344 : illegal multiby

    Python拿来做爬虫的确很不错,但是字符串的编码的确是稍不留神就是一个坑,GBK编码和Unicode编码的转化出现问题也是很多的,今天在解析网页数据的时候出现上述错误,解决方案如下: one_str ...

  5. Python day1_Base1笔记

    1.helloworld print('helloword') 2.输入输出 a=input('Please input a value') print(a) 3.标识符 1.由字母数字下划线构成 2 ...

  6. Token和SessionStorage(会话存储对象)

    sessionStorage数据只在当前标签页共享 存在本地   关闭浏览器后会清除数据(关闭标签页不会清楚) localStorage数据会存在浏览器中  浏览器关了数据也还在 只有清除缓存才会消失 ...

  7. d3 parse字符串形式的xml svg and append to element

    参考这个方法,但不想修改d3 https://gist.github.com/biovisualize/373c6216b5634327099a 虽然也绕了点弯,但还算很快了,比较满意,也学到了,记下 ...

  8. Python pymysql 增删改查封装

    关于pymysql 的增删改查,简单做个封装,方便后面使用直接拿来调用即可. 其中 增删改 的处理其实是一致的,本可以使用统一的方法,但是为了明显区分,这里分开来写了. 直接看代码就即可,如下: # ...

  9. c# 7.0 学习笔记

    refer : https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7 out 可以写在里面了 // int result ...

  10. 拒绝采样 Rejection Sampling

    2018-12-09 16:40:30 一.使用Rand7()来生成Rand10() 问题描述: 问题求解: 这个问题字节跳动算法岗面试有问到类似的,有rand6,求rand8,我想了好久,最后给了一 ...