内表

表是内存中建立的一个临时表,你可以在程序运行时对表中的数据进行,插入,修改,删除等操作,程序跑完了,就会被释放

内表共有3种类型:

1.  Standard:标准表 ,一般用的比较多
2.  Sorted:排序表
3.  Hashed:哈希表,一般用的比较少

工作区

工作区:内表按照行进行访问,必须使用某个区域(工作区)作为与表格互相传输的接口

ABAP 内表定义

注意:1、从内表中读取数据时,已定址的行内容覆盖工作区的原有内容。

           2、数据写入内表时,必须首先在工作区中输入数据,再将工作区数据写入内表。

内表的定义

1、TYPES

TYPES自定义的表类型来定义内表

TYPES  <t>  TYPE <type>  OCCURS  <n>

TYPES <T>  TYPE TABLE OF <type>

        WITH HEADER LINE :  定义了带工作区的内

       实例:

        TYPES: BEGIN OF LINE,    "定义结构数组类型       

                     ACOL1 TYPE I,       

                     ACOL2 TYPE I,       

                    END OF LINE.

        TYPES: ITABT TYPE LINE OCCURS 10.                  "定义表类型

        DATA:    ITABX TYPE ITABT WITH HEADER LINE.     "定义带工作区的内表,工作区名称与内表名称相同

2、DATA

DATA直接定义内表:

DATA: BEGIN OF <ITAB> OCCURS  <n>   

……

END OF itab.

      实例:

        DATA: BEGIN OF ITAB OCCURS 0,         "自带工作区的内表,工作区名称与内表名称相同

                   ACOL1 TYPE I,      

                   ACOL2 TYPE I,      

                  END OF ITAB.

3、参考定义

        参照内表或数据库表结构定义内表,内表结构与所参照数据库表完全相同:

        DATA  <f>  LIKE  <内表或数据库表> OCCURS n WITH HEADER LINE

WITH参数指定是否带工作区
 

        使用INCLUDE STRUCTURE包括已存在的结构体的所有字段

实例:

      1、  DATA: ITAB LIKE SPFLI OCCURS 0 WITH HEADER LINE.

       2、  DATA: BEGIN OF ITAB OCCURS 0.  "自带同名工作区, ITAB是定义的内表

                        INCLUDE STRUCTURE SPFLI.  "ZTABLE1是参照的数据库表

                        DATA: NAME(20) TYPE C,

                        SEX TYPE C.

              DATA: END OF ITAB.

        

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2021-07-04
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-19
相关资源
相似解决方案