abap<itab>refresh,clear,free
在ABAP开发过程中,clear,refresh,free都有用来清空内表的作用,但用法还是有区别的。
- clear itab,清空内表行以及工作区,但保存内存区。
- clear itab[],清空内表行,但不清空工作区,但保存内存区。
- refresh itab,与clear itab[]相似,只清空内表行,但保存内存区。
- free itab,与refresh相似,清空内表行,但不清空工作区,且释放内存区域。
clear itab. 清表头(如果没有表头,清表体) 保存内存区
clear itab[]. 清表体保存内存区
refresh itab. = clear itab[]. 清表体 保存内存区
free itab. 清表体同时释放内存区
----------------------------------------------------------------------------
REFRESH .
该语句将内 表重置为填 充它以前的 状态。这意 味着表格将 不包含任何 行。
如果使用没 有表格工作 区域的内表 ,可以使用 CLEAR 语句代替 REFRESH 语句
1、Deletes all table lines.
2、Storage space is not released.
3、Paging is released.
4、Header line remains unchanged.
CLEAR .
如果使用有 表头行的内 表,CLEAR 仅 清除表格工 作区域。要 重置整个内 表而不清除 表格工作区 域,使用 REFRESH 语句或 CLEAR 语句
CLEAR [].
内表名称之 后的方括号 指内表体。
使用 REFRESH 或 CLEAR 初始化内表 后,系统保 持在内存中 保留的空间 。可以用 FREE 语句释放内 存
1、Initialises the header line.
2、Internal table lines remain unchanged.
FREE .
也可以使用 FREE 语句重置内 表并直接释 放其内存, 而不必先使 用 REFRESH 或 CLEAR。 与 REFRESH 一样,FREE
在表格体上 ,而不在表 格工作区域 上工作。
在 FREE 语句之后, 可以再次定 位内表。这 样,系统就 再次保留内 存空间。
可以使用如 下逻辑表达 式检查内表 是否为空
1、Deletes all table lines.
2、Storage space is released.
3、Header line remains unchanged.
例:
DATA: BEGIN OF LINE,
COL1,
COL2,
END OF LINE.
DATA ITAB LIKE LINE OCCURS 10.
LINE-COL1 = 'A'. LINE-COL2 = 'B'.
APPEND LINE TO ITAB.
REFRESH ITAB.
IF ITAB IS INITIAL.
WRITE 'ITAB is empty'.
FREE ITAB.
ENDIF.
其输出为:
ITAB is empty.
在该程序中 ,先对内表 ITAB进 行填充,然 后再用 REFRESH 初始化。在 IF 语句中,用 带 IS INITIAL 参数的逻辑 表达式检查 ITAB 是否为空。 如果空着, 则释放内存 。
abap<itab>refresh,clear,free的更多相关文章
- ABAP 内表 详解
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- ABAP内表数据和JSON格式互转
本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...
- ZPPR016-在制品清单报表
*&---------------------------------------------------------------------**& Report ZPPR016*&a ...
- SAP 数据类型
数据元素和基本类型对应关系 数据字典预置类型 ABAP类型 运行长度 说明 ACCP N(6) 6 会计计算周期 CHAR C(n) 1-255 字符 CLNT C(3) 3 集团,数据区域代码 CU ...
- SAP自开发程序
1.显示/查找SAP所有可执行程序清单,双击事务码执行. *&----------------------------------------------------------------- ...
- ABAP-动态ALV
1.参数定义 "ALV type-pools:slis,rsds,vrm. data:gt_fieldcat type lvc_t_fcat with header line, gt_eve ...
- test_bdc
[转]REPORT zbdc_test_by_shir. * 定义个BDC格式的内表**************************************************DATA : B ...
- 【Java EE 学习 47】【Hibernate学习第四天】【sesion】【一级缓存】【懒加载】
一.Session概述 1.Session 接口是 Hibernate 向应用程序提供的操纵对数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载Java 对象的方法. 2.理解Sessi ...
- 批量创建SO
生成一般销售订单和退货订单所要使用的BAPI不同, 一般销售订单: BAPI_SALESORDER_CREATEFROMDAT2 退货订单: BAPI_CUSTOMERRETURN_CREATE 二者 ...
随机推荐
- 通过yum安装最新服务
给yum添加所安装服务最新rpm源 #这里用mysql为例 # wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm # y ...
- 3.Zabbix 3.0 部署
请查看我的有道云笔记: http://note.youdao.com/noteshare?id=0139b8d2833129740be82e36a94e4fca&sub=5931260FCC8 ...
- Flutter仿照airbnb创建app
github地址:https://github.com/GainLoss/flutter-app 一.基础 flutter是谷歌公司开发的开源免费的UI框架,用dart语言实现的,可以实现跨平台,一套 ...
- Hybris ECP(Enterprise Commerce Platform)的调试
This blog is written to demonstrate how to setup debug environment for Hybris ECP(Enterprise Commerc ...
- 【LOJ6041】「雅礼集训 2017 Day7」事情的相似度(用LCT维护SAM的parent树)
点此看题面 大致题意: 给你一个\(01\)串,每次询问前缀编号在一段区间内的两个前缀的最长公共后缀的长度. 离线存储询问 考虑将询问离线,按右端点大小用邻接表存下来(直接排序当然也可以啦). 这样的 ...
- <知识整理>2019清北学堂提高储备D3
全天动态规划入门到入坑... 一.总概: 动态规划是指解最优化问题的一类算法,考察方式灵活,也常是NOIP难题级别.先明确动态规划里的一些概念: 状态:可看做用动态规划求解问题时操作的对象. 边界条件 ...
- JavaScript数组实战小练习
1.找出元素在数组中的位置. function indexOf(arr, item) { if(Array.prototype.indexOf){ //判断浏览器是否支持indexOf方法 retur ...
- mybais学习记录一——入门程序
一.传统连接数据库和执行sql的不足 1.数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能. 设想:使用数据库连接池管理数据库连接. 2. ...
- TIDB2 —— 三篇文章了解 TiDB 技术内幕 - 说存储
原文地址:https://pingcap.com/blog-cn/tidb-internal-1/ 引言 数据库.操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石.其中数据库更靠近应用层, ...
- oracle中lock和latch的用途
本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁吗?只是翻译不同而以?研究过后才知道两者有很大 ...