没有合适的资源?快使用搜索试试~ 我知道了~
首页9、Webdynpro入门之Hook Methods
资源详情
资源评论
资源推荐

Webdynpro 入门之 Hook Methods 作者:赵伟 zhaowei0315@163.com
Webdynpro 入门之 Hook Methods
hps://wiki.scn.sap.com/wiki/display/WDABAP/Hooks+Methods+in+Webdynpro+for+ABAP
在上两次的教程里,我们详细介绍了 InputField、CheckBox、RadioBuonGroup 、Buon
、DropDown 和 DateNavigator(日期选择控件),再加上之前学习的 ALV 和 Select-Op7on,
我们已经能实现复杂一点的 WebDynpro 程序了,本次课程我们来学习一些概念以巩固之前
的学习成果。大家可能在前几次课程中也注意到了, WebDynpro 每个视图(Controller)都
会自带几个 Method:
在 图 中 , 我 们 可 以 发 现 , 在 每 个 View 的 Methods 标 签 下 , 无 外 乎 3 中 方 法 :
Method、Event Handler 和 Supply Func7on。
Method:“WDDO”开头这些方法是系统自动生成的,会在特定的时间点自动调用他们
Event Handler:各种事件处理的方法,例如按钮的点击事件
Supply Func7on:初始化 Context 中某个节点方法
本次课我们主要学习 Method(Hook Method)

Webdynpro 入门之 Hook Methods 作者:赵伟 zhaowei0315@163.com
WDDOINIT:它是页面呈现前最先触发的方法,一般是用来初始化变量或者赋默认值等操作
WDDOMODIFYVIEW:它是用来在页面呈现前,动态添加、删除或者改变页面 UI 元素的方
法
WDDOBEFOREACTION:它是用来在执行用户操作(触发各种控件事件)前做数据验证的
WDDOAFTERACTION:它在页面可见 UI 元素的控件事件之后执行,在所有事件之后都会执
行
WDDOEXIT:在退出 Controller(或视图)之前执行,一般进行扫尾操作,类似析构函数
WDDOINIT、WDDOBEFOREACTION 和 WDDOEXIT 比较容易理解,下面我们通过实例来学习
WDDOMODIFYVIEW 和 WDDOAFTERACTION
还是在上次教程的“ZWD_SIMPLE_UI”程序中演示,首先是 WDDOMODIFYVIEW(动态创建控
件)

Webdynpro 入门之 Hook Methods 作者:赵伟 zhaowei0315@163.com
添加代码
METHODwddomodifyview.
DATAlr_input_fieldTYPEREFTOcl_wd_input_field.
DATAlr_labelTYPEREFTOcl_wd_label.
DATAlr_link_to_actionTYPEREFTOcl_wd_link_to_action.
DATAlr_containerTYPEREFTOcl_wd_transparent_container.

Webdynpro 入门之 Hook Methods 作者:赵伟 zhaowei0315@163.com
DATAlr_grid_dataTYPEREFTOcl_wd_grid_data.
IFfirst_time='X'.
lr_container?=view->get_element('TRANSPARENT1').
lr_label=cl_wd_label=>new_label(id='MAT_LBL'
label_for='MAT'
text='Material').
cl_wd_grid_data=>new_grid_data(element=lr_label).
lr_container->add_child(lr_label).
lr_input_field=cl_wd_input_field=>new_input_field(id='MAT'
bind_value='PARAMETER.MATNR').
"
绑定
Context
节点
lr_grid_data=cl_wd_grid_data=>new_grid_data(element=lr_input_field).
lr_container->add_child(lr_input_field).
lr_link_to_action=cl_wd_link_to_action=>new_link_to_action(id='LTA_LINKTOACTION'
on_action='CLICK'"
关 联 已
存在的
Action
text='NEXT 按钮').
lr_grid_data=cl_wd_grid_data=>new_grid_data(element=lr_link_to_action).
lr_container->add_child(lr_link_to_action).
ENDIF.
ENDMETHOD.
保存,激活,测试
剩余16页未读,继续阅读











安全验证
文档复制为VIP权益,开通VIP直接复制

评论0