一. Internal Table 的宣告
ABAP/4 中的Internal Table 是一种Data Structure,类似于其它语言中的
STRUTURE,它可以由几个不同类型的字段(field)组成,用来表示具有不同
属性的某一事物,单独一笔数据表示某个事物,多笔数据表示具有相同属性
的多个事物.例如:
为了存取或记录某班的同学资料,我们创建如下的internal table:
DATA: BEGIN OF STUDENT OCCURS 20,
STD_ID TYPE N,
NAME(10) TYPE C,
AGE TYPE I,
BIRTH TYPE D,
SCORE TYPE P DECIMALS 2,
END OF STUDENT.
此时我们已经创建了名叫STUDENT的internal table,并且为它预先申请了
能够存放20 笔资料的Buffer(当然,如果存取资料不止20 笔,程序执行时,
会自动申请系统Buffer)
Internal table 的定义有以下几种格式:
格式一. DATA: BEGIN OF OCCURS ,
TYPE ,
[ TYPE ,
TYPE ,
… ]
END OF .
格式二. TYPES: BEGIN OF ,
TYPE ,
[ TYPE ,
TYPE ,
… ]
END OF .
TYPES TYPE OCCURS .
格式三. DATA: BEGIN OF .
INCLUDE STRUCTURE
二. APPEND LINE
格式: APPEND [ TO ] .
举例一. (使用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.
执行结果为:
1 1
2 4
举例二. (不使用work area)
DATA: BEGIN OF ITAB OCCURS 10,
COL1 TYPE I,
COL2 TYPE I,
END OF ITAB.
DO 2 TIMES.
ITAB-COL1 = SY-INDEX.
ITAB-COL2 = SY-INDEX ** 2.
APPEND ITAB.
ENDDO.
LOOP AT ITAB.
WRITE: / ITAB-COL1, ITAB-COL2.
ENDLOOP.
执行结果与举例一相同.
举例三. (加入另一个Internal table 的元素)
格式: APPEND LINES OF [FROM ] [TO ] TO .
将 的元素加入至 中,可选取自 至 的范围.
APPEND LINES OF ITAB TO JTAB.
xuebule:
M249140611:
lininglininglining: 为什么我用SE19,双击那些方法后不能编辑?
SAPVOLCANO: 顶!
weibyoji: 你自学能力好强啊。
hua2000: 代码有问题,哪来的代码啊,与标题不合
hua2000: nice, good
linsam0928: 我也想要份资料,可以也给我一份吗? 邮箱:[email protected]
litieliming: 我想学SAP,但是不知道从哪儿入手,有谁能帮助我一下,可以直接给我发邮件litieliming@12...
newgrubby: excel 已经在alv里面自带的,菜单:列表--》输出--》本地文件--》excel sel...