ABAP区别CLEAR、REFRESH、FREE
CLEAR、REFRESH、FREE
内表:如果使用有表头行的内表,CLEAR 仅清除表格工作区域。例如 clear gs-school 清除工作区。
要重置整个内表而不清除表格工作区域,使用REFRESH语句或 CLEAR 语句CLEAR <itab>[].;REFRESH加不加中括号都是只清内表,另外REFRESH是专为清内表的,不能清基本类型变量,但CLEAR可以清基本类型变量。例如 clear gs-school[] 等价于 refresh gs-school 等价于 refresh gs-school[]。
CLEAR、REFRESH语句都不会释放掉内表所占用的空间。
如果想初始化内表的同时还要释放所占用的空间,请使用:FREE <itab>. 比如 free gs-school 可以释放内表空间。
TYPES: BEGIN OF ty_school,
schoolno() TYPE c,
schoolname() TYPE c,
END OF ty_school.
DATA gt_school TYPE TABLE OF ty_school WITH HEADER LINE. gt_school-schoolno = ''.
gt_school-schoolname = '学生1'.
APPEND gt_school.
CLEAR gt_school. gt_school-schoolno = ''.
gt_school-schoolname = '学生2'.
APPEND gt_school.
CLEAR gt_school. gt_school-schoolno = ''.
gt_school-schoolname = '学生3'.
INSERT gt_school INDEX .
CLEAR gt_school. WRITE '输出全表为:'.
LOOP AT gt_school.
WRITE / gt_school.
ENDLOOP. gt_school-schoolno = ''.
gt_school-schoolname = '修改学生3'.
MODIFY gt_school INDEX .
CLEAR gt_school.
WRITE / '输出全表为:'.
LOOP AT gt_school.
WRITE / gt_school.
ENDLOOP.
CLEAR gt_school. READ TABLE gt_school WITH KEY schoolno = ''.
WRITE: / '读取到的行为:',gt_school.
CLEAR gt_school. DELETE TABLE gt_school WITH TABLE KEY schoolno = '' schoolname = '修改学生3'.
WRITE / '删除后的结果为:'.
LOOP AT gt_school.
WRITE / gt_school.
ENDLOOP.
gt_school-schoolno = ''.
gt_school-schoolname = '修改学生3'. REFRESH gt_school.
APPEND gt_school.
CLEAR gt_school[].
Free gt_school.
APPEND gt_school.
CLEAR gt_school.
CLEAR gt_school.
ABAP区别CLEAR、REFRESH、FREE的更多相关文章
- CLEAR REFRESH FEEE的区别
clear,refresh,free都有用来清空内表的作用,但用法还是有区别的.clear itab,清空内表行以及工作区,但保存内存区.clear itab[],清空内表行,但不清空工作区,但保存内 ...
- ABAP 订单-交货单-发货过账自动完成 案例
*&---------------------------------------------------------------------* *& Report ZSDR006 ...
- hibernate的集中持久化方法的区别
一.预备知识 在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient.persistent.detached 下边是常见的翻译办法: transient:瞬态或者自由态 ...
- ABAP 面向对象事件处理
面向对象事件在ABAP中十分重要,并且很容易处理. 我们需要handler方法来注册事件: METHODS : handle_event_raised FOR EVENT event_raised O ...
- Hibernate update 和 merge 、saveOrUpdate的区别
this.getSession().update(obj); this.getSession().merge(obj); this.getSession().saveOrUpdate(obj); 1. ...
- Hibernate save()、saveOrUpdate()、merge()的区别
一. update 和 merge的区别 首先在执行更新操作的时候,两者都必须要有id update是直接执行update 语句,执行后状态为持久化状态 而merge则不一样: 1. 如果sessio ...
- Hibernate方法save、update、merge、saveOrUpdate及get和load的区别
在看这几个方法区别之前,有必要了解hibernate实体对象的三种状态,点击查看 http://www.cnblogs.com/Y-S-X/p/8345754.html 一.update 和 merg ...
- Handle Refresh Token Using ASP.NET Core 2.0 And JSON Web Token
来源: https://www.c-sharpcorner.com/article/handle-refresh-token-using-asp-net-core-2-0-and-json-web ...
- SAP 直营验单
*&---------------------------------------------------------------------* *& Report ZSDR005 ...
随机推荐
- 12 Vue学习 项目技术栈
vue2 + vuex + vue-router + webpack + ES6/7 + less + element-ui 1:vuex: Vuex 是一个专为 Vue.js 应用程序开发的状态管理 ...
- MFC中界面自适应
void CMyDlg::OnSize(UINT nType, int cx, int cy){ CDialogEx::OnSize(nType, cx, cy); CRect rt; GetClie ...
- Linux做脚本定时任务(定时清理日志)
无论一些面试问题,还是实际应用,都会用到虚拟机的定时任务.现做定时清理日志日志做一总结. 1.查看/etc/crontab文件. linux 系统则是由 cron (crond) 这个系统服务来控制的 ...
- 安装完SAP后BASIS的配置流程
安装完SAP后BASIS配置流程 安装完SAP后,配置流程. 1.升级kernel. 2.TCD SLICENSE: License Administration install > Syste ...
- 超级实用的Chrome插件
1.JSON-handle:浏览器前台访问后台,后台返回json,它帮你格式化 2.Page Ruler:帮你测量页面上任何位置的长宽高 3. Momentum:打开新的tab页就像打开了一个新的世界 ...
- rpm 软件包
rpm 软件包 Linux 中有安装软件方式有两种,源码安装以及软件包安装: 压缩包:源码包,编译后安装 rpm(redhat package manager 红帽软件包管理):需要编译,直接安装 ...
- Pure CSS 的网格布局(比bootstrap小很多且易扩展的css UI)
(转自百度经验)http://jingyan.baidu.com/article/48a42057c44fdba9242504dd.html Pure是一个简单.实用的CSS框架,鉴于目前网上对pur ...
- 符号分割的字符串转换为XML
把某一符串分割的字符串转换为 XML格式: DECLARE @str NVARCHAR(MAX) = N'fd,re,45,tyu,976,qwer,gdsg,uyt' DECLARE @xml XM ...
- TCP/IP之大明邮差
大明王朝天启四年, 清晨. 天色刚蒙蒙亮,我就赶着装满货物的马车来到了南城门, 这里是集中处理货物的地方 , 一队一队的马车都来到这里, 城头的士兵带着头盔,身披盔甲, 手持长枪, 虎视眈眈的注视这下 ...
- 51nod 1562 玻璃切割
1562 玻璃切割 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1562 题目来源: CodeForces 基准时间 ...