-SAP

-SAP

SAP ABAP/4学习---Internal table(5)

一. 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.

阅读更多
个人分类: SAP ABAP
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭