博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ABAP】ALV可编辑数据更新
阅读量:2032 次
发布时间:2019-04-28

本文共 1834 字,大约阅读时间需要 6 分钟。

这两天收到用户的一个关于ALV Report的问题反馈,具体是这样的,该ALV是可编辑的,可进行增加、删除、复制及编辑功能,用户删除了几行数据之后直接点击保存按钮,保存完成之后,被删除的几行又还原出来了。

奇怪的是通过选中行项目,点击“删除行”按钮可正常删除,可选中之后直接按下“Del”键删除后保存完成了又显示回来了。

其实这里只需要用到下面的这个方法就可以很好的解决上面的问题:

  call method po_grid->check_changed_data

    importing
      e_valid = l_valid.

获取画面数据改变的事件,并把相应的数据修改到内表。

具体代码如下:

types: begin of y_stat,         type type bapi_mtype,          text type bapi_msg,          end of y_stat.data: gs_stat  type y_stat."定义略
*&---------------------------------------------------------------------**&      Module  USER_COMMAND_0200  INPUT*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------*module user_command_0200 input.  save_ok = ok_code.  clear ok_code.  clear: gs_stat.  perform check_changed_data using go_grid changing gs_stat-type.  if gs_stat-type = gc_e. exit. endif.  case save_ok.    when 'BACK'.      leave to screen 0.    when 'SAVE'.      perform check_data.      perform save_data.  endcase.endmodule.                 " USER_COMMAND_0200  INPUT*&---------------------------------------------------------------------**&      Form  CHECK_CHANGED_DATA*&---------------------------------------------------------------------**       text*----------------------------------------------------------------------**      -->P_GO_GRID  text*      <--P_GS_STAT  text*----------------------------------------------------------------------*form check_changed_data  using    po_grid type ref to cl_gui_alv_grid                         changing p_type.  data: l_valid type c.  clear: l_valid.  call method po_grid->check_changed_data    importing      e_valid = l_valid.  if l_valid is initial.    p_type = gc_e.  endif.endform.                    " CHECK_CHANGED_DATA

 开发实用小技巧,旨在帮助有需要的朋友,有好的方法可以留言,有疑问也可以告诉我,我们一起学习,祝每天都有收获。

 

转载地址:http://rzaaf.baihongyu.com/

你可能感兴趣的文章
世界上没有技术驱动型公司
查看>>
org.apache.commons.beanutils.MethodUtils 类
查看>>
Arrays.asList()方法的使用
查看>>
千万别这样使用Arrays.asList详解
查看>>
Spring 框架简介
查看>>
SpringBoot的属性赋值@Value的用法
查看>>
Spring基础学习-任务执行(TaskExecutor及Async)
查看>>
Spring基础学习-任务执行二(TaskExecutor及Async)
查看>>
Spring基础学习-任务执行三(TaskExecutor及Async)
查看>>
spring boot 获取配置项值:@Value的使用二
查看>>
Spring Boot 中的线程池和 Timer 定时器
查看>>
SpringBoot(SpringMVC)配置类 WebMvcConfigurerAdapter
查看>>
SpringBoot(SpringMVC)配置类 WebMvcConfigurerAdapter二
查看>>
sql 分组统计
查看>>
SQL分组查询
查看>>
SQL高级查询之分组查询
查看>>
controller与servlet的区别
查看>>
Spring boot ---SpringBootServletInitializer 启动spring boot项目的方式之一
查看>>
oracle取字符串长度的函数length()和lengthb()
查看>>
oracle之concat()函数
查看>>