WebDynpro for ABAP 简单ALV实例

创建一个简单的ALV实例。

先看一下效果。

WebDynpro for ABAP 简单ALV实例_第1张图片

下面是创建步骤:

先创建一个Web Dynpro组件。

WebDynpro for ABAP 简单ALV实例_第2张图片

添加ALV组件

WebDynpro for ABAP 简单ALV实例_第3张图片

在COMPONENTCONTROLLER 的Properties中添加ALV组件。

WebDynpro for ABAP 简单ALV实例_第4张图片

 

在View中添加两个控件,一个Button一个ViewContainerUIElement。

WebDynpro for ABAP 简单ALV实例_第5张图片

WebDynpro for ABAP 简单ALV实例_第6张图片

WebDynpro for ABAP 简单ALV实例_第7张图片

设置VCU_ALV

WebDynpro for ABAP 简单ALV实例_第8张图片

WebDynpro for ABAP 简单ALV实例_第9张图片

 

 

设置Button的Text和事件onAction。

WebDynpro for ABAP 简单ALV实例_第10张图片

添加Context

WebDynpro for ABAP 简单ALV实例_第11张图片

WebDynpro for ABAP 简单ALV实例_第12张图片

WebDynpro for ABAP 简单ALV实例_第13张图片

页面加载时绑定ALV控件

WebDynpro for ABAP 简单ALV实例_第14张图片

  DATA: dyn_node TYPE REF TO if_wd_context_node.
  dyn_node = wd_context->get_child_node( name = 'LT_MARA' ).
  DATA: lo_interfacecontroller type ref to iwci_salv_wd_table.
  lo_interfacecontroller =   wd_this->wd_cpifc_alv( ).
  lo_interfacecontroller->set_data( dyn_node ).

点击Search按钮时显示数据。

WebDynpro for ABAP 简单ALV实例_第15张图片

  DATA lo_nd_lt_mara TYPE REF TO if_wd_context_node.
  DATA lt_lt_mara TYPE wd_this->Elements_lt_mara.
* navigate from  to  via lead selection
  lo_nd_lt_mara = wd_context->get_child_node( name = wd_this->wdctx_lt_mara ).
* @TODO handle non existant child
* IF lo_nd_lt_mara IS INITIAL.
* ENDIF.
** @TODO compute values
** e.g. call a model function
*
  SELECT INTO TABLE lt_lt_mara FROM MARA UP TO 50 ROWS.
  lo_nd_lt_mara->bind_table( new_items = lt_lt_mara set_initial_elements = abap_true ).

然后保存激活各项。

创建测试程序

WebDynpro for ABAP 简单ALV实例_第16张图片

 

点击Test测试结果OK。

WebDynpro for ABAP 简单ALV实例_第17张图片

 

附:
事件响应顺序
页面加载
WDDOINIT
WDDOMODIFYVIEW 页面加载
按钮事件
WDDOBEFOREACTION
ONACTIONSEARCH 按钮事件
WDDOAFTERACTION
WDDOMODIFYVIEW

你可能感兴趣的:(SAP)