wda学习积累案例21.select option ver.1_第1页
wda学习积累案例21.select option ver.1_第2页
wda学习积累案例21.select option ver.1_第3页
wda学习积累案例21.select option ver.1_第4页
wda学习积累案例21.select option ver.1_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、案例 21:Select Option 总结基本信息:修改:版本版本作者创建日期备注1.02011-06-06版本1.0创建时间2011 年 06 月 06 日作者SAP 版本ECC6 EHP4文档状态(草稿)最后修改者最后修改时间2011 年 06 月 06 日关键字Select Option目录基本信息:1修改一、二、三、四、五、六、七、:.1场景描述3应用范围3关键知识错误!未定义书签。开发步骤补充3要点说明9深入学习资料.9相似实例补充9一、场景描述在 ABAP 写的普通 Report 中会使用大量的 Parameter、SELECT-OPTIONS 来作为选择条件参数的输入,使用系统

2、提供的关键字 Parameter、SELECT-OPTIONS 即可,但 Web Dynpro 中没有 SELECT-OPTIONS 的关键字,需要添加控件并在控件中加入选择字段的参数才可以实现。具体实现方法如下。二、关键知识添加 select-option 的组件 WDR_SELECT_OPTIONS 到属性中,否则后面无法时候 select-option的方法。三、 应用范围运用范围较广,如查询报表、功能开发等大量的简单或功能复杂的功能开发中都会用到,并且比较实用。四、开发步骤补充1.首先在WebDynpro 组件中添加 SELECT_OPTION 的组件 WDR_SELECT_OPTIO

3、NS。2.然后再需要使用SELECT-OPTION 的视图中增加SELECT_OPTION 的控件对应的Component Use 如图。3.创建查询结果要用到的 Context 举例如果需要查询采购订单行项目的信息,那么我们创建 Context EKPO,节点的属性设置为 0.n。然后绑定到界面上的 Table 中,可以根据选择条件查询出数据以后在列表中显示。4. 在屏幕上添加选择字段的方法,先在视图中添加一个视图容器的控件,用于显示动态生成的选择屏幕。按钮用于的点击事件中先取得 Select Option 的值,然后根据 Select Option的值从 EKKO 和 EKPO 中取的数据

4、并绑定到显示的 Table 中。在初始化事件中添加选择屏幕需要显示的字段。Select Option 控件会根据给定的参数在页面初始化的时候自动生成选择屏幕。这个是用到了组件的重用。5.lo_select_op type ref to iwci_wdr_select_options,s_ebeln type ref to data,s_bsart type ref to data,s_lifnr type ref to data,s_aedat type ref to data,s_ernam type ref to data. lo_cp_usage = wd_this-wd_cpuse_s

5、elect_options( ). if lo_cp_usage-ponent( ) is initial.lo_cp_usage-ponent( ). endif. lo_select_op = wd_this-wd_cpifc_select_options( ). wd_this-go_handler = lo_select_op-init_selection_screen( ). wd_this-go_handler-set_global_options( i_display_btn_cancel = abap_falsei_display_btn_check = abap_fal se

6、i_display_btn_reset = aba p_falsei_display_btn_execute = abap_f alse ).* create one range table s_ebeln = wd_this-go_handler-create_range_table( i_typename = EBELN ). s_bsart = wd_this-go_handler-create_range_table( i_typename = BSART ).data: lo_cp_usage type ref toponent_usage,6.在按钮的 OnAction 事件中需要

7、得到选择屏幕输入的数据是什么,可以通过自定义的方法:select*wd_this-get_select_options( exporting id = S_EBELN importings_table = s_ebeln ).wd_this-get_select_options( exporting id = S_BSART importings_table = s_bsart ).wd_this-get_select_options( exporting id = S_LIFNR importings_table = s_lifnr ).wd_this-get_select_options(

8、 exporting id = S_AEDAT importings_table = s_aedat ).wd_this-get_select_options( exporting id = S_ERNAM importings_table = s_ernam ).wd_this-get_select_options。然后从 EKKO、EKPO 中取数,将结果绑定到 ContextEKPO。data lo_nd_ekpo type ref to if_wd_context_node.data: lt_ekpo type wd_this-elements_ekpo,s_ebeln type ra

9、nge of ebeln,s_bsart type range of bsart,s_lifnr type range of lifnr,s_aedat type range of aedat,s_ernam type range of ernam.s_lifnr = wd_this-go_handler-create_range_table( i_typename =LIFNR ).s_aedat = wd_this-go_handler-create_range_table( i_typename =AEDAT ).s_ernam = wd_this-go_handler-create_r

10、ange_table( i_typename =ERNAM ).* add the fieldwd_this-go_handler-add_selection_field( i_id = S_EBELN it_result = s_ebeln ).wd_this-go_handler-add_selection_field( i_id = S_BSART it_result = s_bsart ).wd_this-go_handler-add_selection_field( i_id = S_LIFNR it_result = s_lifnr ).wd_this-go_handler-add

11、_selection_field( i_id = S_AEDAT it_result = s_aedat ).wd_this-go_handler-add_selection_field( i_id = S_ERNAM it_result = s_ernam ).join ekko on ekpoebeln = ekkoebelnwhere ekpoebeln in s_ebelnand bsart in s_bsartand lifnr in s_lifnrand ekkoaedat in s_aedatand ekkoernam in s_ernam. lo_nd_ekpo = wd_co

12、ntext-get_child_node( name = wd_this-wdctx_e kpo ). lo_nd_ekpo-bind_table( new_items = lt_eket_initial_elements = abap_true ).取得选择界面值的方法 GET_SELECT_OPTIONS 的代码如下。 data: lt_table type ref to data. field-symbols: type table. lt_table = wd_this-go_handler-get_range_table_of_sel_field( i_ id = id ). ass

13、ign lt_table-* to .7. s_table = .选择界面的使用和操作。8.from ekpoo corresponding fields of table lt_ekpo查询结果资料补充:方法: 在视图的 Attributes 中添加:go_handlerIF_WD_SELECT_OPTIONSGo_handler在窗口的 Window 界面,还要在 container 中再嵌套一个 WND_SELECTION_SCREEN五、要点说明在WebDynpro 的组件和需要使用的视图属性中都要添加 Select-option 的控件或Component use 否则在视图的方法中无法使用创建和取

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论