1、  添加辅助类CL_WDR_DEMO_MESSAGES

环境,设计的控件有:输入控件,按钮,每个按钮对应一个事件。分别是下面,然后报消息

TEXT:

SUCCESS:

method ONACTIONSUCCESS .
* get message manager
data lo_api_controller type ref to if_wd_controller.
data lo_message_manager type ref to if_wd_message_manager.
data: l_text type string.
l_text = wd_Assist->get_text( wd_assist->text1 ). lo_api_controller ?= wd_This->Wd_Get_Api( ). CALL METHOD lo_api_controller->GET_MESSAGE_MANAGER
RECEIVING
MESSAGE_MANAGER = lo_message_manager
. * report message
CALL METHOD lo_message_manager->REPORT_SUCCESS
EXPORTING
MESSAGE_TEXT = l_text . endmethod.

WARNING:

method ONACTIONWARNING .
data: l_text type string. * get message manager
l_text = wd_assist->get_text( wd_assist->text1 ).
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
. * report message
CALL METHOD lo_message_manager->REPORT_WARNING
EXPORTING
MESSAGE_TEXT = l_text.
endmethod.

ERROR:

method ONACTIONERROR .
data: l_text type string. * get message manager
l_text = wd_assist->get_text( wd_assist->text1 ).
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
. * report message
CALL METHOD lo_message_manager->REPORT_ERROR_MESSAGE
EXPORTING
MESSAGE_TEXT = l_text
endmethod.

ERROR关联元素中的数据

method ONACTIONERROR_PAR .
data: l_text type string,
l_value type I,
l_params type wdr_name_value_list,
l_param type wdr_name_value. wd_context->get_attribute( exporting name = 'INTEGER' importing value = l_value ). l_text = wd_Assist->get_text( wd_Assist->text2 ). l_param-name = 'P1'.
l_param-value = l_value.
append l_param to l_params. * 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
. * report message
CALL METHOD lo_message_manager->REPORT_ERROR_MESSAGE
EXPORTING
MESSAGE_TEXT = l_text
PARAMS = l_params.
endmethod.

ERROR关联元素

method ONACTIONERROR_LT_1000 .
data: l_value type I,
l_text type string.
DATA lo_el_context TYPE REF TO if_wd_context_element.
DATA ls_context TYPE wd_this->Element_context. wd_context->get_attribute( exporting name = 'INTEGER' importing value = l_value ).
IF l_value < .
lo_el_context = wd_context->get_element( ).
l_text = wd_Assist->get_text( wd_Assist->text1 ).
* 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
. * report message
CALL METHOD lo_message_manager->REPORT_ATTRIBUTE_ERROR_MESSAGE
EXPORTING
MESSAGE_TEXT = l_text
ELEMENT = lo_el_context
ATTRIBUTE_NAME = 'INTEGER'
. ENDIF.
endmethod.

异常消息:

EXCEPTION

method ONACTIONERROR_EXCEPTION .
data: l_exc type ref to cx_wdr_demo_messages.
create object l_exc.
* 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
. * report message
CALL METHOD lo_message_manager->REPORT_EXCEPTION
EXPORTING
MESSAGE_OBJECT = l_exc
endmethod.

异常关联元素

method ONACTIONATTR_WARN_EXCEPTION .
data: l_exc type ref to cx_wdr_demo_messages,
l_value type I,
l_element type ref to if_wd_context_element.
wd_context->get_attribute( exporting name = 'INTEGER' importing value = l_value ).
TRY.
wd_assist->CHECK_VALUE_LT_1000( l_value ). CATCH cx_wdr_demo_messages into l_exc.
l_element = wd_context->get_element( ).
* get message manager
* 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
. * report message
CALL METHOD lo_message_manager->REPORT_ATTRIBUTE_EXCEPTION
EXPORTING
MESSAGE_OBJECT = l_exc
ELEMENT = l_element
ATTRIBUTE_NAME = 'INTEGER'
* MSG_USER_DATA =
MESSAGE_TYPE = lo_message_manager->CO_TYPE_WARNING
ENDTRY.
endmethod.

webdynpro MESSGAE的更多相关文章

  1. webdynpro

    -------------------------------------------------------------------------------------WebDynpro For A ...

  2. webdynpro 调用应用程序做跳转

    1.是调用指的是调用生成应用程序,非webdynpro组件程序, 如下: 1)调用页面,并传值 METHOD get_zgmtpage . DATA:lw_application_name TYPE ...

  3. Webdynpro ABAP 简单剖析

    众所周知,WEBDYNPRO是今天来SAP主推的一个面向WEB的MVC编程框架,接触过J2EE的朋友都不会对MVC这种设计模式陌生,WEBDYNPRO ABAP的基本设计思路和很多著名的面向互联网的M ...

  4. webdynpro 组件重用 传值问题

    组件zwd1,需要调用组件zwd2的时候,zwd2组件控制器中需要定义一个方法,定义所要传输的参数,并且该方法需要定义为interface方法. 组件zwd1可以通过代码向导调用组件zwd2,的该方法 ...

  5. 进阶:案例三: Upload File using WebDynpro

    1.节点创建,其中DATASOURCE存放uploadfile名称 2.layout布局 3.upload事件代码: method ONACTIONUPLOAD . DATA: lo_Node typ ...

  6. webdynpro 下拉列表控件

    现在界面上添加下拉列表的控件DropDownByKey 在context中创建新的node,和属性DP 返回界面,绑定DP到控件DropDownByKey的SelectedKey 初始方法中代码如下: ...

  7. webdynpro tree控件使用

    1.  首先创建一个TREE控件 2.  在Tree下面创建一个TREE  NODE  TYPE ,node type 是可以继续展开的,而Item type是无法展开的. 3. 创建node.,下面 ...

  8. webdynpro的select_option示例

    需求,输入航线代码和航线编号区间,查询记录存在表中显示,并不是alv显示 1.使用组件WDR_SELECT_OPTIONS. 2.在组件控制器中加入以下组件 3.在视图属性中也添加该组件 4.创建节点 ...

  9. 一个简单的webdynpro的ALV示例

    开发alv的时候需要1.在web dynpro组件下面 的已使用的组件中添加ALV组件 SALV_WD_TABLE 2.在组件控制器的属性下面创建ALV组件SALV_WD_TABLE 3.在视图界面的 ...

随机推荐

  1. Word中使用代码高亮插件

    Word中使用代码高亮插件 1.下载并安装:SyntaxHighlighter4Word.zip 解压,然后双击bin\word2010\Kong.SyntaxHighlighter.Word2010 ...

  2. BZOJ 2718: [Violet 4]毕业旅行( 最长反链 )

    一不小心速度就成了#1.... 这道题显然是求最长反链, 最长反链=最小链覆盖.最小链覆盖就是先做一次floyd传递闭包, 再求最小路径覆盖. 最小路径覆盖=N - 二分图最大匹配. 所以把所有点拆成 ...

  3. Java Interface,反射

    先看代码, package reflect; //Class Word public class Word implements OfficeAble{ public static void main ...

  4. 基于visual Studio2013解决算法导论之017查找第n小元素

     题目 查找第n小元素 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <malloc.h> ...

  5. 在cmd窗口中查询android的sqlite3数据库表之步骤

    本文主要是写了一个android程序对sqlite3中数据库的employee表的插入.删除的操作,然后在cmd窗口中用sql命令查询employee表的操作过程. 1.第一步:首先把程序写好. 1. ...

  6. vim打开文件时显示行号

    vim打开文件是,默认不提示行号. 至于显示行号的用途,因人而异 linux下一个主机可能有N个账户.对于配置分为两种:仅配置当前账户,配置所有账户 vim配置文件路径(Centos  5.5 fin ...

  7. java--内部类实现“类的多重继承”

    class Fa1{ private int k = 1; void show() { System.out.println(k); } } class Fa2{ private int k = 10 ...

  8. Python中__init__方法介绍

    本文介绍Python中__init__方法的意义.         __init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的 初始化 .注意,这个名称的开始和结尾 ...

  9. 进入MAC下面的Library目录

    从LION后,苹果将library目录隐藏起来了,要进入那个目录,需要用到一定的技巧. 打开Finder,按下shift+command+g,输入“~/Library”(输入引号里面的),再按回车就到 ...

  10. IOS学习之segmented control

    转载请注明出处 http://blog.csdn.net/pony_maggie/article/details/27086877 作者:小马 什么是segmented control? 先上几张图: ...