20170228 ALV method中用E消息,会退出到初始界面;STOP 会dump;

再回车就处理界面了,

所以,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;的更多相关文章
- OO ALV事件里使用E消息,下一步会退出到系统初始界面
在OO ALV data_change事件时(选中行),锁定KEY值, 继续,取消选择,退出到系统初始界面 改成 pv_status = 'E'. pv_msg = '采购订单' && ...
- Flutter 实现退出登录功能,应用退出到登录界面 | 返回应用首页
1. 使用场景:退出登录./// 路由作用:移除 [ModalRoute.withName("/loginPage")] 除外的所有界面,并跳转到 ["/loginPag ...
- Apache RocketMQ 消息队列部署与可视化界面安装
一.介绍 Apache RocketMQ是一个分布式.队列模型的消息中间件,具有低延迟.高性能和高可靠.万亿级容量和灵活的可扩展性.核心组件由四部分组成:Name Servers,Brokers,Pr ...
- RocketMQ消息队列部署与可视化界面安装
MQ安装部署 最新版本下载:http://rocketmq.apache.org/release_notes 修改配置 vi conf/broker.conf 添加brokerIP1 brokerIP ...
- Android 再次打开APP进入按Home键退出时的界面(thisTaskRoot)
问题 Android 设置页面的启动模式为 singletask 之后,当按Home 退出时,再重新打开应用,还会进入首启动页.就会造成一些应用需要重新登录,当前页数据丢失等问题 解决 去除启动页的 ...
- 新建MMS草稿保存后,再进入草稿修改收件人,退出到会话界面,会显示两条草稿
分析原因:新建彩信草稿,保存后,再打开草稿,修改收件人,再保存会产生新的threadId, 而之前保存的草稿theadId还存在,导致此问题. (必现. 解决方法:将原来的Thread_id和新的收件 ...
- 如何在mysql中退出当前窗口界面而不关闭窗口的方法
CTRL+Cexit;quit ;
- cocos2dx 2.1.x 退出SDK相关界面后EGLView 不刷新渲染
报错内容为: [3390:1456879] failed to call contextcocos2d: surface size: 0x0[3390:1456879] Failed to make ...
- SQVI和SAP查询QUERY的区别和使用注意事项
SQVI.SAP查询QUERY都适用于简单的表连接数据查询,但都不能打包传输到PRD,不同环境需要重复创建.可以生成报表程序供T-CODE调用,用se93指定事务码和程序名称. 区别1-权限: SQV ...
随机推荐
- 【bzoj3231】[Sdoi2008]递归数列 矩阵乘法+快速幂
题目描述 一个由自然数组成的数列按下式定义: 对于i <= k:ai = bi 对于i > k: ai = c1ai-1 + c2ai-2 + ... + ckai-k 其中bj和 cj ...
- 【Luogu】P3380树套树模板(线段树套Splay)
题目链接 幸甚至哉,歌以咏志. 拿下了曾经是那么遥不可及的线段树,学会了曾经高不可攀的平衡树,弄懂了装B的时候才挂在嘴边的树套树. 每道模板都是链上的一颗珠子.把它们挨个串起来,就成为我成长的历程. ...
- [BZOJ1604] [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(好题)
传送门 良心题解 #include <set> #include <cstdio> #include <iostream> #include <algorit ...
- SpringBoot项目整合Druid进行统计监控
0.druid介绍,参考官网 1.在项目的POM文件中添加alibaba的druid依赖 <dependency> <groupId>com.alibaba</group ...
- 让Mac OS X专用高速移动硬盘在Linux下也能被读写
MacBook Pro以及iMac等设备都具备雷电接口和USB 3.0接口,配合使用Mac OS X格式化的专用高速移动硬盘读写数据都非常快.那么这种硬盘可以在Linux下被读写吗?其实,Mac OS ...
- Louvain algorithm for community detection
主要理解Louvain 算法中对于模块度的定义:模块度是评估一个社区网络划分好坏的度量方法,它的物理含义是社区内节点的连边数与随机情况下的边数只差,它的取值范围是 [−1/2,1).可以简单地理解为社 ...
- HDU - 5584 LCM Walk (数论 GCD)
A frog has just learned some number theory, and can't wait to show his ability to his girlfriend. No ...
- LucaCanali--SystemTap_Linux_IO
https://github.com/LucaCanali/Linux_tracing_scripts/tree/master/SystemTap_Linux_IO
- [vxlan] 二 什么是VXLAN
VXLAN是一种mac in UDP的技术.简单讲就是传统的二层帧被封装到了UDP的package中.通过UDP的IP网络发送到目的地然后再解封装. VXLAN 跟VLAN对比,最重要的一个概念就是V ...
- uicollectionview 使用uibutton或者uiimageview实现旋转出现scale的问题
uicollectionview下单独使用uibutton然后setimage或者直接使用uiimageview然后一定角度旋转后发现size会变动 解决方案:添加uibutton到uicollect ...