使用Select Options查询首先要得到Select Options的值
method onactionsearch .
************************************************************************
* 按 select options 条件查询
* search 是事件名称 onaction是系统自动在事件名前加的作为方法名
* 建议尽量使用 in ranges 查询
************************************************************************
* 定义存储 select options 查询数据的 range table
data: lt_r_form_app_tp type range of zcdm_form_app_tp, " 单据类型
lw_r_form_app_tp like line of lt_r_form_app_tp.
data: lt_r_app_topic_cd type range of zcdm_app_topic_cd, " 申请号
lw_r_app_topic_cd like line of lt_r_app_topic_cd.
data: lt_r_topic_type type range of zcdm_type_number, " 重点选题类型
lw_r_topic_type like line of lt_r_topic_type.
data: lt_r_topic_level type range of zcdm_topic_level, " 选题级别
lw_r_topic_level like line of lt_r_topic_level.
data: lt_r_app_status type range of zcdm_app_status, " 审批状态
lw_r_app_status like line of lt_r_app_status.
data: lt_r_topic_name type range of zcdm_topic_name, " 选题名称
lw_r_topic_name like line of lt_r_topic_name.
data: lt_r_apdat type range of zcdm_apdat, " 申报日期
lw_r_apdat like line of lt_r_apdat.
* 定义获取 select options 查询数据的 data 类型数据
data: lr_range_table type ref to data,
lr_parameter type ref to data.
* 定义分配 data 类型数据值的 field symbols ,like range table
field-symbols: <fs_form_app_tp> like lt_r_form_app_tp,
<fs_topic_cd> like lt_r_app_topic_cd,
<fs_topic_type> like lt_r_topic_type,
<fs_topic_level> like lt_r_topic_level,
<fs_app_status> like lt_r_app_status,
<fs_topic_name> like lt_r_topic_name,
<fs_apdat> like lt_r_apdat.
data lo_nd_t_cot_form type ref to if_wd_context_node.
data lo_el_t_cot_form type ref to if_wd_context_element.
data ls_t_cot_form type wd_this->element_t_cot_form.
data lt_t_cot_form type wd_this->elements_t_cot_form.
data: index type i.
* navigate from <CONTEXT> to <T_COT_FORM> via lead selection
lo_nd_t_cot_form = wd_context->get_child_node(
name = wd_this->wdctx_t_cot_form ).
* 获取单据类型值
call method wd_this->select_options->get_range_table_of_sel_field
exporting
i_id = 'APP_TP'
receiving
rt_range_table = lr_range_table.
assign lr_range_table->* to <fs_form_app_tp>.
append lines of <fs_form_app_tp> to lt_r_form_app_tp.
unassign <fs_form_app_tp>.
* 获取申请号值
call method wd_this->select_options->get_range_table_of_sel_field
exporting
i_id = 'APP_CD'
receiving
rt_range_table = lr_range_table.
assign lr_range_table->* to <fs_topic_cd>.
append lines of <fs_topic_cd> to lt_r_app_topic_cd.
unassign <fs_topic_cd>.
* 获取选题类型值
call method wd_this->select_options->get_range_table_of_sel_field
exporting
i_id = 'TOP_TP'
receiving
rt_range_table = lr_range_table.
assign lr_range_table->* to <fs_topic_type>.
append lines of <fs_topic_type> to lt_r_topic_type.
unassign <fs_topic_type>.
* 获取选题级别值
call method wd_this->select_options->get_range_table_of_sel_field
exporting
i_id = 'TOP_LE'
receiving
rt_range_table = lr_range_table.
assign lr_range_table->* to <fs_topic_level>.
append lines of <fs_topic_level> to lt_r_topic_level.
unassign <fs_topic_level>.
* 获取选题名称值
call method wd_this->select_options->get_range_table_of_sel_field
exporting
i_id = 'TOP_NM'
receiving
rt_range_table = lr_range_table.
assign lr_range_table->* to <fs_topic_name>.
append lines of <fs_topic_name> to lt_r_topic_name.
unassign <fs_topic_name>.
* 获取审批状态值
call method wd_this->select_options->get_range_table_of_sel_field
exporting
i_id = 'APP_STA'
receiving
rt_range_table = lr_range_table.
assign lr_range_table->* to <fs_app_status>.
append lines of <fs_app_status> to lt_r_app_status.
unassign <fs_app_status>.
* 获取选题名称值
call method wd_this->select_options->get_range_table_of_sel_field
exporting
i_id = 'APDAT'
receiving
rt_range_table = lr_range_table.
assign lr_range_table->* to <fs_apdat>.
append lines of <fs_apdat> to lt_r_apdat.
unassign <fs_apdat>.
* 查询符合条件的重点选题计划单据
select *
into corresponding fields of table lt_t_cot_form
from zcdm_t_cot_form
where z_form_app_tp in lt_r_form_app_tp
and z_app_topic_cd in lt_r_app_topic_cd
and z_topic_type in lt_r_topic_type
and z_topic_name in lt_r_topic_name
and z_app_status in lt_r_app_status
and z_apdat in lt_r_apdat
and z_crusr = sy-uname.
* 不同审批状态有不同button
loop at lt_t_cot_form into ls_t_cot_form.
index = sy-tabix.
if ls_t_cot_form-z_app_status = '10'. " 未通过
* 设置button1
ls_t_cot_form-visible1 = '02'.
ls_t_cot_form-image1 = 'ICON_SYSTEM_COPY'.
ls_t_cot_form-text1 = '复制'.
* 设置button2
ls_t_cot_form-visible2 = '01'.
ls_t_cot_form-image2 = ''.
ls_t_cot_form-text2 = ''.
elseif ls_t_cot_form-z_app_status = '30'. " 未提交
* 设置button1
ls_t_cot_form-visible1 = '02'.
ls_t_cot_form-image1 = 'ICON_CHANGE'.
ls_t_cot_form-text1 = '修改'.
* 设置button2
ls_t_cot_form-visible2 = '02'.
ls_t_cot_form-image2 = 'ICON_DELETE'.
ls_t_cot_form-text2 = '删除'.
else. " 审批中;已通过
* 设置button1
ls_t_cot_form-visible1 = '01'.
ls_t_cot_form-image1 = ''.
ls_t_cot_form-text1 = ''.
* 设置button2
ls_t_cot_form-visible2 = '01'.
ls_t_cot_form-image2 = ''.
ls_t_cot_form-text2 = ''.
endif.
modify lt_t_cot_form from ls_t_cot_form index index.
clear: ls_t_cot_form , index.
endloop.
* 绑定结果到节点
lo_nd_t_cot_form->bind_table( lt_t_cot_form ).
clear lt_t_cot_form.
lo_nd_t_cot_form->get_static_attributes_table(
importing
table = lt_t_cot_form ).
endmethod.
分享到:
相关推荐
if_wd_select_options接口用于在Web Dynpro ABAP中实现select options功能,可以通过创建select options对象并设置各种选项来管理select options的全局设置。 11. 实现ONACTIONSEARCH事件 在本例中,...
在IT行业中,网络编程是构建分布式系统和网络应用的基础,而`Select`网络编程接口是其中一种关键的异步I/O模型。本篇文章将深入探讨`Select`在多线程环境下的应用,以及如何通过它优化`HelloSocket`结构,以实现更...
标题中的“WD3200BEVT原始固件”指的是西部数据(Western Digital)生产的一款型号为WD3200BEVT的硬盘的原始固件。固件是存储在硬盘内部微控制器上的程序,它控制硬盘的所有操作,包括读取、写入数据,错误校验,...
在“Attributes”标签下,添加以下属性:M_HANDLER、IF_WD_SELECT_OPTION、I_WD_SELECT_OPTION、IWCI_WDR_SELECT_OPTIONS。这些属性用于定义 Select-Option 组件的行为。 在“Methods”标签下,可以看到许多自带的...
"WD DISCOVERY 官方版" 指的是西部数据(WD)推出的WD Discovery软件的官方版本。WD Discovery是一款专为西部数据硬盘用户设计的管理工具,它集成了多种功能,帮助用户轻松管理和优化他们的WD存储设备。 **描述分析...
**西部数据WD SES Device Driver详解** 西部数据(WD)的SES Device Driver是一款专门针对WD品牌的移动硬盘设备设计的驱动程序。这款驱动的核心功能是确保计算机能够正确识别并有效管理WD SES(Self-Encrypted ...
"最新 wd ses device usb device" 是一款针对西部数据(WD)特定硬件设备的USB驱动程序,主要用于连接和管理WD SES Device(Serial Attached SCSI Enclosure Services Device),这通常指的是西部数据的外置硬盘或...
"WD硬盘修复工具(WD Pro Tool) V5.0绿色特别版" 是一款专门针对西部数据(WD)品牌的硬盘设计的修复工具。"V5.0"代表这是该工具的第五个主要版本,通常意味着它包含了一些更新、改进和可能的新功能。"绿色特别版...
"WD Smartware Pro Free Trial" 是一个针对西部数据(WD)硬盘用户的备份软件的试用版本。WD Smartware Pro 是一款专业级别的数据保护解决方案,它为用户提供了简单、直观的方式来备份和恢复他们的数据。"Free Trial...
1. **WDR_SELECT_OPTIONS**:用于实现 SELECT-OPTIONS 的功能,帮助用户设置查询条件。 2. **SALV_WD_TABLE**:这是 SAP 提供的一个用于创建 Web Dynpro 应用中的 ALV 控件的组件。 #### 三、实现步骤 ##### 步骤1...
本文将深入探讨“WDC WD5000AAKX WD-1590通用刷机固件”的相关知识,帮助读者理解固件更新的重要性和具体操作流程。 西部数据(WDC)的WD5000AAKX是一款500GB的硬盘,广泛应用于台式机和服务器。WD-1590通常指的是...
在本案例中,我们关注的是西部数据(WD)WD3200BEVT硬盘的固件版本 -00A0RT0 01.01A01。这个固件版本对应于特定的硬盘序列号WD-WXR1EB0XJK87。下面将详细介绍固件的重要性和更新固件的过程。 固件的作用: 1. **...
"WD Data Lifeguard Diagnostics中文版" 是一款专为西部数据(WD)硬盘设计的数据保护和诊断工具的中文版本。这个工具旨在帮助用户检查和测试他们的WD硬盘的健康状况,提前发现并解决可能存在的问题,确保数据的安全...
标题中的“WD硬盘使用时间清零工具.zip”指的是一个专门针对西部数据(WD)品牌的硬盘设计的软件工具,它的主要功能是重置硬盘的使用时间。在计算机硬件领域,硬盘的使用时间通常由SMART(Self-Monitoring, Analysis...
airmate艾美特WD22-R16 WD22-R16P-1 WD22-R16P-2 WD22-R16P-3 说明书.pdf
标题和描述中提到的"WDC WD5000AAKX-22ERMA0-17.01H17-WD-WCC2EN695548-0005000D"是一款由西部数据(Western Digital)生产的硬盘型号,通常称为WD5000AAKX,容量为500GB。这个特定的硬盘型号在行业中被广泛使用,...
### wd网络硬盘使用说明 WD(Western Digital)网络硬盘是一种基于网络存储技术的产品,它能够为用户提供便捷的数据存储与共享服务。本篇文章将详细介绍WD网络硬盘的使用方法及相关知识点。 #### 1. WD网络硬盘...
标题中的“WD4500HLHX硬盘固件”指的是西部数据(Western Digital)生产的一款型号为WD4500HLHX的硬盘所使用的固件。固件是存储在硬件设备内部的一组控制程序,它定义了设备的操作方式和功能,对于硬盘来说,固件...
wd ses device usb device 西部数据 移动硬盘 驱动 wd ses device usb device 西部数据 移动硬盘 驱动 wd ses device usb device 西部数据 移动硬盘 驱动