SAP_ABAP_编程基础_内表_创建内表 / 填充内表 / 读取内表 /修改和删除内表行 / 内表排序 / 创建顺序表 / 比较内表 / 初始化内表

SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读470次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/java_zhong1990/article/details/132469977


平时在  ‘ 工地搬砖 ’,很少关注基础技能,闲来无事,拿起来复习一下  ! 

实际在项目中用到的非常之少,所以说学编程,先学框架,在学细节 !,因为细节太多,学不完 !


内表,或者叫内存表,或者说定义在内存里边的表,如果有做过JAVA的朋友们,可以把它理解成是,List ,ArrayList ,


也就是说,如何在内存表中做 CRUD , Abap编程中,有1/5的工作在做内存表的加工。


1 创建内表

TYPES: BEGIN OF <f> OCCURS <n>,
<component declaration>,               
..............
END OF <f>.
DATA: <itab> TYPE STANDARD OF <f>,
<wa> TYPE <f>.

2 填充内表

无关键字附加行:

APPEND [<wa> TO|INITIAL LINE TO] <itab>.

根据标准关键字附加行:

COLLECT [<wa> INTO] <itab>.

如果存在关键字相同的条目,COLLECT 语句不附加新行,
但将工作区域中数字字段的内容添加到现有条目中数字字段的内容中。

插入行:

INSERT [<wa> INTO|INITIAL LINE INTO] <itab> [INDEX <idx>].

附加内表行:

APPEND LINES OF <itab1> [FROM <n1>] [TO <n2>] TO <itab2>.

插入内表行:

INSERT LINES OF <itab1> [FROM <n1>] [TO <n2>] INTO <itab2> [INDEX <idx>].

复制内表:

MOVE <itab1> TO <itab2>.

<itab2> = <itab1>.


3 读取内表

逐行读取内表:

LOOP AT <itab> [INTO <wa>] [FROM <n1>] [TO <n2>] [WHERE <condition>].
.....
ENDLOOP.

用索引读取单行:

READ TABLE <itab> [INTO <wa>] INDEX <idx>.

读取自定义关键字的单行:

READ TABLE <itab> [INTO <wa>] WITH KEY <key> [BINARY SEARCH].

读取标准关键字的单行:

READ TABLE <itab> [INTO <wa>] [BINARY SEARCH].

二分法搜索:

READ TABLE <itab> .....BINARY SEARCH.

比较单行的内容:

READ TABLE <itab> [INTO <wa>] <key-option> COMPARING <fields>.

读取一行部分列内容:

READ TABLE <itab> [INTO <wa>] <key-option> TRANSPORTING <fields>.

确定内表属性:

DESCRIBE TABLE <itab> [LINES <lin>] [OCCURS <occ>].

如果使用 LINES 参数,则将填充行的数量写入变量<lin>。
如果使用 OCCURS 参数,则将行的初始号写入变量<occ>。

4 修改和删除内表行


用MODIFY更改行:

MODIFY <itab> [FROM <wa>] [INDEX <idx>].

用WRITE TO更改行:

WRITE <f>[+<o1>][(<l1>)] TO <itab>[+<o2>][(<l2>)] INDEX <idx>.

在循环中删除行:

DELETE <itab>.

用索引删除行:

DELETE <itab> INDEX <idx>.

删除邻近的重复条目:

DELETE ADJACENT DUPLICATE ENTRIES FROM <itab> [COMPARING <comp>].

删除选定行:

DELETE <itab> [FROM <n1>] [TO <n2>] [WHERE <condition>].


5 内表排序

SORT <itab> [<order>] [AS TEXT]
[BY <f1> [<order>] [AS TEXT] ... <fn> [<order>] [AS TEXT]].


6 创建顺序表

APPEND [<wa> TO] <itab> SORTED BY <f>.

AT <line>.
<statement block>
ENDAT.

<line>  FIRST
内表的第一行

<line> LAST
内表的最后一行

<line> NEW <f>
行组的开头,与字段<f>和<f>剩余字段中的内容相同

<line> END Of <f>
行组的结尾,与字段<f>和<f>剩余字段中的内容相同


7 初始化内表

REFRESH <itab>.  将内表重置为填充它以前的状态

CLEAR <itab>.如果使用没有表格工作区域的内表,可以使用 CLEAR 语句代替 REFRESH 语句

CLEAR <itab>[].要重置整个内表而不清除表格工作区域,内表名称之后的方括号指内表体。

FREE <itab>. 使用 REFRESH 或 CLEAR 初始化内表后,系统保持在内存中保留的空间。
可以用 FREE 语句释放内存。(在做性能优化的时候 ,用 FREE 掉内存 )

... <itab> IS INITIAL ... 检查内表是否为空


8 比较内表

可以将内表用做逻辑表达式的操作数:
.... <itab1><operator><itab2> ...

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

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

相关文章

《PFL》论文阅读笔记

一、概要 随着联邦学习的发展&#xff0c;简单的聚合算法已经不在有效。但复杂的聚合算法使得联邦学习训练时间出现新的瓶颈。本文提出了并行联邦学习&#xff08;parallel federated learning&#xff0c;PFL&#xff09;&#xff0c;通过调换中心节点聚合和广播的顺序。本文…

这4个磁盘备份方法可以帮你轻松保护重要数据安全!

怎样备份磁盘中存储的重要数据&#xff1f;在我们的日常工作与学习中&#xff0c;数据丢失的情况时有发生&#xff08;比如自己的照片、视频、文档等被误删或者丢失&#xff09;&#xff0c;多数用户可以通过专业的数据恢复软件来找回数据。但若情况比较严重的话&#xff0c;为…

PyQt6 QPushButton按钮控件

​锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计32条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话…

【刷题笔记】两数之和II_二分法||二分查找||边界||符合思维方式

两数之和II_二分法||二分查找 1 题目描述 https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/ 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设…

统信UOS 1060操作系统上更新系统

往期好文&#xff1a;统信UOS/麒麟KYLINOS禁用USB存储 hello&#xff0c;大家好啊&#xff01;在数字化时代&#xff0c;操作系统的安全性和稳定性对我们的日常工作和生活至关重要。今天&#xff0c;我要给大家介绍的是关于在统信UOS 1060操作系统上&#xff0c;如何通过控制中…

Facebook广告投放效果不佳?这些投放技巧我不允许你不知道!

众所周知&#xff0c;Facebook广告对于跨境卖家来说是非常有效的站外引流渠道&#xff0c;通过Facebook广告投放可以提高跨境卖家的产品销量和排名&#xff0c;但是有时明明广告已经投放出去了&#xff0c;却无法被受众看到&#xff0c;完全没有获得成果&#xff0c;或许你会怪…

CRM系统的数据分析和报表功能对企业重要吗?

竞争日益激烈&#xff0c;企业需要更加高效地管理客户关系&#xff0c;以获取更多的商机。为此&#xff0c;许多企业选择使用CRM系统。在CRM中&#xff0c;数据分析功能扮演着重要的角色。下面就来详细说说&#xff0c;CRM系统数据分析与报表功能对企业来说重要吗&#xff1f; …

pandas(八)--实战一下

背景 收到一批数据&#xff0c;数据形式。采集数据的间隔时间是10分钟&#xff0c;全天采集数据&#xff0c;每天的数据量是144条 处理后的数据形式 分析 去除表格中的q的异常值&#xff0c;置为0去除重复行将原始表格中的date分裂成日期和时间缺失的时间点数据补0&#x…

Unity C++交互

一、设置Dll输出。 两种方式&#xff1a; 第一&#xff1a;直接创建动态链接库工程第二&#xff1a;创建的是可执行程序&#xff0c;在visual studio&#xff0c;右键项目->属性(由exe改成dll) 二、生成Dll 根据选项Release或Debug&#xff0c;运行完上面的生成解决方案后…

如何修改Window电脑的远程登陆端口

主要步骤如下&#xff1a; 1、找到运行对话框&#xff0c;一种方法是&#xff1a;开始->附件->运行&#xff1b;另外一种是快捷键winR组合键。 2、Regedit&#xff0c;在对话框中输入regedit命令&#xff0c;然后回车。备份注册表。手动备份注册表 2.1选择“ 开始 ”&am…

如何使用 CSS columns 布局来实现自动分组布局?

最近在项目中碰到这样一个布局&#xff0c;有一个列表&#xff0c;先按照 4 2 的正常顺序排列&#xff0c;当超过 8 个后&#xff0c;会横向重新开始 4 2 的布局&#xff0c;有点像一个个独立的分组&#xff0c;然后水平排列&#xff0c;如下 图中序号是 dom 序列&#xff0c;所…

【算法心得】When data range not large, try Bucket sort

https://leetcode.com/problems/maximum-number-of-coins-you-can-get/description/?envTypedaily-question&envId2023-11-24 I solve this problem by sorting piles first, and choose piles for(let i1;i<(piles.length/3)*2;i2) but: o(≧口≦)o Problem must …

ISCTF2023新生赛Misc部分WP

ISCTF2023新生赛部分WP MISC&#xff1a;签到&#xff1a;你说爱我&#xff1f;尊嘟假嘟&#xff1a;小蓝鲨的秘密&#xff1a;easy_zip:杰伦可是流量明星&#xff1a;蓝鲨的福利&#xff1a;Ez_misc:PNG的基本食用:小猫&#xff1a;MCSOG-猫猫&#xff1a;镜流:stream&#xf…

基于OpenCV的手势识别系统设计与开发

摘要 随着计算机技术与信息处理技术迅速发展&#xff0c;智能化电子设备逐渐进入到日常的生产和生活中&#xff0c;与此同时&#xff0c;人们对电子设备操作过程的便捷化也提出了新的要求&#xff0c;这也促使计算机进行图像处理的技术也得到了发展。近些年兴起的模式识别技术…

1.自动化运维工具Ansible的安装

1.物料准备 四台服务器&#xff0c;其中一个是主控机&#xff0c;三个为host 2.安装 在主控机上安装ansible 2.1 设置EPEL仓库 Ansible仓库默认不在yum仓库中&#xff0c;因此我们需要使用下面的命令启用epel仓库。 yum install epel-release -y2.2 执行安装命令 yum i…

网站上https协议,nginx配置SSL,443端口

nginx配置ssl 要给自己的网站上ssl证书&#xff0c;使用https协议。首先你需要有证书文件&#xff0c;这个文件是你买的服务&#xff0c;买过之后别人会给你。 就是这样的文件&#xff1a; 然后你就把文件上传到服务器的一个位置&#xff0c;你记住这个位置&#xff0c;后面配…

java审计之java反序列化-CC链

介绍 序列化的本质是内存对象到数据流的一种转换&#xff0c;我们知道内存中的东西不具备持久性&#xff0c;但有些场景却需要将对象持久化保存或传输。 在Java工程中&#xff0c;序列化还广泛应用于JMX&#xff0c;RMI&#xff0c;网络传输&#xff08;协议包对象&#xff09…

Java-MyBatis

1.基础 1.1 pom <dependencies><!--MyBatis核心--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency><!--MySql驱动--><dependency&…

看看京东的接口优化技巧,确实很优雅!!

大家好&#xff0c;最近看到京东云的一位大佬分享的接口优化方案&#xff0c;感觉挺不错的&#xff0c;拿来即用。建议收藏一波或者整理到自己的笔记本中&#xff0c;随时查阅&#xff01; 下面是正文。 一、背景 针对老项目&#xff0c;去年做了许多降本增效的事情&#xf…

10分钟的时间,带你彻底搞懂JavaScript数据类型转换

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热衷分享有趣实用的文章&#xff0c;希望大家多多支持&#xff0c;一起进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 JS数据类型 3种转换类型 ToBoolean ToString ToNumber 对象转原…