Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2716437
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类: 项目管理

2019-04-24 14:59:44

REFRESH
refresh itab,与clear itab[]相似,只清空内表行,但保存内存区
CLEAR
   clear itab,清空工作区,但不清空内表行, 但保存内存区。
   clear itab[],清空内表行,但不清空工作区,但保存内存区。

FREE
free itab,与refresh相似,清空内表行,但不清空工作区,且释放内存区域。


表1 带工作区的内表itab各种操作结果
-----------------------------------------------------------------------------------------
操作 | 工作区(work area)-itab | 内表行-itab[]  |   内存区
-----------------------------------------------------------------------------------------
REFRESH itab | 保留 | 清除 |   保留
-----------------------------------------------------------------------------------------
CLEAR itab | 清除 保留 | 保留
-----------------------------------------------------------------------------------------
CLEAR itab[] 保留 清除 | 保留
-----------------------------------------------------------------------------------------
FREE 保留 清除 | 清除
-----------------------------------------------------------------------------------------


表2 不带工作区的内表itab各种操作结果
-------------------------------------------------------
操作 | 内表行-itab[]  |   内存区
-------------------------------------------------------
REFRESH itab | 清除 |   保留
-------------------------------------------------------
CLEAR itab 清除 | 保留
-------------------------------------------------------
CLEAR itab[] 清除 | 保留
-------------------------------------------------------
FREE 清除 | 清除
-------------------------------------------------------

小结:只有在带工作区itab情况,clear itab
清除工作区,保留内表行.

附测试程序:
SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style: italic; color: #808080; } .L0S32 { color: #3399FF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; }
REPORT ZTEST_FERESH_FREE_CLEAR.
TABLESztable001.
DATAit_tab1 TYPE TABLE OF ztable001 WITH HEADER LINE,
      it_tab2 TYPE TABLE OF ztable001 ,
      wa_tab  TYPE ztable001,
      a TYPE i,
      b TYPE i.
SELECT *
  INTO TABLE it_tab1
  FROM ztable001.
SELECT *
  INTO TABLE it_tab2
  FROM ztable001.

LOOP AT it_tab1 INTO wa_tab FROM TO 2.
  WRITE/ it_tab1-Txt.
  WRITE/ wa_tab-Txt.
ENDLOOP.
 WRITE '****************'.

*it_tab1-zxh2 = '20192000'.
*it_tab1-zxm2 = 'qqqq'.
*it_tab1-zxb2 = '女'.
*it_tab1-zsg2 = '170'.
it_tab1-num 20.
it_tab1-txt '1557510000'.
APPEND it_tab1 .

*REFRESH it_tab1.
 CLEAR it_tab1[]"仅清理内表行
* CLEAR it_tab1."仅清理工作区
* FREE it_tab2.
* REFRESH it_tab2.
* FREE it_tab1.

LOOP AT it_tab2 INTO wa_tab " FROM 1 TO 2.
  WRITE/ it_tab1-txt && '*** '  && wa_tab-txt.
ENDLOOP.

LOOP AT it_tab1 INTO wa_tab " FROM 1 TO 2.
  WRITE/ it_tab1-txt && '--- '  && wa_tab-txt.
ENDLOOP.
WRITE '****************'.
阅读(259636) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~