请注意程序中的五处红色标记的代码,其他代码请用户自己按自己的需要进行修改

*&---------------------------------------------------------*
*& REPORT CREATE TRANSFER                                  *
*&---------------------------------------------------------*
*& Create date       : 2007/06/21                          *
*& Program type      : Report                              *
*&---------------------------------------------------------*
*& Modifications :                                         *
*& Date      | Programmer |Change request | Description    *
*&                                                         *
*&-------------------------------------------------------- *
REPORT zsdpr_yfdj MESSAGE-ID zmc01 NO STANDARD PAGE HEADING LINE-SIZE 500.
************************************************************
*  TABLES
************************************************************
TABLES : zadtb_yf.

TYPE-POOLS: slis.
************************************************************
*INTERNAL TABLE DEFINITION
************************************************************
DATA: BEGIN OF gs_it,
        lfdat(10),
        vbeln(50),
        zstation(20),
      END OF gs_it.
DATA : gt_it  LIKE gs_it   OCCURS 0 WITH HEADER LINE.
DATA : gt_itab LIKE zadtb_yf OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF gs_yf  OCCURS 0 .
*1内表增加一个选中字段
DATA:  gv_check TYPE c.
       INCLUDE TYPE zadtb_yf.
DATA: END OF gs_yf.

DATA : gt_yf   LIKE gs_yf OCCURS 0 WITH HEADER LINE.
************************************************************
* Variable  DEFINITION
***********************************************************
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
      gs_layout   TYPE slis_layout_alv,
      usercommand TYPE slis_fieldname VALUE 'USERCOMMAND',
      gt_sort     TYPE slis_t_sortinfo_alv.
DATA: progname    LIKE sy-repid,
      title(70).
DATA : gv_cancel(1) TYPE c,
       gv_flag TYPE i.
************************************************************
* SELECTION-SCREEN
************************************************************
SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-bl1.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS:
           so_lfdat     FOR zadtb_yf-lfdat,"提货日期
           so_vbeln     FOR zadtb_yf-vbeln,"销售凭证
           so_erdat     FOR zadtb_yf-erdat."录入日期
SELECTION-SCREEN END OF BLOCK bl1.
SELECTION-SCREEN BEGIN OF BLOCK bl3 WITH FRAME TITLE text-bl3.
PARAMETERS: pa_z2 RADIOBUTTON GROUP pa2 ."删除
SELECTION-SCREEN SKIP 1 .
SELECTION-SCREEN END OF BLOCK bl3.
***********************************************************
* START OF  SELECTION
***********************************************************
START-OF-SELECTION.
    PERFORM get_date.
END-OF-SELECTION.
    PERFORM output_date.
*&---------------------------------------------------------------------*
*&      Form  GET_DATE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_date .
  SELECT *
       INTO CORRESPONDING FIELDS OF TABLE gt_yf
       FROM zadtb_yf
       WHERE  lfdat IN   so_lfdat  "提货日期
       AND    vbeln IN   so_vbeln  "销售凭证
       AND    erdat IN  so_erdat.  "录入日期
ENDFORM.                    " GET_DATE
*&---------------------------------------------------------------------*
*&      Form  OUTPUT_DATE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM output_date .
  REFRESH  gt_fieldcat.
  progname = sy-repid.
  title = '运费查询及信息删除'.

gs_layout-zebra  = 'X'.            "设置每行的背景颜色交错 显示。
  gs_layout-colwidth_optimize = 'X'.  "ALV输出时候自动优化宽 度
  gs_layout-detail_popup    = 'X'.

*2此处代码设置屏幕的chekbox选中字段
 gt_fieldcat-fieldname = 'GV_CHECK'.
  gt_fieldcat-seltext_m  = '选择'.
  gt_fieldcat-outputlen = 1.
  gt_fieldcat-checkbox = 'X'.
  gt_fieldcat-input = 'X'.
  gt_fieldcat-edit = 'X'.
  APPEND gt_fieldcat.
  CLEAR gt_fieldcat.

gt_fieldcat-fieldname = 'LFDAT'.
  gt_fieldcat-seltext_m  = '提货日期'.
  gt_fieldcat-outputlen = 10.
  APPEND gt_fieldcat.
  CLEAR gt_fieldcat.

gt_fieldcat-fieldname = 'VBELN'.
  gt_fieldcat-seltext_m  = '销售凭证'.
  gt_fieldcat-outputlen = 50.
  APPEND gt_fieldcat.
  CLEAR gt_fieldcat.

gt_fieldcat-fieldname = 'ZSTATION'.
  gt_fieldcat-seltext_m  = '到站'.
  gt_fieldcat-outputlen = 20.
  APPEND gt_fieldcat.
  CLEAR gt_fieldcat.

*3设置处理代码
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program       = progname
      is_layout                = gs_layout
      it_fieldcat              = gt_fieldcat[]
     i_grid_title             = title
      i_callback_pf_status_set = 'PF_STATUS_SET'
      i_callback_user_command  =  usercommand
*      i_save                  = 'A'
    TABLES
      t_outtab                 = gt_yf
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.                    " OUTPUT_DATE
*&---------------------------------------------------------------------*
*&      FORM user_command
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM usercommand USING ucomm TYPE sy-ucomm
                    selfield TYPE slis_selfield.
  DATA: lr_grid TYPE REF TO cl_gui_alv_grid.

*4此处代码将用户输入读入内表(这一步不可少)
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = lr_grid.
  CALL METHOD lr_grid->check_changed_data.

*5此处代码阻止'REUSE_ALV_GRID_DISPLAY创建新的屏幕,造成屏幕多层
  selfield-refresh = 'X'.
  CASE sy-ucomm.
    WHEN 'DELE'.
      CLEAR  sy-ucomm.
      LOOP AT gt_yf.
        IF gt_yf-gv_check = 'X'.
*请填写删除操作
           DELETE gt_yf.
        ENDIF.
      ENDLOOP.
  ENDCASE.
ENDFORM.                    "USER_COMMAND
*&---------------------------------------------------------------------*
*&      FORM PF_STATUS_SET
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM pf_status_set USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'YFDJ'  .
ENDFORM.                    "frm_PF_STATUS_SET

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

ABAP--如何使用REUSE ALV GRID DISPLAY函数删除内表数据 样例代码,感谢依风提供相关推荐

  1. ABAP 语法:“LOOP … ASSIGNING …”,可直接修改内表数据,效率更高

    语法:LOOP - ASSIGNING - 语法:LOOP - INTO - 相比于"LOOP - INTO -","LOOP - ASSIGNING -"可以 ...

  2. ABAP使用LOOP AT ASSIGNING FIELD SYMBOL直接更新内表数据

    使用此语法:"LOOP - ASSIGNING -",可以直接修改内表中的数据,不用再将数据循环到工作区,再用工作区更新到内表.这样能大大提升效率. 示例: loop at gt_ ...

  3. 【转】ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...

  4. Function ALV可编辑列修改数据后与与内表数据同步问题

    当我们使用FunctionALV,即"REUSE_ALV_GRID_DISPLAY"显示ALV时,会遇到设置某些列为可编辑状态的情况,可是编辑后发现对应的内表数据并没有随之改变,那 ...

  5. REUSE_ALV_GRID_DISPLAY显示ALV,设置可编辑时,与内表数据同步问题

    使用function module: REUSE_ALV_GRID_DISPLAY显示ALV,并设置alv某些列可编辑,可是编辑后发现对应的内表数据并没有随之改变.记得需要设置一个参数的值,怎么想也记 ...

  6. ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...

  7. R语言使用na.omit函数删除矩阵matrix数据中的缺失值(NA值)

    R语言使用na.omit函数删除矩阵matrix数据中的缺失值(NA值) 目录 R语言使用na.omit函数删除矩阵matrix数据中的缺失值(NA值) R 语言特点 R语言使用na.omit函数删除 ...

  8. matlab函数结果,matlab 函数返回多个值--样例

    matlab 函数返回多个值--样例 发布时间:2018-02-14 19:52, 浏览次数:2062 , 标签: matlab 目录 一.matlab的函数文件返回多个值写法 二.简单的例子 三.  ...

  9. 【Android 逆向】函数拦截 ( GOT 表数据结构分析 | 函数根据 GOT 表进行跳转的流程 )

    文章目录 一.GOT 表数据结构分析 二.函数根据 GOT 表进行跳转的流程 一.GOT 表数据结构分析 GOT 表分为 222 部分 , 一部分在 调用者部分 ( 可执行文件 ) 中 , 一部分在 ...

最新文章

  1. 【leetcode】二叉树与经典问题
  2. Windows10 RS2正式版终于来了!升级有惊喜
  3. 习题10-6 递归求Fabonacci数列 (10 分)
  4. 重装了java然后说找不到路径,Java第三次作业第五题
  5. linux中的du 命令详解
  6. Python库安装相关问题
  7. 将链表中m-n范围内的数进行倒序
  8. PostgreSQL如何使用PLJava支持Java编程
  9. XML校验 黄色惊叹号!!!
  10. Android handler.obtainMessage()传字符串用法
  11. MVC中的action验证登录(ActionFilterAttribute)
  12. 关于数据迁移的一些经验总结
  13. html网页综合项目实战
  14. 图片颜色和相机的一些基本知识
  15. The Nicest Word(io优化)
  16. 大疆2022 “拓疆者” 校园招聘
  17. 计算某年共有多少个月或周 -- vue
  18. uniapp点击生成商品海报、下载海报、分享海报
  19. 运气和技术的另类平衡————对大逃杀及战棋类游戏大热的原因思考(正片)
  20. android packagemanagerservice目录,Android重学系列 PackageManagerService的启动与安装(下)

热门文章

  1. 使用webgl绘制一个点
  2. c++ notify_one()和notify_all()
  3. 2020年全球及中国术后镇痛药行业市场现状分析,非阿片类药物需求不断增长「图」
  4. 四川大学研究生计算机专业怎么样,川大和电子科技大学那个计算机考研专业好?...
  5. oracle密码锁了,Oracle 修改密码 解锁
  6. linux 启动wifi
  7. 标准方程法(正规方程法)
  8. 建筑行业为什么要数字化转型?
  9. Android系统应用隐藏和应用禁止卸载
  10. 华为PIM-SM 动态RP实验配置