internal table 的一些操作
来源:互联网 发布:3d骨骼软件 编辑:程序博客网 时间:2024/05/12 21:16
*internal table with work area
DATA: BEGIN OF LINE,
COL1 TYPE I,
COL2 TYPE I,
END OF LINE.
DATA ITAB like LINE occurs 10.
DO 2 TIMES.
LINE-COL1 = SY-INDEX.
LINE-COL2 = SY-INDEX ** 2.
APPEND LINE TO ITAB.
ENDDO.
LOOP AT ITAB INTO LINE.
WRITE: / LINE-COL1, LINE-COL2.
ENDLOOP.
*internal table with type
types: begin of tline,
col1 type i,
col2 type i,
end of tline.
types tItab type tline occurs 10.
data: dline type tline,
dItab type tItab.
do 2 times.
dline-col1 = sy-index.
dline-col2 = sy-index ** 2.
append dline to dItab.
enddo.
loop at dItab into dline.
write: / dline-col1, dline-col2.
endloop.
skip.
*internal table without work area
DATA: BEGIN OF ITAB2 OCCURS 10,
COL1 TYPE I,
COL2 TYPE I,
END OF ITAB2.
DO 2 TIMES.
ITAB2-COL1 = SY-INDEX.
ITAB2-COL2 = SY-INDEX ** 2.
APPEND ITAB2. "新增至内表中
ENDDO.
LOOP AT ITAB2. "ITAB2 总共有两个行
WRITE: / ITAB2-COL1, ITAB2-COL2.
ENDLOOP.
skip.
append lines of dItab from 1 to 1 to itab2.
LOOP AT ITAB2. "ITAB2 总共有4行
WRITE: / ITAB2-COL1, ITAB2-COL2.
ENDLOOP.
DATA: BEGIN OF ITAB3 OCCURS 3,
COL1(3) TYPE C,
COL2 TYPE I,
END OF ITAB3.
ITAB3-COL1 = 'ABC'. ITAB3-COL2 = 10.
COLLECT ITAB3.
ITAB3-COL1 = 'XYZ'. ITAB3-COL2 = 20.
COLLECT ITAB3.
ITAB3-COL1 = 'ABC'. ITAB3-COL2 = 30.
COLLECT ITAB3. "汇总 COL2 至 COL1=ABC 的元素上
LOOP AT ITAB3.
WRITE: / ITAB3-COL1, ITAB3-COL2.
ENDLOOP.
DATA: BEGIN OF line4,
COL1 TYPE I,
COL2 TYPE I,
END OF line4.
DATA itab4 LIKE line4 OCCURS 10 with header line.
DO 3 TIMES.
line4-COL1 = SY-INDEX * 10.
line4-COL2 = SY-INDEX * 20.
APPEND line4 TO itab4.
ENDDO.
line4-COL1 = 100.
line4-COL2 = 200.
INSERT line4 INTO itab4 index 2. "插入在位置2 之前
LOOP AT itab4 INTO line4.
WRITE: / SY-TABIX, line4-COL1, line4-COL2. "SY-TABIX 为Table 位置
ENDLOOP.
skip.
LOOP AT ITAB4 INTO LINE4 WHERE COL1 >= 100.
WRITE: / SY-TABIX, LINE4-COL1.
ENDLOOP.
skip.
read table itab4 into line4 index 2.
WRITE: / SY-TABIX, LINE4-COL1, LINE4-COL2.
skip.
LINE4-COL1 = 4.
write / LINE4-COL1.
LINE4-COL2 = 100.
MODIFY ITAB4 FROM LINE4 INDEX 2.
read table itab4 into line4 index 2.
WRITE: / SY-TABIX, LINE4-COL1, LINE4-COL2.
skip.
LINE4-COL1 = 10.
MODIFY ITAB4 FROM LINE4 INDEX 3 TRANSPORTING COL1.
read table itab4 into line4 index 3.
WRITE: / SY-TABIX, LINE4-COL1, LINE4-COL2.
skip.
write 'delete internal table use index:'.
delete ITAB4 index 2.
loop at itab4 into line4.
write: / line4-col1, line4-col2.
endloop.
skip.
write 'delete internal table by condition.'.
delete itab4 where col2 = 40.
loop at itab4 into line4.
write: / line4-col1, line4-col2.
endloop.
skip.
line4-col1 = 100.
line4-col2 = 400.
append line4 to itab4.
line4-col1 = 100.
line4-col2 = 200.
append line4 to itab4.
write 'sort internal table'.
*sort itab4 descending by col1 col2.
sort itab4 by col1 descending col2 ascending.
loop at itab4 into line4.
write: / line4-col1, line4-col2.
endloop.
skip.
write 'calc numeric field sum.'.
LOOP AT ITAB4 INTO LINE4.
SUM.
ENDLOOP.
WRITE: / LINE4-COL1, LINE4-COL2.
skip.
write 'refresh internal table.'.
clear ITAB3[].
LOOP AT ITAB3.
WRITE: / ITAB3-COL1, ITAB3-COL2.
ENDLOOP.
free itab3.
span { font-family: "Courier New"; font-size: 10pt; color: rgb(0, 0, 0); background: none repeat scroll 0% 0% rgb(217, 217, 217); }.L0S32 { color: rgb(51, 153, 255); }.L0S33 { color: rgb(77, 166, 25); }.L0S52 { color: rgb(0, 0, 255); }write 'internal table with header line.'.
TYPES: BEGIN OF LINE5,
COL1 TYPE I,
COL2 TYPE I,
END OF LINE5.
DATA ITAB5 TYPE HASHED TABLE OF LINE5 WITH UNIQUE KEY COL1
WITH HEADER LINE.
DO 4 TIMES.
ITAB5-COL1 = SY-INDEX.
ITAB5-COL2 = SY-INDEX ** 2.
INSERT TABLE ITAB5.
ENDDO.
write / 'read table.'.
ITAB5-COL1 = 2.
READ TABLE ITAB5 FROM ITAB5.
WRITE: / ITAB5-COL1, ITAB5-COL2.
write / 'modify table.'.
ITAB5-COL2 = 100.
MODIFY TABLE ITAB5.
LOOP AT ITAB5.
WRITE: / ITAB5-COL1, ITAB5-COL2.
ENDLOOP.
write / 'delete table.'.
ITAB5-COL1 = 4.
DELETE TABLE ITAB5.
LOOP AT ITAB5.
WRITE: / ITAB5-COL1, ITAB5-COL2.
ENDLOOP.
skip.
write 'internal table without header line.'.
TYPES: BEGIN OF LINE6,
COL1 TYPE I,
COL2 TYPE I,
END OF LINE6.
DATA: ITAB6 TYPE HASHED TABLE OF LINE6 WITH UNIQUE KEY COL1,
WA LIKE LINE OF ITAB6.
DO 4 TIMES.
WA-COL1 = SY-INDEX.
WA-COL2 = SY-INDEX ** 2.
INSERT WA INTO TABLE ITAB6.
ENDDO.
WA-COL1 = 2.
READ TABLE ITAB6 FROM WA INTO WA.
WA-COL2 = 100.
MODIFY TABLE ITAB6 FROM WA.
WA-COL1 = 4.
DELETE TABLE ITAB6 FROM WA.
LOOP AT ITAB6 INTO WA.
WRITE: / WA-COL1, WA-COL2.
ENDLOOP.
- internal table 的一些操作
- 对internal table的操作
- 关于table的一些非主流操作
- 关于 table 的一些js操作
- Internal Table
- 转载一篇lua table的__index ,setmetable()的一些操作
- lua table的__index ,setmetable()的一些操作
- Table的一些问题
- table的一些设置
- Creating Dynamic internal table
- oracle internal table x$
- Internal table to PDF
- ABAP内表(internal table)有关的系统变量
- ABAP内表(internal table)有关的系统变量
- table的操作
- table的所有操作
- table的所有操作
- table 的简单操作
- Java 获取客户端mac地址
- 快速实现ARM和DSP的通信和协同工作
- VC++的UNICODE编程
- 达芬奇数字媒体片上系统的架构和Linux启动过程
- .htaccess -------------的重写规则,
- internal table 的一些操作
- 设计模式 - 单实例
- 使用XDC工具创建基于Codec Engine的dm6446双核工程
- 在Eclipse中部署GeoServer代码
- java web第一个项目学习笔记
- 求教查询后,数组如何分页问题,求代码
- 风雨20年:我所积累的20条编程经验
- 使用Cscope阅读Linux源码
- 初学者:介绍NSLog的使用