您的位置:首页 > 其它

通过例子学习ABAP(二)--内表的赋值

2007-11-06 19:48 225 查看
这是一个很有趣的例子,可以反映出带表头的内表和不带表头的内表赋值的区别。

例子中先定义了一个结构化的字段LINE,包含了COL1和COL2两个字段。通过

SPAN {
font-family: "Courier New";
font-size: 14pt;
color: #000000;
background: #CCE8D0;
}
.L1S52 {
color: #0000FF;
}APPEND line TO etab. 将值赋给ETAB之后,DEBUG看到的结果是:
这时候再通过 MOVE etab[] TO ftab1. 语句将值赋给ITAB1中后,可以看到FTAB1表的结果是:





可以清楚的看到有表头的表etab和无表头的表 ftab1结果是不一样的,所以赋值和输出的方式也不同。无表头的表需要再定义一个与该内表结构相同的工作区对象供程序使用,将数据写入内表时,必须首先给工作区赋值,然后在工作区添加或者插入内表。从内表中取值时,需要用已定义的内表行内容覆盖工作区的内容,然后再从程序中使用工作区的内容。



SPAN {
font-family: "Courier New";
font-size: 14pt;
color: #000000;
background: #CCE8D0;
}
.L1S31 {
font-style: italic;
color: #808080;
}
.L1S32 {
color: #3399FF;
}
.L1S33 {
color: #4DA619;
}
.L1S52 {
color: #0000FF;
}*&---------------------------------------------------------------------*
*& Report ZTEST_SD1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZTEST_SD1.
* move

DATA: BEGIN OF line,
col1(1) TYPE c,
col2(1) TYPE c,
END OF line.

DATA: etab LIKE TABLE OF line WITH HEADER LINE,
ftab1 LIKE TABLE OF line.

line-col1 = 'A'. line-col2 = 'B'.

APPEND line TO etab.
LOOP AT ETAB.
WRITE: / ETAB-COL1, ETAB-COL2.
ENDLOOP.

MOVE etab[] TO ftab1.
DATA wa LIKE LINE OF ftab1.

LOOP AT ftab1 INTO WA.
WRITE : / WA-COL1 ,WA-COL2.
ENDLOOP.

LOOP AT ftab1 INTO line .
WRITE: / line-col1, line-col2.
ENDLOOP.

SKIP.
ULINE.



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: