利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态试读版

news/2024/5/20 5:14:33 标签: SAP, Netweaver, ABAP, 思爱普, 数据库

在 CSDN 和我的知识星球里有朋友向我提出同样的问题,询问如何在 ALV 里实现增删改查操作。

虽然需求只有一句话,但是这个需求背后涉及到的知识点不少,因此笔者会通过几篇文章的篇幅,来介绍这个需求的详细实现步骤。

本文先解决第一个障碍,如何让 ALV 报表进入可编辑状态?

笔者通过一个 ABAP 报表来说明。

ALV Grid 控件里每个单元格的状态有两种:

  1. non-editable 状态,不可编辑
  2. editable 可编辑状态

其中 editable 状态又分为两种:

(1) editable 并且活跃(active),此时单元格已经可以输入新的值
(2) editable 但是不活跃(not active),此时单元格无法进行编辑

这两种 editable 的不同状态,可以通过 ALV Grid 的 API 来切换。

我们还是先来看看通过本文介绍的实现步骤之后,能达到什么样的效果。

我们执行 ABAP 报表(完整的源代码在文末获得),看到如下的 ALV 报表。

首先,这个报表单元格的背景色是白色,这意味着单元格可以编辑。并且工具栏上我们也看到了新建,插入,删除和复制这四个按钮。

我随便在单元格里胡乱维护了一些值,然后通过新建按钮,创建了一些空白行。当然,目前还没有实现保存功能。

显然,ALV 报表的这个状态,就是我们刚刚介绍过的 editable 并且活跃(active)状态。

点击上图右下角按钮,可以切换成 editable 但是不活跃状态。这个按钮包含了一幅眼镜和一只笔的图案,眼镜代表只读方式查看,笔代表修改。

点击之后,ALV 报表单元格的背景色变灰,同时工具栏上那四个提供编辑功能的按钮也消失了。此时这个 ALV 报表的单元格,暂时不支持修改,除非我们再次点击眼镜和笔的按钮。

详细步骤参考这里。


http://www.niftyadmin.cn/n/17416.html

相关文章

【Python实验】面向对象程序设计

目录 一、实验目的 二、实验重点与难点 三、实验内容 实验内容1 已知下面的向量类如下所示,请增加内积的功能。 实验内容2 设计自定义栈类,模拟入栈、出栈、判断栈是否为空、是否已满以及改变栈大小等操作,其具体如下所示, 要…

每天记录学习的新知识:UUID

UUIDUUIDUUID 格式标准格式Java 适配UUID转换参考地址UUID UUID 是指(Universally Unique Identifier)通用唯一识别码 UUID 格式 1个UUID是1个16字节(128位)的数字; 为了方便阅读,通常将UUID表示成如下…

20221216英语学习

今日新词: duplicate v.复制; 被复制; 复写; 复印; 重复; 使加倍; 使成双 September n.九月 scandal n.丑事,丑闻,丑行 considerate adj.考虑周到的,体贴的,体谅的 report n.报告, 报道, 汇报, 调查报告 across …

【信息奥赛题解】爬楼梯(详细题解 C++ 代码)

📚 爬楼梯问题 🚀 题目浏览 【题目名称】爬楼梯 【题目描述】 树老师爬楼梯,他可以每次走 111 级或者 222 级,输入楼梯的级数,求不同的走法数。 例如:楼梯一共有 333 级,他可以每次都走一级…

Odoo 16 企业版手册 - 采购之代发货

代发货(直运) 待发货方式是不打算保留库存的供应商可用的便捷运输方式之一。此方法将允许您将产品直接从供应商运送到客户。这对零售商更有利,因为交货直接从供应商到客户,没有必要保留仓库。直接发货方法将帮助您直接从供应商或制造商将产品运送给客户&…

用Python画一棵分形树

文章目录画一棵分形树加入随机量的分形树加入点缀的圣诞树画一棵分形树 分形树,就是用分形的逻辑去画一棵树,所谓分形,若从编程的角度去理解,其实就是简单规则的反复迭代。 例如,现在有一条线段,长为LLL&…

什么是内存泄漏?如何避免内存泄漏?

什么是内存泄漏?如何避免内存泄漏? 简介:什么是内存泄漏?如何避免内存泄漏? 学习代码 静态分配内存 学习代码 void func() {int a 100;int *p &a; }在上面的这段代码中,不是动态分配内存&#x…

大一新生HTML期末作业,实现登录页面

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…