TYPES: begin of ty_tab ,
num() type i,
str() type c,
end of ty_tab.
data: gw_tab TYPE ty_tab ,
gt_tab TYPE TABLE OF ty_tab WITH HEADER LINE.
data: gt_out TYPE TABLE OF ty_tab,
gw_out TYPE ty_tab.
gw_tab-num = .
gw_tab-str = 'AAA'.
append gw_tab to gt_tab.
gw_tab-num = .
gw_tab-str = 'BBB'.
append gw_tab to gt_tab.
gw_tab-num = .
gw_tab-str = 'AAA'.
append gw_tab to gt_tab.
gw_tab-num = .
gw_tab-str = 'BBB'.
append gw_tab to gt_tab.
gw_tab-num = .
gw_tab-str = 'CCC'.
append gw_tab to gt_tab.
CLEAR gw_tab.
sort gt_tab by num.
loop at gt_tab .
MOVE gt_tab to gw_tab."这个转移很重要
at END OF num.
gw_out-num = gw_tab-num.
gw_out-str = gw_tab-str.
APPEND gw_out to gt_out.
endat.
CLEAR gw_tab.
endloop.
LOOP AT gt_out into gw_out.
write:/ gw_out-num,gw_out-str.
ENDLOOP.

使用AT END OF语句,主要是抓取重复字段如num为100的最后一条记录 100 BBB。

本实例定义的structure中 ,字段num在字段str前,这样在使用AT END OF语句后,内表中str会变为***。

在loop循环之前 内表gt_tab中的数据为:

100 AAA

100 BBB

200 AAA

200 BBB

200 CCC

第一次循环,内表gt_tab中的数据为 100 AAA 在执行AT END OF语句后,内表gt_tab中的数据为 100 AAA

第二次循环,内表gt_tab中的数据为 100 BBB 在执行AT END OF语句中,内表gt_tab中的数据为 100 ***,在执行AT END OF语句后,内表gt_tab中的数据为 100 BBB

第三次循环,内表gt_tab中的数据为 200 AAA 在执行AT END OF语句后,内表gt_tab中的数据为 200 AAA

第四次循环,内表gt_tab中的数据为 200 BBB 在执行AT END OF语句后,内表gt_tab中的数据为 200 BBB

第五次循环,内表gt_tab中的数据为 200 CCC 在执行AT END OF语句中,内表gt_tab中的数据为 200 ***,在执行AT END OF语句后,内表gt_tab中的数据为 200 CCC

为了得到我们想要的重复数据的最后一条,需要将内表的数据在执行AT END OF语句前,转移到另一个工作区gw_tab中保存,否则想要的数据中str均为***。

最后得到的数据为:

100 BBB

200 CCC

另外,同理 AT NEW 语句的使用 ,也是如此,本实例将AT END OF num,改为AT NEW num后,最后的结果为:

100 AAA

200 AAA

转自:https://www.cnblogs.com/Sapbruce/p/4155764.html

ABAP - AT END OF 的使用的更多相关文章

  1. ABAP单元测试最佳实践

    本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...

  2. ABAP实现屏幕自己刷新和跳转功能

    ABAP开发工程中,有时候需要让跳转出的屏幕自动实现跳转和刷新的功能,该功能的实现需要在屏幕PBO 里面调用相应的事件执行. 关键代码为: SET TITLEBAR ' 屏幕自动程序'. IF g_c ...

  3. 一步步实现ABAP后台导入EXCEL到数据库【3】

    在一步步实现ABAP后台导入EXCEL到数据库[2]里,我们已经实现计划后台作业将数据导入数据库的功能.但是,这只是针对一个简单的自定义结构的导入程序.在实践应用中,面对不同的表.不同的导入文件,我们 ...

  4. 一步步实现ABAP后台导入EXCEL到数据库【2】

    前文:http://www.cnblogs.com/hhelibeb/p/5912330.html 既然后台作业只能在应用服务器运行,那么,我们可以先将要上传的数据保存在应用服务器中,之后再以后台作业 ...

  5. 让ABAP开发者愈加轻松的若干快捷键

    引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. ...

  6. ABAP游标的使用

    在Oracle,SQLServer中游标的使用是经常的,所以在ABAP不懂是不行的......     1.声明游标 OPEN CURSOR [WITH HOLD] <c> FOR SEL ...

  7. 一步步实现ABAP后台导入EXCEL到数据库【1】

    在SAP的应用当中,导入.导出EXCEL文件的情况是一个常见的需求,有时候用户需要将大量数据定期导入到SAP的数据库中.这种情况下,使用导入程序在前台导入可能要花费不少的时间,如果能安排导入程序为后台 ...

  8. ABAP关键字SUBMIT的简单例子和学习小记

    网上有关SUBMIT实现程序调用的例子稍显复杂,而相关的参考和解释则不是很完善.本文给出一个SUBMIT的小示例程序(代码见文末),实现了最简单的程序间调用及返回值,以及SAP官方文档中相关内容的翻译 ...

  9. ABAP 常见查询问题解决方法

    在ABAP 编程的时候会遇到查询单条语句的时候数能取对  但是条目数多了的话 会出现数不准确的问题   原因可能出现在查询使用了二分法查询方式  二分法查询下必须按排序的字段排序  还得按照排序的字段 ...

  10. SAP ABAP学习路线图--标准教程

    SAP ABAP学习路线图--标准教程 摘自:http://www.cnblogs.com/clsoho/archive/2010/07/05/1771400.html

随机推荐

  1. python 多线程编程之_thread模块

    参考书籍:python核心编程 _thread模块除了可以派生线程外,还提供了基本的同步数据结构,又称为锁对象(lock object,也叫原语锁.简单锁.互斥锁.互斥和二进制信号量). 下面是常用的 ...

  2. eclipse 的安装

    打开eclipse官网 https://www.eclipse.org/ 点击此处 再点击 最后点击下载 然后一路下一步安装即可 添加中文语言包 打开eclipse官网 https://www.ecl ...

  3. Eureka 入门,带视频

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...

  4. IT兄弟连 HTML5教程 CSS3属性特效 遮罩

    CSS遮罩提供一种基于像素级别的,可以控制元素透明度的能力,类似于png24位或png32位中的alpha透明通道的效果.遮罩有三个属性可以设置,分别是mask-image.mask-position ...

  5. Android Studio学习-连接真机测试教学

    Android Studio 原文链接 https://blog.csdn.net/weixin_44304387/article/details/99213012 真机测试会比AVD(Android ...

  6. vc6.0 绿色版 下载地址

    最新版的vs2019已经完全不支持生成运行在xp下的应用程序 每次在xp下测试,都需要配置好vc6.0,但乱七八糟的太多了,给出地址,绿色版可用 http://www.downcc.com/soft/ ...

  7. 解决bcp导出CSV文件没有表头

    思路: 1.输出表头文件到指定目录 2.bcp导出csv文件到temp目录 3.将以上导出文件与表头文件合并 4.删除temp目录下的文件 实现: create proc exportCSV ( @i ...

  8. mysql-5.7.27安装

    1,下载5.7.27安装包   百度网盘   (注:5.7.27要安装net faframework4.5.2) 2,创建my.ini及data文件 下载5.7.27后解压,在创建my.ini文件及d ...

  9. Vue+ElementUI的后台管理框架

    新开发的一个后台管理系统.在框架上,领导要用AdminLTE这套模板.这个其实很简单,把该引入的样式和js文件引入就可以了.这里就不多赘述了.有兴趣的可以参考:https://www.jianshu. ...

  10. Vue结合后台导入导出Excel问题详解后续

    接前几天写的一篇博客  https://www.cnblogs.com/ttjm/p/11307462.html 在ie浏览器测试发现打不开,经调查问题如下 1 如果在本地开发调试,请求接口报错如下 ...