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. Basic DataList

    一,效果图. 二,源代码. <!DOCTYPE html><html><head> <meta charset="UTF-8"> & ...

  2. Android的ProgressBar

    注意点: 必须在setContentView 前面设置,否则会报错. 重要的方法: progress.incrementProgressBy(int diff);//参数为进度数,进度满了为100.不 ...

  3. Python3.5.1 下使用HTMLParser报错

    pip 安装HTMLParser之后,import HTMLParser 使用的时候,报错"ImportError:Can't not find module markupbase" ...

  4. Python之路 Day12

    day12主要内容:html基础.CSS基础 HTML HTML概述: HTML是英文Hyper Text Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标 ...

  5. Qt5程序开机自启动(windows)

    简介 window下开机启动最简单的实现方式就是在注册表中添加启动项目 添加位置有两个 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVer ...

  6. 人人都用 Retina 屏幕的 MacBook Pro 笔记本电脑

    自从今年年初 Apple 官网产品降价我立即买了 13 寸的 Retina 屏 MacBook Pro(rMBP)之后, 这款苹果的笔记本电脑就成了我在公司和家里的唯一电脑(就是这一款). 使用苹果的 ...

  7. hbase安装配置(整合到hadoop)

    hbase安装配置(整合到hadoop) 如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1. ...

  8. QTableWidget排序问题

    今天写代码,发现Qt4中QTableWidget显示查询结果数据时存在一个问题,具体原因不知道是用法不对还是QTableWidget本身存在的bug.现象如下: 1.      查询,能正常显示查询结 ...

  9. Android NFC传输联系人VCF

    import android.app.Activity; import android.content.ContentResolver; import android.content.Context; ...

  10. C#面向对象1 类 以及 类的继承(new、ovverride)

    类 的典型代码============================== 包括 属性及其判断赋值  方法  构造函数及其重载 )                 {                  ...