Web Dynpro for ABAP SELECT OPTIONS
来源:互联网 发布:数据库的数据模型 编辑:程序博客网 时间:2024/04/28 21:17
先看一下效果。
创建Web Dynpro组件ZTEST_SAM_SELECT。
引用WDR_SELECT_OPTIONS组件
在View的属性中添加selectoptions
/
在layout中添加按钮和ViewContainerUIElement
嵌入SELECT OPTIONS视图
设置SELECT_SCREEN
在MAIN view中methods的WDDOINIT方法中添加如下打码
METHOD wddoinit .
DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.
lo_cmp_usage = wd_this->wd_cpuse_select_options( ).
IF lo_cmp_usage->has_active_component( ) IS INITIAL.
lo_cmp_usage->create_component( ).
ELSE.
EXIT.
ENDIF.
*---选择屏幕的引用
DATA lo_interfacecontroller TYPE REF TO iwci_wdr_select_options .
lo_interfacecontroller = wd_this->wd_cpifc_select_options( ).
"修改SELECT_OPTIONS
wd_this->m_handler = lo_interfacecontroller->init_selection_screen( ).
*---设置全局信息
CALL METHOD wd_this->m_handler->set_global_options
EXPORTING
i_display_btn_cancel = abap_false
i_display_btn_check = abap_false
i_display_btn_reset = abap_false
i_display_btn_execute = abap_false.
DATA: lr_field TYPE REF TO data.
DEFINE mcr_sel.
free lr_field.
lr_field = wd_this->m_handler->create_range_table( &1 ).
wd_this->m_handler->add_selection_field(
i_id = &1
i_description = &2
it_result = lr_field
i_read_only = &3 ).
END-OF-DEFINITION.
mcr_sel 'MATNR' '物料编码' abap_false.
mcr_sel 'MATKL' '物料组' abap_false.
ENDMETHOD.
添加context和Table显示数据
、
查询和显示数据
在Button的ACTION中添加如下代码
METHOD onactionact_search .
*获取SELECT OPTIONS
FIELD-SYMBOLS: <fs_matnr> TYPE ANY TABLE,
<fs_matkl> TYPE ANY TABLE.
DATA lv_matnr TYPE matnr . "屏幕上输入的
DATA lv_matkl TYPE matkl . "屏幕上输入的
DATA:lo_data TYPE REF TO data.
FREE lo_data.
lo_data = wd_this->m_handler->get_range_table_of_sel_field( 'MATNR' ).
ASSIGN lo_data->* TO <fs_matnr>.
FREE lo_data.
lo_data = wd_this->m_handler->get_range_table_of_sel_field( 'MATKL' ).
ASSIGN lo_data->* TO <fs_matkl>.
*数据绑定
DATA lo_nd_lt_mara TYPE REF TO if_wd_context_node.
DATA lt_lt_mara TYPE wd_this->elements_lt_mara.
lo_nd_lt_mara = wd_context->get_child_node( name = wd_this->wdctx_lt_mara ).
SELECT * INTO TABLE lt_lt_mara FROM mara WHERE matnr IN <fs_matnr> AND matkl IN <fs_matkl>.
lo_nd_lt_mara->bind_table( new_items = lt_lt_mara set_initial_elements = abap_true ).
ENDMETHOD.
然后就可以测试了。
附:
获取设置节点和元素
data:lo_nd type ref to if_wd_context_node,
lo_el type ref to if_wd_context_element.
data:gt_rfq type wd_this->elements_gt_rfq,
ga_rfq type wd_this->element_gt_rfq.
* data:lv_sptyp type zsptyp.
data:ga_head type wd_this->element_zs_head.
define get_node.
free: lo_nd,lo_el.
lo_nd = wd_context->get_child_node( &1 ).
lo_el = lo_nd->get_element( ).
lo_el->get_static_attributes( importing static_attributes = &2 ).
end-of-definition.
define set_node.
free: lo_nd,lo_el.
lo_nd = wd_context->get_child_node( &1 ).
lo_el = lo_nd->get_element( ).
lo_el->set_static_attributes( exporting static_attributes = &2 ).
end-of-definition.
define get_node_table.
free: lo_nd,lo_el.
lo_nd = wd_context->get_child_node( &1 ).
lo_nd->get_static_attributes_table( importing table = &2 ).
end-of-definition.
define set_node_table.
free: lo_nd,lo_el.
lo_nd = wd_context->get_child_node( &1 ).
lo_nd->bind_table( &2 ).
end-of-definition.
get_node_table: 'GT_RFQ' gt_rfq.
- Web Dynpro for ABAP SELECT OPTIONS
- web dynpro for abap
- web dynpro for abap 基础知识
- Web dynpro的SELECT-OPTIONS做成方法
- Web Dynpro for ABAP:URL of a Web Dynpro Application
- web dynpro for abap基础知识(2)
- web dynpro for abap bapi的使用
- web dynpro for abap 基础知识(一)
- web dynpro for abap 基础知识(二)
- web dynpro for abap基础知识(三)
- web dynpro for abap基础知识(四)
- SAP web dynpro for abap 环境配置
- Web dynpro for ABAP ALV 相关知识
- Web Dynpro for ABAP 之 Web Dynpro Window& Web Dynpro Application
- Web Dynpro ABAP Configuration
- Web Dynpro ABAP Configuration
- 个人收藏 Totals and Subtotals in ALV Web Dynpro (Web Dynpro for ABAP)
- web dynpro for abap基础知识(3)(转)
- 对象访问分析
- 重载自家运算符的执行次序
- Java之美[从菜鸟到高手演变]之设计模式二
- Visual C++ 工程文件显示红杠杠且编译或链接不过原因
- Android 利用invalidate 函数与onDraw 事件来实现绘图动画
- Web Dynpro for ABAP SELECT OPTIONS
- 显示模式对话框实例
- android中contentProvider初步学习
- 字符串流的应用(stringstream\ istringstream ostringstream)
- android sharedUserId对程序升级的影响
- 今天遇到Android2.3.3能运行的程序到android4.0中无法运行的情况—对于追求完美的我怎么能忍受
- 导入的Android 项目没有Android的jar包
- Eclipse调试总结
- ubuntu下安装QT的第三方库qwt