再回车就处理界面了,

所以,Handel_data_change 做数据检查时,如果需要报错要用到,

CALL METHOD er_data_changed->add_protocol_entry
EXPORTING
i_msgid = 'Z_BH1'
i_msgno = ''
i_msgty = 'E'
i_msgv1 = '你输入的起始日期大于结束日期!'
i_msgv2 = ''
i_msgv3 = ''
i_fieldname = ls_modi-fieldname
i_row_id = ls_modi-row_id.

可参考

*&监听修改
HANDLE_DATA_CHANGED
FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
IMPORTING ER_DATA_CHANGED. *&方法实施:
METHOD handle_data_changed. DATA: ls_modi TYPE lvc_s_modi.
DATA: lv_valid TYPE c. DATA: lt_lvc_t_modi TYPE lvc_t_modi .
DATA: ls_lvc_t_modi TYPE lvc_s_modi ,
l_matnr TYPE matnr,
l_datum TYPE datum,
l_datab TYPE datum,
lv_flag().
* CLEAR:LV_FLAG,L_DMBTR,L_CTCOD.
LOOP AT er_data_changed->mt_good_cells INTO ls_modi.
IF ls_modi-fieldname = 'MATNR'.
*****************获取CELL值
CALL METHOD er_data_changed->get_cell_value
EXPORTING
i_row_id = ls_modi-row_id
i_fieldname = ls_modi-fieldname
IMPORTING
e_value = l_matnr.
IF NOT l_matnr IS INITIAL.
SELECT SINGLE matnr INTO l_matnr FROM mara
WHERE matnr = l_matnr.
IF sy-subrc = .
SELECT SINGLE maktx INTO wa_out-maktx FROM makt
WHERE matnr = l_matnr
AND spras = sy-langu.
MODIFY gt_out FROM wa_out INDEX ls_modi-row_id TRANSPORTING maktx.
CLEAR: ls_lvc_t_modi,lt_lvc_t_modi[].
ls_lvc_t_modi-row_id = ls_modi-row_id. "自然数
ls_lvc_t_modi-fieldname = 'MAKTX'. "内部表字段的字段名称
ls_lvc_t_modi-value = wa_out-maktx." 单元格内容
ls_lvc_t_modi-tabix = ls_modi-row_id."自然数
APPEND ls_lvc_t_modi TO lt_lvc_t_modi.
CLEAR ls_lvc_t_modi.
CALL METHOD g_grid->set_delta_cells
EXPORTING
it_delta_cells = lt_lvc_t_modi[].
ELSE.
lv_flag = 'X'.
* CALL METHOD ER_DATA_CHANGED->ADD_PROTOCOL_ENTRY
* EXPORTING
* I_MSGID = 'Z_BH1'
* I_MSGNO = ''
* I_MSGTY = 'E'
* I_MSGV1 = '你输入的商品不存在!'
* I_MSGV2 = ''
* I_MSGV3 = ''
* I_FIELDNAME = LS_MODI-FIELDNAME
* I_ROW_ID = LS_MODI-ROW_ID. ENDIF.
ENDIF.
ENDIF. IF ls_modi-fieldname = 'DATBI'.
CALL METHOD er_data_changed->get_cell_value
EXPORTING
i_row_id = ls_modi-row_id
i_fieldname = ls_modi-fieldname
IMPORTING
e_value = l_datum. READ TABLE gt_out INTO wa_out INDEX ls_modi-row_id.
l_datab = wa_out-datab. IF l_datum < l_datab.
lv_flag = 'X'.
CALL METHOD er_data_changed->add_protocol_entry
EXPORTING
i_msgid = 'Z_BH1'
i_msgno = ''
i_msgty = 'E'
i_msgv1 = '你输入的起始日期大于结束日期!'
i_msgv2 = ''
i_msgv3 = ''
i_fieldname = ls_modi-fieldname
i_row_id = ls_modi-row_id.
ENDIF. ENDIF. ENDLOOP. ****************显示错误消息
* IF LV_FLAG = 'X'.
* CALL METHOD ER_DATA_CHANGED->DISPLAY_PROTOCOL.
* ENDIF. ENDMETHOD. "HANDLE_DATA_CHANGED

20170228 ALV method中用E消息,会退出到初始界面;STOP 会dump;的更多相关文章

  1. OO ALV事件里使用E消息,下一步会退出到系统初始界面

    在OO ALV  data_change事件时(选中行),锁定KEY值, 继续,取消选择,退出到系统初始界面 改成 pv_status = 'E'. pv_msg = '采购订单' && ...

  2. Flutter 实现退出登录功能,应用退出到登录界面 | 返回应用首页

    1. 使用场景:退出登录./// 路由作用:移除 [ModalRoute.withName("/loginPage")] 除外的所有界面,并跳转到 ["/loginPag ...

  3. Apache RocketMQ 消息队列部署与可视化界面安装

    一.介绍 Apache RocketMQ是一个分布式.队列模型的消息中间件,具有低延迟.高性能和高可靠.万亿级容量和灵活的可扩展性.核心组件由四部分组成:Name Servers,Brokers,Pr ...

  4. RocketMQ消息队列部署与可视化界面安装

    MQ安装部署 最新版本下载:http://rocketmq.apache.org/release_notes 修改配置 vi conf/broker.conf 添加brokerIP1 brokerIP ...

  5. Android 再次打开APP进入按Home键退出时的界面(thisTaskRoot)

    问题 Android 设置页面的启动模式为 singletask 之后,当按Home 退出时,再重新打开应用,还会进入首启动页.就会造成一些应用需要重新登录,当前页数据丢失等问题 解决 去除启动页的 ...

  6. 新建MMS草稿保存后,再进入草稿修改收件人,退出到会话界面,会显示两条草稿

    分析原因:新建彩信草稿,保存后,再打开草稿,修改收件人,再保存会产生新的threadId, 而之前保存的草稿theadId还存在,导致此问题. (必现. 解决方法:将原来的Thread_id和新的收件 ...

  7. 如何在mysql中退出当前窗口界面而不关闭窗口的方法

    CTRL+Cexit;quit ;

  8. cocos2dx 2.1.x 退出SDK相关界面后EGLView 不刷新渲染

    报错内容为: [3390:1456879] failed to call contextcocos2d: surface size: 0x0[3390:1456879] Failed to make ...

  9. SQVI和SAP查询QUERY的区别和使用注意事项

    SQVI.SAP查询QUERY都适用于简单的表连接数据查询,但都不能打包传输到PRD,不同环境需要重复创建.可以生成报表程序供T-CODE调用,用se93指定事务码和程序名称. 区别1-权限: SQV ...

随机推荐

  1. LA 4973异面线段

    题目大意:给两条线段求他们间的最小距离的平方(以分数形式输出). 贴个模版吧!太抽象了. #include<cstdio> #include<cmath> #include&l ...

  2. .net面试题汇总一第一篇

    1. 简述 private. protected. public. internal 修饰符的访问权限. private:私有成员,只能在类内部中才可以访问. protected:受保护的,只能在该类 ...

  3. treetable 用法小例

    插件地址:http://pan.baidu.com/s/1kVf0Kcfcript src="/plugins/jQuery/jQuery-2.1.4.min.js">< ...

  4. js判断手机的横竖屏调整样式

    在移动端,我们经常遇到横竖屏的问题,所以我们改如何判断或针对横竖屏来写代码呢.首先需要在head中加入如下代码: <meta name="viewport" content= ...

  5. MVC模式(三层架构模式)

    (Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller). MVC模式最早由Try ...

  6. Jenkins持续部署-Windows环境持续部署探究1

    目录 Jenkins持续部署-Windows环境持续部署探究1 目录 前言 目的 方案流程 技术实现 PowerShell FTP上传插件 环境变量插件 脚本执行 远程调用 升级服务 启动服务 总结 ...

  7. ubuntu安装软件或upgrade出现 You might want to run 'apt-get -f install' to correct these

    今天在ubuntu下安装任何软件都提示以下错误: You might want to run 'apt-get -f install' to correct these:The following p ...

  8. Map类的三种实现 <个人练习>

    package cn.zmh.zuoye; import java.util.HashMap; import java.util.Iterator; import java.util.Map; imp ...

  9. Ubuntu 16.04安装微信

    微信没有出Linux的版本,但是可以通过以下方式解决: 1.使用网页版,除了没有公众号之后,一切都没问题,包括传文件等. 网页登录地址:https://wx.qq.com/ 2.使用第三方版本,只不过 ...

  10. 《Java虚拟机原理图解》 1.1、class文件基本组织结构

    作为Java程序猿,我们知道,我们写好的.java 源代码,最后会被Java编译器编译成后缀为.class的文件,该类型的文件是由字节组成的文件,又叫字节码文件.那么,class字节码文件里面到底是有 ...