SE80 新建。
然后新建一个Attribute。
再新建一个node。
依然是 add attributes from structure。
然后回到view layout界面。
添加三个 element。
一个输入框。
一个确认button。
一个显示用的table。
哦丢了个label
然后顺序自己拖拽调整下。
维护描述
绑定value
然后button维护描述和 onaction。
进入onaction search 代码界面
还是使用向导就行。
会自动生成下面的代码
然后再给node 赋值。
method ONACTIONACT_SEARCH .
*& 获取输入的数据
DATA lo_el_context TYPE REF TO if_wd_context_element.
DATA ls_context TYPE wd_this->element_context.
DATA lv_p_carrid TYPE wd_this->element_context-p_carrid.
* get element via lead selection
lo_el_context = wd_context->get_element( ).
* @TODO handle not set lead selection
IF lo_el_context IS INITIAL.
ENDIF.
* get single attribute
lo_el_context->get_attribute(
EXPORTING
name = `P_CARRID`
IMPORTING
value = lv_p_carrid ).
*& 查询数据
CHECK lv_p_carrid IS NOT INITIAL.
DATA lo_nd_n_spfli TYPE REF TO if_wd_context_node.
DATA lt_n_spfli TYPE wd_this->elements_n_spfli.
* navigate from to via lead selection
lo_nd_n_spfli = wd_context->get_child_node( name = wd_this->wdctx_n_spfli ).
* @TODO handle non existant child
* IF lo_nd_n_spfli IS INITIAL.
* ENDIF.
SELECT * FROM spfli into CORRESPONDING FIELDS OF table lt_n_spfli
WHERE carrid = lv_p_carrid.
** @TODO compute values
** e.g. call a model function
*
lo_nd_n_spfli->bind_table( new_items = lt_n_spfli set_initial_elements = abap_true ).
endmethod.
后面自己调整下代码就行。
保存,激活。
激活报错,原来是table控件忘了绑定数据了。加上就行了。
新建application。
测试结果:
如果大家觉得有用,还有必要继续写完这个WDA的demo系列。
请帮忙点击右下角的"再看",谢谢
领取专属 10元无门槛券
私享最新 技术干货