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.
TABLES: ztable001.
DATA: it_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 1 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) |