SAP ABAP DIALOG 表格控件的简单例子<转载>

news2024/11/18 1:26:06

本文是一个很见到的ALV表格控件例子,但是原文作者写的很详细,所以借过来一用,很适合新手练手用。在这里感谢原文作者大大!
原文链接:https://mp.weixin.qq.com/s/bhP3w5DIADdf9P624C5kpw

表格控件是ABAP编程中最常用的SAP标准控件之一,通过它可以非常方便的根据用户的操作动态对内表数据进行ALV格式的显示、更改、排序等操作。
简单的说表格控件是一个双向的数据输入/输出容器,它可以显示程序内表数据,也可将用户在表控件界面录入数据写回程序内表。
下面通过一个简单的例子来初步了解下下表控件如何使用
写一个程序实现如下简单功能

读取数据库一个表(SPFLI)的数据,将读取数据使用表控件显示。
备注:SPFLI是SAP IDES系统内已定义的存储航空信息数据库表,如果你的系统不存在这个表,可以选取任何自定义表作为系统操作演示使用。
2.对表控件显示数据进行修改,点击保存后更新数据库表。
具体实现的步骤
1.创建一个程序ZTABLECON(SE38)
在这里插入图片描述
在程序中定义表控件显示的内表数据
在这里插入图片描述
这里定义的程序内表ITAB,通过表控件显示此内表的内容,表控件录入的更新数据写回此内表,然后在更新到数据库。
2.创建放置表控件的屏幕
表控件需要放置到屏幕上,需要先创建一个屏幕。
在这里插入图片描述
点击创建屏幕,进入如下界面
在这里插入图片描述
3.创建表控件(使用表控件向导创建)
在上面步骤创建的屏幕上创建表控件对象
在这里插入图片描述
在这里插入图片描述
表控件名称:ZTBL,这里名称没特别要求,英文字符即可。
内表程序表:要和前面程序中定义内表名ITAB的一致。
在这里插入图片描述
激活屏幕后,点击返回逻辑流
在这里插入图片描述
系统自动生成表控件的PBO和PBA逻辑流
在这里插入图片描述
系统自动生成表控件的PBO和PBA逻辑流处理代码
在这里插入图片描述
上面步骤把放置表控件的屏幕和表控件创建好了。
接下来在程序里面写一个代码,将数据库表SPFLI的数据去取出到内表ITAB里面,在通过表控件将内表ITAB数据显示处理。(如下图)
在这里插入图片描述
激活后点击测试图标(如下图)
在这里插入图片描述
点击测试按钮,显示如下
在这里插入图片描述
从上图可以看到程序已取出数据库表SPFLI的数据,并通过表控件以ALV格式显示出来。上图可以看到目前屏幕9000只能显示数据,不能做任何操作。
为了能对显示的数据进行操作,比如:修改某行的数据,然后点击保存后将更改后数据保存到数据库表。
新增屏幕9000 GUI Status状态
在这里插入图片描述
在这里插入图片描述
要在屏幕9000上使用上面创建GUI状态,需要在屏幕的PBO逻辑流增加如下代码
在这里插入图片描述
在这里插入图片描述
点击激活后回到主程序,点击测试。
在这里插入图片描述
显示如下。
在这里插入图片描述
上图可以看到9000屏幕的GUI状态的2个按钮高亮显示出来,但是点击它们没有任何反应。
下面还需要对2个按键点击动作写上执行处理代码,要实现具体功能如下:
1.点击SAVE将用户修改后的表控件显示的数据,更新到数据库。
2.点击BACK退出当前程序。
在这里插入图片描述
在下图写上点击按钮的处理代码并激活程序
在这里插入图片描述
处理代码如下:


MODULE USER_COMMAND_9000 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'SAVE'.
MODIFY SPFLI FROM TABLE ITAB.
IF SY-SUBRC NE 0.
MESSAGE I005(YMESS) WITH '更新数据错误!'.
EXIT.
ELSE.
MESSAGE I005(YESS) WITH '更新数据OK!'.
ENDIF.
ENDCASE.
ENDMODULE.                 " USER_COMMAND_9000  INPUT

点击SAVE按键功能测试,执行程序
在这里插入图片描述
将第1行红色框的修改上图所示,让后点击保存,可以看到SAVE按钮已起作用,执行了更新数据库操作。
在这里插入图片描述
通过SE16N查询数据库表SPFLI可以看到上面表控件的修改数据已更新到数据库表里面(如下)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/682098.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

0基础学习VR全景平台篇第48篇:高级功能-密码访问

功能位置示意 一、本功能将用在哪里? 密码访问功能,常用于暂未交付的项目,使用密码访问保护作品数据的私密性; 或为满足不同情境下的推广需求使用。 二、如何使用本功能? 1、选择-密码访问功能; 2、输入…

nvm使用大全nvm如何动态切换node版本

注意: nvm use node版本时,要使用管理员权限打开cmd输入命令,否则报错 常用命令 nvm ls :列出所有已安装的 node 版本 nvm list :列出所有已安装的 node 版本 nvm list available :显示所有可下载的版本 …

较旧系统的轻量级的LINUX发行版—FATDOG64

导读我们回顾FatDog64 Linux,这个轻量级的Linux发行版可能不是现代的,但它非常适合于老化的计算机,fatdog64 Linux是一个小而灵活的64位多用户Linux发行版。 有一个Linux发行版几乎每一个都需要,有Linux分布的黑客,天…

【NLP】Word2vec概念和演进史

一、说明 “万物都有一种模式,它是我们宇宙的一部分。它具有对称、优雅和优雅——这些品质你总能在真正的艺术家捕捉到的作品中找到。” ~ 沙丘 (1965) 对于word2vec,它不是一个或一种算法,而是一系列思想和算法的综合。本文通过有限篇幅&…

信创优选,国产开源,Solon v2.3.6 发布

Solon 是什么开源项目? 一个,Java 新的生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态)。与其他框架相比,它解决了两个重要的痛点&#xff…

uniapp中小程序的生命周期

一、uni-app应用生命周期 函数名说明onLuaunch当uni-app 初始化完成时触发(全局只触发一次)onShow当 uni-app 启动,或从后台进入前台显示onHide当 uni-app 从前台进入后台onError当 uni-app 报错时触发onUniNViewMessage对 nvue 页面发送的数…

linux下查看某进程内有多少个线程的方法(ps、top、Htop)

文章目录 1 确认进程号2 方式一:ps(查看指定进程内的线程情况)3 方式2:使用top(实时显示指定线程内各个线程情况)4 方式3:使用htop5 传递signal给指定PID:kill -signal PID 1 确认进…

MySQL调优---文件排序(FileSort)详解

目录 产生 分类对比 产生情况 进行优化 产生 如果索引不能用于满足ORDER BY子句,MySQL将执行filesort读取表行并对它们进行排序的操作用Explain语句可以看到最后一列显示using filesortEXPLAIN展示的执行计划的Extra这个字段中的“Using filesort”表示的就是需…

DEV中TextEdit的keydown事件与click事件

DEV中TextEdit的keydown事件与click事件 gridview中加了一列textedit,并给其加了keydown事件,里面调用了另一个gridview1。 现在想给click事件也加上相同的功能,但是不管是复制相同的代码还是直接调用keydown事件,gridview1都调不…

django线上兼职平台系统-计算机毕设 附源码83320

django线上兼职平台系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对线上兼职等问题&am…

Steam客户端现在可以让你在Linux上启用硬件加速了

导读Valve最近发布了一个新的稳定的Steam客户端更新,大多数Linux玩家已经等待了很久,因为它最终让你在你的系统上启用硬件加速。 新的稳定的Steam客户端更新是一个重要的更新,带来了一个具有现代设计元素(对话框、菜单、字体和颜色…

脉冲雷达和相干检测

脉冲雷达的基本工作过程如下图所示 ​对于脉冲雷达来讲,只对信号的存在进行判断,得出的结果很简单:是否接收到回波信号,附带延时。 本文将重点讲解虚线框中的部分,也就是雷达信号的接收和检测,x(t)为接收端…

前端Vue自定义地址展示地址选择地址管理组件

前端Vue自定义地址展示地址选择地址管理组件&#xff0c; 下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13181 效果图如下&#xff1a; # cc-addressBox #### 使用方法 使用方法 <!-- addressItem&#xff1a;地址条目数据 c…

阿里云 搭建网站步骤

目录 1. 登录阿里云网站2. 购买服务器3. 获取服务器实例4.开放服务器端口(重点)5.传输项目到服务器(重点)6.更新apt工具和安装nginx(重点)7.配置nginx以及启动(重点) 1. 登录阿里云网站 阿里云网站 2. 购买服务器 3. 获取服务器实例 4.开放服务器端口(重点) 因为阿里云默认会…

java版 工程管理系统源码之Spring Cloud 工程项目各模块及其功能点清单

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中&#xff0c;管理不畅以及不良的项目执行&#xff0c;往往会导致项目延期、成本上升、回款拖后&#xff0c;最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统&#xff0c;确保…

【每日一题】1401. 圆和矩形是否有重叠

【每日一题】1401. 圆和矩形是否有重叠 1401. 圆和矩形是否有重叠题目描述解题思路 1401. 圆和矩形是否有重叠 题目描述 给你一个以 (radius, xCenter, yCenter) 表示的圆和一个与坐标轴平行的矩形 (x1, y1, x2, y2) &#xff0c;其中 (x1, y1) 是矩形左下角的坐标&#xff0…

【MySQL】使用LOAD DATA INFILE命令加载数据文件到MySQL数据库的方法和常见错误及解决方法

文章目录 【MySQL】使用LOAD DATA INFILE命令加载数据文件到MySQL数据库的方法和常见错误及解决方法LOAD DATA INFILE的语法详细1.创建&#xff08;选择&#xff09;目标数据库和表2.将数据从 CSV 文件导入已创建的表常见错误和解决方法错误1&#xff1a;ERROR 1290 (HY000): T…

人工智能 ---搜索算法

&#xff08;一&#xff09;Dijkstra-Prim 算法和 Kruskal 算法 Dijkstra-Prim算法基本思路&#xff1a;所有节点分成两个group&#xff0c;一个为已经选取的selected_node&#xff08;为list类型&#xff09;&#xff0c;一个为candidate_node&#xff0c;首先任取一个节点加入…

以太网通信的回环测试

PHY 芯片通常带有回环&#xff08;Loopback&#xff09;功能&#xff0c;用于 PHY 通信链路的测试。本文主要讨论三种常用 PHY 芯片的回环功能&#xff0c;并使用 Broadcom 的 B50612D 芯片进行 PHY 回环测试。 1 常见PHY芯片的回环功能 1.1 KSZ9031 KSZ9031 芯片支持以下两种…

坚鹏:中国农业银行BLM银行数字化转型战略培训在北京大学举办

中国农业银行BLM银行数字化转型战略培训班在北京大学顺利举办 中国农业银行成立于1951年&#xff0c;国家副部级单位。中国农业银行是中国金融体系的重要组成部分&#xff0c;提供各种公司银行、零售银行产品和服务&#xff0c;同时开展金融市场业务及资产管理业务&#xff0c…