货铺QQ群号:834508274
进群统一修改群名片,例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接,小程序等,进群看公告,谢谢配合
不修改昵称会被不定期踢除,谢谢配合
事先声明下,本人没参加过培训,也没看过完整的标准教程,所以一直都是野路子,土八路。
所以文章中不足以及不正确的地方请大家帮忙指正。
下面开始干货:
之前的文章中,代码都是直接用向导罗列的,没去做过多的处理,直接这么写代码会很乱的,另外也不能复用,当然是很不推荐。
这次就拿上篇文章为例,规范下代码。
首先我copy了一个 demo
原来 查询按钮工作为三块:
1、获取输入值;
2、给node表赋值;
3、给ALV set data。
把这三部分拆开,分布放到单独的method中。
双击 get input,设置个返回参数,r_carrid.
把获取输入值的那段代码copy过去或者重新生成一下,然后把结果赋给返回值。
双击SET_NODE_SPFLI ,设置输入输出参数。
然后使用copy原来的或用向导给node赋值,微调下代码。
同样处理下
再回到查询的按钮事件里。
再调用给node和alv赋值的method 。
调整后代码
method ONACTIONSEARCH .
DATA lv_r_carrid TYPE spfli-carrid.
DATA:lo_node TYPE REF TO if_wd_context_node.
lv_r_carrid = wd_this->get_input(
).
wd_this->set_node_spfli(
EXPORTING
iv_carrid = lv_r_carrid " spfli-carrid
importing
eo_node = lo_node " ref to if_wd_context_node
). wd_this->set_alv(
io_node = lo_node " ref to if_wd_context_node
).
endmethod.
最后 创建application 保存,激活,测试。