web webdynproo怎么写查询条件

开发alv的时候需要1、在web dynpro组件下面 的已使用的组件中添加ALV组件 SALV_WD_TABLE
2、在组件控制器的属性下面创建ALV组件SALV_WD_TABLE
3、在视图界面的属性下面也要添加ALV组件SALV_WD_TABLE
4、在视图界面下定义控件ViewContainerUIElement名称是UCV_ALV
5、在窗口下面的视图下面UCV_ALV下面嵌套选择ALV 的TABLE
6、定义节点.
7、页面加载事件WDDOMODIFYVIEW下面绑定ALV控件:
DATA: dyn_node TYPE REF TO if_wd_context_node.
dyn_node = wd_context-&get_child_node( name = 'LT_SFLIGHT' ).
DATA: lo_interfacecontroller type ref to iwci_salv_wd_table.
lo_interfacecontroller = wd_this-&wd_cpifc_alv( ). "在视图中添加ALV组件才会生成此wd_cpifc_alv方法
lo_interfacecontroller-&set_data( dyn_node ).
8、执行SEARCH按钮事件
DATA lo_nd_lt_sflight TYPE REF TO if_wd_context_node.
DATA lo_el_lt_sflight TYPE REF TO if_wd_context_element.
DATA ls_lt_sflight TYPE wd_this-&Element_lt_sflight.
DATA lt_lt_sflight TYPE wd_this-&Elements_lt_sflight.
lo_nd_lt_sflight = wd_context-&get_child_node( name = wd_this-&wdctx_lt_sflight ).
SELECT * INTO TABLE lt_lt_sflight from sflight UP TO 10 ROWS. "NEW_ITEMS
BIND_TABLE
SET_INITIAL_ELEMENTS
lo_nd_lt_sflight-&BIND_TABLE(
NEW_ITEMS = lt_lt_sflight
SET_INITIAL_ELEMENTS = ABAP_FALSE ).
9、执行效果
&更新:可以忽视以上的操作,主要有以下三点
& & & & &1、需要在组件控制器和视图控制器上加入ALV组件&SALV_WD_TABLE
& & & & &2、需要把需要展示的数据节点设置成全局节点,还需要把该全局节点传输到alv组件下节点的DATA节点中去,方法是在alv组件下的上下文菜单下点击控制器的用法,然后映射全局节点至DATA节点下。
& & & & 3、在视图控制器下的outbound plugs下创建输出plug name,然后打开窗口控制器,在ALV容器元素组件下添加alv视图TABLE,把在视图下创建的输出plug name和该alv的table视图下的default连接。因为一个视图下可能会指向多个alv容器。
阅读(...) 评论()Web Dynpro
具体实现方法可参照WDR_TEST_POPUP_3_BUTTONS
需要特别说明的是:
对话框选择完成后执行的事件是:WDDOAFTERACTION
METHOD&WDDOAFTERACTION&.
&&DATA&SET&TYPE&&WDR_CONTEXT_ELEMENT_SET.
&&DATA&LO_ND_USERNODE&TYPE&REF&TO&IF_WD_CONTEXT_NODE.
&&DATA&LS_ND_USERNODE&TYPE&REF&TO&IF_WD_CONTEXT_ELEMENT.
&&DATA&LS_USERNODE&TYPE&WD_THIS-&ELEMENT_USERNODE.
&&DATA&LT_USERNODE&TYPE&WD_THIS-&ELEMENTS_USERNODE.
&&DATA:&E_TYPE&TYPE&&BAPI_MTYPE,
&&&&&&&&E_MESSG&&TYPE&&BAPI_MSG.
&&DATA:&LT_ROLDIST&TYPE&TABLE&OF&ZYBT_ROLDIST,
&&&&&&&&LS_ROLDIST&TYPE&ZYBT_ROLDIST.
&&DATA&LO_ND_POP&TYPE&REF&TO&IF_WD_CONTEXT_NODE.
&&DATA&LO_EL_POP&TYPE&REF&TO&IF_WD_CONTEXT_ELEMENT.
&&DATA&LS_POP&TYPE&WD_THIS-&ELEMENT_POP.
***初始化消息
*&get&message&manager
&&DATA&LO_API_CONTROLLER&&&&&TYPE&REF&TO&IF_WD_CONTROLLER.
&&DATA&LO_MESSAGE_MANAGER&&&&TYPE&REF&TO&IF_WD_MESSAGE_MANAGER.
&&LO_API_CONTROLLER&?=&WD_THIS-&WD_GET_API(&).
&&CALL&METHOD&LO_API_CONTROLLER-&GET_MESSAGE_MANAGER
&&&&RECEIVING
&&&&&&MESSAGE_MANAGER&=&LO_MESSAGE_MANAGER.
***取得对话框返回值******
*&navigate&from&&CONTEXT&&to&&POP&&via&lead&selection
&&LO_ND_POP&=&WD_CONTEXT-&GET_CHILD_NODE(&NAME&=&WD_THIS-&WDCTX_POP&).
*&get&element&via&lead&selection
&&LO_EL_POP&=&LO_ND_POP-&GET_ELEMENT(&).
*&@TODO&handle&not&set&lead&selection
&&IF&LO_EL_POP&IS&INITIAL.
*&get&all&declared&attributes
&&LO_EL_POP-&GET_STATIC_ATTRIBUTES(
&&&&IMPORTING
&&&&&&STATIC_ATTRIBUTES&=&LS_POP&).
******更新用户数据**************
&&IF&LS_POP-BUTTON_PRESSED&=&'OK'.
&&&&LO_ND_USERNODE&=&WD_CONTEXT-&GET_CHILD_NODE(&NAME&=&WD_THIS-&WDCTX_USERNODE&).
*取得多选行项目
&&&&CALL&METHOD&LO_ND_USERNODE-&GET_SELECTED_ELEMENTS
&&&&&&RECEIVING
&&&&&&&&SET&=&SET.
&&&&LOOP&AT&SET&INTO&LS_ND_USERNODE.
&&&&&&LS_ND_USERNODE-&GET_STATIC_ATTRIBUTES(
&&&&&&&&&&IMPORTING
&&&&&&&&&&&&STATIC_ATTRIBUTES&=&LS_USERNODE&).
*&删除用户数据
&&&&&&MOVE-CORRESPONDING&LS_USERNODE&TO&&LS_ROLDIST&.
&&&&&&APPEND&LS_ROLDIST&TO&&LT_ROLDIST.&CLEAR&LS_ROLDIST.
&&&&ENDLOOP.
&&&&CALL&FUNCTION&'ZDMS_DELETE_USER'
&&&&&&IMPORTING
&&&&&&&&E_TYPE&&&&&=&E_TYPE
&&&&&&&&E_MESSG&&&&=&E_MESSG
&&&&&&TABLES
&&&&&&&&LT_ROLDIST&=&LT_ROLDIST.
&&&&IF&E_TYPE&=&'S'.
****取得用户所以信息
&&&&&&LO_ND_USERNODE-&GET_STATIC_ATTRIBUTES_TABLE(&IMPORTING&TABLE&=&LT_USERNODE&).
&&&&&&CLEAR&LS_ROLDIST.
&&&&&&LOOP&AT&LT_ROLDIST&INTO&LS_ROLDIST.
&&&&&&&&DELETE&LT_USERNODE&WHERE&USER_ID&=&LS_ROLDIST-USER_ID.
&&&&&&ENDLOOP.
****更新前台展示数据
&&&&&&LO_ND_USERNODE-&BIND_TABLE(&NEW_ITEMS&=&LT_USERNODE&SET_INITIAL_ELEMENTS&=&ABAP_TRUE&).
*&report&message
&&&&&&CALL&METHOD&LO_MESSAGE_MANAGER-&REPORT_SUCCESS
&&&&&&&&EXPORTING
&&&&&&&&&&MESSAGE_TEXT&=&E_MESSG.
&&&&ENDIF.
&&&&IF&&E_TYPE&=&'E'.
*&report&message
&&&&&&CALL&METHOD&LO_MESSAGE_MANAGER-&REPORT_ERROR_MESSAGE
&&&&&&&&EXPORTING
&&&&&&&&&&MESSAGE_TEXT&=&E_MESSG.
&&&&ENDIF.
**初始化确认对话框的值
&&&&LS_POP-BUTTON_PRESSED&=&''.
*&set&all&declared&attributes
&&&&LO_EL_POP-&SET_STATIC_ATTRIBUTES(
&&&&&&&STATIC_ATTRIBUTES&=&LS_POP&).
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:88207次
积分:1265
积分:1265
排名:千里之外
原创:36篇
转载:16篇
评论:10条
(1)(2)(1)(1)(15)(2)(1)(2)(2)(1)(2)(3)(18)(1)Web&Dynpro&简单例子代码
METHOD onactionaction_find .&
node_node_vbak&&&&&&&&&&
TYPE REF TO if_wd_context_node,
elem_node_vbak&&&&&&&&&&&&&&&&&&&&&
TYPE REF TO if_wd_context_element,
stru_node_vbak&&&&&&&&&&&&&&&&&&&&&&&
TYPE if_input_view=&element_node_vbak .
* navigate from &CONTEXT& to
&NODE_VBAK& via lead selection
& node_node_vbak =
wd_context-&get_child_node( name =
if_input_view=&wdctx_node_vbak ).
* get element via lead selection
& elem_node_vbak =
node_node_vbak-&get_element(&
* get all declared attributes
elem_node_vbak-&get_static_attributes(
static_attributes = stru_node_vbak ).
& DATA: ls_where(72) TYPE c,
lt_where LIKE TABLE OF ls_where,
lt_vbak TYPE STANDARD TABLE OF zstr_vbak.
* create where condition
& IF NOT stru_node_vbak-vbeln EQ ''.
CONCATENATE 'VBELN = ''' stru_node_vbak-vbeln '''' INTO
&&& APPEND
ls_where TO lt_where.
& IF NOT stru_node_vbak-erdat EQ
CONCATENATE 'ERDAT = ''' stru_node_vbak-erdat '''' INTO
stru_node_vbak-vbeln NE ''.
CONCATENATE 'AND' ls_where INTO ls_where SEPARATED BY space.
&&& APPEND
ls_where TO lt_where.
& SELECT VBELN ERDAT ERZET ERNAM ANGDT BNDDT
AUDAT VBTYP TRVOG AUART
AUGRU GWLDT SUBMI LIFSK FAKSK NETWR WAERK VKORG VTWEG SPART
VKGRP VKBUR GSBER GSKST GUEBG GUEEN KNUMV
& FROM vbak INTO TABLE lt_vbak WHERE
(lt_where).
node_node_alv&&&&&&&&&&&&&&&&&&&&&&
TYPE REF TO if_wd_context_node,
stru_node_alv&&&&&&&&&&&&&&&&&&&&&&
TYPE if_input_view=&element_node_alv .
* navigate from &CONTEXT& to
&NODE_ALV& via lead selection
& node_node_alv =
wd_context-&get_child_node( name =
if_input_view=&wdctx_node_alv ).
* get all declared attributes
& node_node_alv-&bind_table(
lt_vbak ).
******************** 删除一行 ********************
METHOD WDDOINIT.
& data lo_nd_kna1 type ref to
if_wd_context_node.
& data lo_el_kna1 type ref to
if_wd_context_element.
& data ls_kna1 type
wd_this-&element_kna1.
*&& navigate from
&CONTEXT& to
&KNA1& via lead selection
& lo_nd_kna1 =
wd_context-&get_child_node( name =
wd_this-&wdctx_kna1 ).
& data : it_kna1 type table of
wd_this-&element_kna1.
& select kunnr land1 from kna1 into
corresponding fields of table it_kna1 up to 10 rows.
& lo_nd_kna1-&bind_table( it_kna1
ENDMETHOD.
METHOD onactiondelete_row.
& DATA lo_nd_kna1 TYPE REF TO
if_wd_context_node.
&& DATA lo_el_kna1 TYPE REF TO
if_wd_context_element.
&& DATA ls_kna1 TYPE
wd_this-&element_kna1.
&& data: it_tab type table of
wd_this-&element_kna1.
*& navigate from
&CONTEXT& to
&KNA1& via lead selection
&& lo_nd_kna1 =
wd_context-&get_child_node( name =
wd_this-&wdctx_kna1 ).
*& get element via lead selection
&& lo_el_kna1 =
lo_nd_kna1-&get_element(& ).
lo_el_kna1-&get_static_attributes(
static_attributes = ls_kna1 ).
lo_nd_kna1-&get_static_attributes_table(
table = it_tab ).
DELETE it_tab where kunnr eq ls_kna1-kunnr.
lo_nd_kna1-&bind_table(& it_tab[]
ENDMETHOD.
******************** 排序 ********************
method WDDOINIT .
& data LO_ND_MARA type ref to
IF_WD_CONTEXT_NODE.
& data LO_EL_MARA type ref to
IF_WD_CONTEXT_ELEMENT.
& data LT_MARA type
WD_THIS-&ELEMENTS_MARA.
& data LS_MARA type
WD_THIS-&ELEMENT_MARA.
* navigate from &CONTEXT& to
&MARA& via lead selection
& LO_ND_MARA =
WD_CONTEXT-&GET_CHILD_NODE( NAME =
WD_THIS-&WDCTX_MARA ).
& SELECT MATNR MTART MATKL MEINS FROM MARA INTO
CORRESPONDING FIELDS OF
TABLE LT_MARA UP TO 10 ROWS WHERE MATNR LIKE 'A%'.
* Bind Table
& LO_ND_MARA-&BIND_TABLE( LT_MARA
endmethod.
method WDDOMODIFYVIEW .
data wd_table type ref to cl_wd_table.
check first_time = abap_true.
* Name of the table UI element to be provided
wd_table ?= view-&get_element( 'TABLE' ).
wd_this-&table_control ?=
wd_table-&_method_handler.
*Name of the key attribute of the context node to which the table
binding is done to be& provided
wd_this-&table_control-&set_key_attribute_name(
'MATNR' ).
endmethod.
method ONACTIONON_TEST_SORT .
wd_this-&table_control-&apply_sorting(
endmethod.
********************&动态显示table
control的列&********************
******* First, read the context node:
node_param&&&&&&&&&&&&&&&&&&&&&&&&&
TYPE REF TO if_wd_context_node,
elem_param&&&&&&&&&&&&&&&&&&&&&&&&&
TYPE REF TO if_wd_context_element,
stru_param&&&&&&&&&&&&&&&&&&&&&&&&&
TYPE if_v_main=&element_param .
* navigate from &CONTEXT& to
&PARAM& via lead selection
& node_param =
wd_context-&get_child_node( name =
if_v_main=&wdctx_param ).
* get element via lead selection
elem_param = node_param-&get_element(
* get all declared attributes
elem_param-&get_static_attributes(
static_attributes = stru_param ).
******* Next, validate which fields you will use as ALV columns *******
DATA: ls_component TYPE cl_abap_structdescr=&component,
lr_type TYPE REF TO cl_abap_datadescr,
lt_components TYPE cl_abap_structdescr=&component_table.
IF stru_param-carrid = 'X'.
lr_type ?= cl_abap_typedescr=&describe_by_name( p_name = 'S_CARR_ID' ).
ls_component-name = 'CARRID'.
ls_component-type = lr_type .
APPEND ls_component TO lt_components.
IF stru_param-connid = 'X'.
lr_type ?= cl_abap_typedescr=&describe_by_name( p_name = 'S_CONN_ID' ).
ls_component-name = 'CONNID'.
ls_component-type = lr_type .
APPEND ls_component TO lt_components.
IF stru_param-fldate = 'X'.
lr_type ?= cl_abap_typedescr=&describe_by_name( p_name = 'S_DATE' ).
ls_component-name = 'FLDATE'.
ls_component-type = lr_type .
APPEND ls_component TO lt_components.
IF stru_param-price = 'X'.
lr_type ?= cl_abap_typedescr=&describe_by_name( p_name = 'S_PRICE' ).
ls_component-name = 'PRICE'.
ls_component-type = lr_type .
APPEND ls_component TO lt_components.
IF stru_param-currency = 'X'.
lr_type ?= cl_abap_typedescr=&describe_by_name( p_name = 'S_CURRCODE' ).
ls_component-name = 'CURRENCY'.
ls_component-type = lr_type .
APPEND ls_component TO lt_components.
******* Next, create a new structure and assign it to a new dynamic context node *******
lr_root_info TYPE REF TO if_wd_context_node_info ,
lr_node_info TYPE REF TO if_wd_context_node_info,
lr_structdescr TYPE REF TO cl_abap_structdescr.
call method cl_abap_structdescr=&create
p_components = lt_components
= lr_structdescr.
* Get context node info
lr_root_info = wd_context-&get_node_info( ).
* Generate new node with the dynamic structure
CALL METHOD lr_root_info-&add_new_child_node
is_initialize_lead_selection = abap_false
static_element_rtti
= lr_structdescr
= abap_false
child_node_info
= lr_node_info.
* get instance of new node
DATA: dyn_node TYPE REF TO if_wd_context_node.
dyn_node = wd_context-&get_child_node( name = 'DATA' ).
******* Last, Get reference to model *******
DATA: lo_interfacecontroller type ref to iwci_salv_wd_table.
lo_interfacecontroller =
wd_this-&wd_cpifc_alv( ).
lo_interfacecontroller-&set_data( dyn_node ).
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。ABAP-WebDynpro实例_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
ABAP-WebDynpro实例
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩39页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 web dynpro 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信