通过例子学习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.
例子中先定义了一个结构化的字段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.
相关文章推荐
- 通过例子学习ABAP(二)--内表的赋值
- 通过例子学习ABAP(二)--内表的赋值
- 通过例子学习ABAP(四)--INSERT语句对于三种类型的内表不同效果
- 通过例子学习ABAP(三)--初始化内表
- 通过例子学习ABAP(三)--初始化内表
- 通过例子学习ABAP--ABAP编程语言 数据处理(一)
- 通过例子学习ABAP(四)--INSERT语句对于三种类型的内表不同效果
- 通过例子学习ABAP--ABAP编程语言 数据处理(一)
- 通过例子学习ABAP(三)--初始化内表
- 通过例子学习ABAP(四)--INSERT语句对于三种类型的内表不同效果
- 通过例子学习WPF开发
- 通过例子学习lua-2
- 通过例子学习正则表达式(三)--检查E-mail地址及其他
- 通过一个例子学习stringstream
- ABAP关键字SUBMIT的简单例子和学习小记
- 通过例子学习Lua(4) -- 函数的调用 (转)
- ABAP通过正则表达式提成字符串中的数字例子
- 通过lua自带例子学习lua 02
- 通过例子学习spark dataframe -- transformations函数(2)
- mybatis学习-入门(4)-一个完整的web例子,通过json将字符串传递给前台,然后显示出来