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的更多相关文章

  1. ABAP 内表 详解

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  2. ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...

  3. ZPPR016-在制品清单报表

    *&---------------------------------------------------------------------**& Report ZPPR016*&a ...

  4. SAP 数据类型

    数据元素和基本类型对应关系 数据字典预置类型 ABAP类型 运行长度 说明 ACCP N(6) 6 会计计算周期 CHAR C(n) 1-255 字符 CLNT C(3) 3 集团,数据区域代码 CU ...

  5. SAP自开发程序

    1.显示/查找SAP所有可执行程序清单,双击事务码执行. *&----------------------------------------------------------------- ...

  6. ABAP-动态ALV

    1.参数定义 "ALV type-pools:slis,rsds,vrm. data:gt_fieldcat type lvc_t_fcat with header line, gt_eve ...

  7. test_bdc

    [转]REPORT zbdc_test_by_shir. * 定义个BDC格式的内表**************************************************DATA : B ...

  8. 【Java EE 学习 47】【Hibernate学习第四天】【sesion】【一级缓存】【懒加载】

    一.Session概述 1.Session 接口是 Hibernate 向应用程序提供的操纵对数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载Java 对象的方法. 2.理解Sessi ...

  9. 批量创建SO

    生成一般销售订单和退货订单所要使用的BAPI不同, 一般销售订单: BAPI_SALESORDER_CREATEFROMDAT2 退货订单: BAPI_CUSTOMERRETURN_CREATE 二者 ...

随机推荐

  1. 为什么有的系统的事务码BSP_WD_CMPWB看不见Enhance Component这个按钮

    我的同事问我,为什么有的系统看不到下图7的按钮? 对比两张图里工具栏的差异. 答案 这是因为在图2(看不见Enhance Component按钮)的系统里,该系统的类型被设置为"SAP&qu ...

  2. Fiori Launchpad Tile点击后跳转的调试技巧

    在SAP Fiori launchpad 里点击某个tile之后,后台会计算出跳转的目标url返回给前台. 下图中一个个白色的方框就成为tile.每个tile点击之后,会打开一个对应的Fiori应用. ...

  3. OC 内存管理(retain和release)

    内存管理 retain和release简单使用 #import "Student.h" @implementation Student @synthesize age = _age ...

  4. ZOJ 3379 Master Spark

    计算出中轴能覆盖到某个点的极角范围,最大覆盖次数即是答案. 首先把中轴和点重合,此时中轴的角度为theta = atan(y/x), 然后以原点为圆心旋转点和抛物线相交求出之间的夹角, 把x = a* ...

  5. 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)

    http://blog.csdn.net/hjf19790118/article/details/6919265 1.什么是面向对象编程(Object-Oriented Programming)? 面 ...

  6. 动态规划(DP),压缩状态,插入字符构成回文字符串

    题目链接:http://poj.org/problem?id=1159 解题报告: 1.LCS的状态转移方程为 if(str[i-1]==str[j-1]) dp[i][j]=dp[i-1][j-1] ...

  7. html嵌套关系

    哪些元素可以出现在什么地方,哪一个元素可以被包涵在另一个元素里面,这个都是有规则的 1.块级元素可以包涵行内元素   2.块级元素不一定包涵块级元素 p包涵div是不合法的,在浏览器里面会自动在p里面 ...

  8. Linux 安装ruby编译环境

    1.输入:yum install ruby 1.1如果安装文件出错Error Downloading Packages: 输入:yum clean all 输入:yum makecache,此时如果出 ...

  9. Java中Synchronized的用法(简单介绍)

    简单介绍 synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调 ...

  10. 【洛谷P3469】[POI2008]BLO-Blockade

    BLO-Blockade 题目链接 若一个点为割点:统计出每个子树的大小,两两相乘再相加, 再加上n-1,为这个点与其他点的拜访数, 因为拜访是互相的,最后再乘二即可 若一个点不是割点:只有(n-1) ...