REUSE_ALV_GRID_DISPLAY 编辑数据

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

*&---------------------------------------------------------*
*& 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

别再只显示数据了!教你用REUSE_ALV_GRID_DISPLAY和DATA_CHANGED打造可编辑的ABAP ALV报表 本文详细介绍了如何利用ABAP中的`REUSE_ALV_GRID_DISPLAY`和`DATA_CHANGED`事件将静态ALV报表转换为可编辑的交互式应用。通过字段目录属性设置、网格参数配置和事件处理机制,开发者可以实现数据直接编辑、实时验证和多字段联动更新,显著提升业务场景下的数据维护效率。 阅读详情

相关推荐

别再只显示数据了!给ABAP ALV报表(REUSE_ALV_GRID_DISPLAY)加上可编辑列和实时响应的完整配置流程

本文详细介绍了如何为ABAP ALV报表(REUSE_ALV_GRID_DISPLAY)添加可编辑列和实时响应功能,提升用户交互体验。通过配置DATA_CHANGED事件和字段目录,实现动态编辑和实时反馈,适用于SAP系统中的复杂业务场景。

weixin_32325225的博客 245

ABAP ‘REUSE_ALV_GRID_DISPLAY‘函数实现ALV

REUSE_ALV_GRID_DISPLAY实现ALV1.声明alv字段和布局用的结构和内表2.获取数据并展示3.设置alv结构4.设置alv输出格式5.gui状态设置及按钮响应 1.声明alv字段和布局用的结构和内表 代码如下 DATA: gwa_field TYPE lvc_s_fcat. “ALV 控制: 字段目录 DATA: gt_field TYPE lvc_t_fcat. DATA: gs_layout TYPE lvc_s_layo. “ALV 控制: 布局结构 2.获取数据并展示 代码如

tao273849019的博客 1465

ABAP - Function ALV 11 - 动态单元格下拉框实现与优化

本文详细讲解了在ABAP Function ALV中实现动态单元格下拉框的核心步骤与优化技巧。通过定义下拉数据表、配置字段目录、注册CALLER_EXIT事件并调用SET_DROP_DOWN_TABLE方法,可完成基础功能。文章进一步探讨了基于行数据动态选项、级联下拉等进阶优化场景,并提供了实用的避坑指南,帮助开发者提升ALV报表的数据输入体验与准确性。

js777的博客 480

【SAP Abap】SAP ALV开发(REUSE_ALV_GRID_DISPLAY_LVC)全网最详细 DEMO

SAP ALV开发(REUSE_ALV_GRID_DISPLAY_LVC)全网最详细 DEMO

XLevon的博客 9667

REUSE_ALV_GRID_DISPLAY实战:从单元格编辑到自动刷新的完整实现

本文深入探讨了在ABAP开发中,如何利用REUSE_ALV_GRID_DISPLAY函数实现ALV报表从单元格编辑到自动刷新的完整功能。文章详细对比了两种核心刷新机制:通过i_grid_settings-edt_cll_cb参数的简易自动刷新,以及结合slis_selfield回调与手动控制的精细化刷新策略,并提供了实战代码示例,帮助开发者根据业务复杂度选择最佳方案,构建稳定高效的可交互ALV报表。

pepsi的博客 890

手把手教你用Simulink搭建交流异步电机矢量控制模型(附完整仿真文件)

本文提供了一份详细的Simulink仿真指南,手把手教你从零开始搭建交流异步电机矢量控制模型。内容涵盖主电路搭建、坐标变换实现、双闭环PI调节器设计、转子磁链观测器调试等核心步骤,并附有完整的仿真文件,帮助读者跨越理论到实践的鸿沟,掌握高性能电机控制系统的建模与仿真技能。

pz890123的博客 665

SAP ABAP开发ALV-REUSE_ALV_GRID_DISPLAY详解及常见操作

sap ABAP开发ALV函数, REUSE_ALV_GRID_DISPLAY详解及常见操作

calven的专栏 1272

隐藏技巧!用ArcGIS Pro像素编辑器实现PS级影像编辑(附地貌伪装案例)

本文深入探讨ArcGIS Pro像素编辑器的创意应用,从基础操作到高级影像处理实战,展示了其在城市规划、环境分析等领域的独特价值。通过详细的功能解析和地貌伪装等案例,帮助用户实现媲美专业图像处理软件的精细操作,提升GIS工作效率。

weixin_28520495的博客 335

ALV 添加自定义按钮 (REUSE_ALV_GRID_DISPLAY 一)

SAP ABAP ALV控件中添加一个按钮

刘欣的优快云博客 3744

深入解析璞致PZ-ZU47DR RFSoC核心板:硬件架构与多通道ADC/DAC设计实战

本文深入解析璞致PZ-ZU47DR RFSoC核心板的硬件架构与多通道ADC/DAC设计实战。作为Xilinx Zynq UltraScale+ RFSoC系列的代表产品,PZ-ZU47DR集成了8通道5GSPS ADC和8通道9.85GSPS DAC,支持直接射频采样,大幅简化射频链路设计。文章详细介绍了其技术优势、设计挑战及实战技巧,为5G小基站、毫米波等应用场景提供高效解决方案。

meat5的博客 832

告别手动复制粘贴:3种高效合并Excel表格的方法对比(含代码)

本文对比了VBA、Power Query和Python三种高效合并Excel表格的方法,并提供了可直接运行的代码。针对不同数据量、更新频率和技术背景,详细分析了各方案的优缺点与适用场景,帮助读者告别低效的手动操作,实现自动化数据整合。

weixin_29057237的博客 441

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

使用function module:REUSE_ALV_GRID_DISPLAY显示ALV,并设置alv某些列可编辑,可是编辑后发现对应的内表数据并没有随之改变。记得需要设置一个参数的值,怎么想也记不起来了,问一下同事才知道。那...

cqxl70537的博客 553

echarts 饼图(加载进度条动画效果)

1、外侧动画细线效果运动“custom”自定义系列中“renderItem”属性来实现,动态修改起始角度和终止角度。2、圆环使用" pie "类型添加两个data值来画百分比圆环,动态修改data中的值。

God's asylum的博客 1630

ABAP Function ALV 使用教程

ABAP Function ALV 必知必会

全栈攻略 1592

模型泛化能力提升:领域自适应与迁移学习

模型泛化能力提升:领域自适应与迁移学习​ ,人工智能,计算机视觉,大模型,AI,在机器学习和深度学习的应用中,模型的泛化能力是一个关键问题。泛化能力指的是模型在新的、未见过的数据上表现良好的能力。然而,实际情况中,训练数据和测试数据往往来自不同的领域,存在分布差异,这会导致模型的泛化能力下降。领域自适应与迁移学习正是为了解决这一问题而发展起来的重要技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

openclaw-cn : 无法将“openclaw-cn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案

本文主要介绍了openclaw-cn : 无法将“openclaw-cn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案,希望能对使用openclaw-cn的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 10万+

SAP ABAP ALV单元格编辑设置DEMO (ALV备忘三)

原来一直没用到这么深,这2天开始关注这块,基本上搞清楚了。 1、使用的ABAP ALV 控件是:REUSE_ALV_GRID_DISPLAY_LVC 。 2、DEMO程序运行后的效果,等于4700000005的PO,PO ITEM列的单元格时可以编辑的: 3、注意内存数据结构,这个清楚了,就很好理解是怎么玩的。在数据表的每一行末,还有一个小表,这个表存放这一行中哪些字段可编辑,哪...

刘欣的优快云博客 2838

dToF直方图之美_deadtime死区时间

IMX459的死区时间可以在6ns,这个时间是什么级别,车载激光雷达激光器的光脉宽一般都在4ns以上,也就是这个时间贴近去SPAD的死区时间,这就导致了pile up会非常弱,不会有太多数量的光子计数堆积,加上某些SPAD设计,对TDC有一些更深入的考量,所以不需要去校正pile up算法。Sensor层面决定了pile up的复杂程度,如果一个dToF的SPAD一致性非常好,那么pile up校正可以简单到极致,也就是一句代码的事,比如IMX611,优秀到不需要后端去考虑校正pile up。

dream it possible 1434

对于ALV LVC 单元格的控制

 需求是:当数据不符合条件时,不可编辑,反之,可编辑 主要实现的技术:  CALL FUNCTION REUSE_ALV_GRID_DISPLAY_LVC  代码如下: " 数据声明 显示ALV数据data: begin of i_data OCCURS 0, ... bdmng LIKE resb-bdmng, field

SAPer 2048

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ABAP--如何限制REUSE_ALV_GRID_DISPLAY_LVC函数的某行某列的编辑(代码样例)

*&---------------------------------------------------------------------**& Report  ZDEMO_ALVGRID_EDIT                                          **&                                                      

SAP BLOG--Jack Wu 7040

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

关于alv可编辑问题

最近研究了下可编辑问题 参考了网上很多前辈的经验 非常感谢! 现在想到的如下三个方法 一个是tablecontrol的 这个需要注意的问题是在何时何地做同步 对于alv的 这里具体讲一下 【方法一】FUNCTION 'REUSE_ALV_GRID_DISPLAY' (先说下还有对应的list函数 就是 把grid 改为list) 对于list和grid 这两种 在界面上看的话 alv grid  是这个参数  wa_field-edit = 'X'. alv list 是 wa_fiel

2319

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ALV与内存数据同步更新

REUSE_ALV_GRID_DISPLAY显示ALV,并设置alv某些列可编辑,可是编辑后发现对应的内表数据并没有随之改变。 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_BACKGROUND_ID = 'SIWB_WALLPAPER' I_CALLBACK_PROGRAM = I_REPID I_GRID_SETTINGS =

Edwin的专栏 1463

ALV单元格级别控制_SAP刘梦_新浪博客

一般而言,alv某列可编辑,就是如下: DATA: wa_fieldcatalog TYPE lvc_s_fcat, "显示数据列内表工作区域 it_fieldcatalog TYPE lvc_t_fcat. "显示数据列内表 if &1 eq 'AAA'. wa_fieldcatalog-edit = 'X'. ...

森林木的博客 268
上一篇: ABAP_OBJECTS
下一篇: 获取当前 GRID
java_smalltalk
博客等级 码龄20年 8粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值