`
xiaohuicn
  • 浏览: 3016 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

WD4A Select Options 查询

 
阅读更多

使用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.

 

分享到:
评论

相关推荐

    web dynpro alv实例(含select options)

    if_wd_select_options接口用于在Web Dynpro ABAP中实现select options功能,可以通过创建select options对象并设置各种选项来管理select options的全局设置。 11. 实现ONACTIONSEARCH事件 在本例中,...

    HelloSocket结构优化版本_needs9wd_Select网络编程接口学习_

    在IT行业中,网络编程是构建分布式系统和网络应用的基础,而`Select`网络编程接口是其中一种关键的异步I/O模型。本篇文章将深入探讨`Select`在多线程环境下的应用,以及如何通过它优化`HelloSocket`结构,以实现更...

    WD3200BEVT原始固件

    标题中的“WD3200BEVT原始固件”指的是西部数据(Western Digital)生产的一款型号为WD3200BEVT的硬盘的原始固件。固件是存储在硬盘内部微控制器上的程序,它控制硬盘的所有操作,包括读取、写入数据,错误校验,...

    4、Webdynpro入门之Select-Option【原创】

    在“Attributes”标签下,添加以下属性:M_HANDLER、IF_WD_SELECT_OPTION、I_WD_SELECT_OPTION、IWCI_WDR_SELECT_OPTIONS。这些属性用于定义 Select-Option 组件的行为。 在“Methods”标签下,可以看到许多自带的...

    WD DISCOVERY 官方版

    "WD DISCOVERY 官方版" 指的是西部数据(WD)推出的WD Discovery软件的官方版本。WD Discovery是一款专为西部数据硬盘用户设计的管理工具,它集成了多种功能,帮助用户轻松管理和优化他们的WD存储设备。 **描述分析...

    西数WD SES Device Driver

    **西部数据WD SES Device Driver详解** 西部数据(WD)的SES Device Driver是一款专门针对WD品牌的移动硬盘设备设计的驱动程序。这款驱动的核心功能是确保计算机能够正确识别并有效管理WD SES(Self-Encrypted ...

    最新 wd ses device usb device

    "最新 wd ses device usb device" 是一款针对西部数据(WD)特定硬件设备的USB驱动程序,主要用于连接和管理WD SES Device(Serial Attached SCSI Enclosure Services Device),这通常指的是西部数据的外置硬盘或...

    WD硬盘修复工具(WD Pro Tool) V5.0绿色特别版

    "WD硬盘修复工具(WD Pro Tool) V5.0绿色特别版" 是一款专门针对西部数据(WD)品牌的硬盘设计的修复工具。"V5.0"代表这是该工具的第五个主要版本,通常意味着它包含了一些更新、改进和可能的新功能。"绿色特别版...

    WD Smartware Pro Free Trial

    "WD Smartware Pro Free Trial" 是一个针对西部数据(WD)硬盘用户的备份软件的试用版本。WD Smartware Pro 是一款专业级别的数据保护解决方案,它为用户提供了简单、直观的方式来备份和恢复他们的数据。"Free Trial...

    Web Dynpro ALV控件使用.docx

    1. **WDR_SELECT_OPTIONS**:用于实现 SELECT-OPTIONS 的功能,帮助用户设置查询条件。 2. **SALV_WD_TABLE**:这是 SAP 提供的一个用于创建 Web Dynpro 应用中的 ALV 控件的组件。 #### 三、实现步骤 ##### 步骤1...

    WDC WD5000AAKX WD-1590通用刷机固件 完美

    本文将深入探讨“WDC WD5000AAKX WD-1590通用刷机固件”的相关知识,帮助读者理解固件更新的重要性和具体操作流程。 西部数据(WDC)的WD5000AAKX是一款500GB的硬盘,广泛应用于台式机和服务器。WD-1590通常指的是...

    西数WD3200BEVT固件 -00A0RT0 01.01A01 WD-WXR1EB0XJK87

    在本案例中,我们关注的是西部数据(WD)WD3200BEVT硬盘的固件版本 -00A0RT0 01.01A01。这个固件版本对应于特定的硬盘序列号WD-WXR1EB0XJK87。下面将详细介绍固件的重要性和更新固件的过程。 固件的作用: 1. **...

    WD Data Lifeguard Diagnostics中文版

    "WD Data Lifeguard Diagnostics中文版" 是一款专为西部数据(WD)硬盘设计的数据保护和诊断工具的中文版本。这个工具旨在帮助用户检查和测试他们的WD硬盘的健康状况,提前发现并解决可能存在的问题,确保数据的安全...

    WD硬盘使用时间清零工具.zip

    标题中的“WD硬盘使用时间清零工具.zip”指的是一个专门针对西部数据(WD)品牌的硬盘设计的软件工具,它的主要功能是重置硬盘的使用时间。在计算机硬件领域,硬盘的使用时间通常由SMART(Self-Monitoring, Analysis...

    airmate艾美特WD22-R16 WD22-R16P-1 WD22-R16P-2 WD22-R16P-3 说明书.pdf

    airmate艾美特WD22-R16 WD22-R16P-1 WD22-R16P-2 WD22-R16P-3 说明书.pdf

    WDC WD5000AAKX-22ERMA0-17.01H17-WD-WCC2EN695548-0005000D

    标题和描述中提到的"WDC WD5000AAKX-22ERMA0-17.01H17-WD-WCC2EN695548-0005000D"是一款由西部数据(Western Digital)生产的硬盘型号,通常称为WD5000AAKX,容量为500GB。这个特定的硬盘型号在行业中被广泛使用,...

    wd网络硬盘使用说明

    ### wd网络硬盘使用说明 WD(Western Digital)网络硬盘是一种基于网络存储技术的产品,它能够为用户提供便捷的数据存储与共享服务。本篇文章将详细介绍WD网络硬盘的使用方法及相关知识点。 #### 1. WD网络硬盘...

    WD4500HLHX硬盘固件

    标题中的“WD4500HLHX硬盘固件”指的是西部数据(Western Digital)生产的一款型号为WD4500HLHX的硬盘所使用的固件。固件是存储在硬件设备内部的一组控制程序,它定义了设备的操作方式和功能,对于硬盘来说,固件...

    wd ses device usb device 西部数据移动硬盘 驱动下载

    wd ses device usb device 西部数据 移动硬盘 驱动 wd ses device usb device 西部数据 移动硬盘 驱动 wd ses device usb device 西部数据 移动硬盘 驱动

Global site tag (gtag.js) - Google Analytics