ABAP编程中对内表的定义,后面接一个OCCURS (n)的意义

来源:互联网 发布:登录qq游戏网络异常 编辑:程序博客网 时间:2024/06/08 06:44
对内表的定义,我只说下有没occurs的区别。**DATA: BEGIN OF itab OCCURS 0,*  matnr LIKE mara-matnr,*  maktx LIKE makt-maktx,*  END OF itab.**SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE itab .**LOOP AT itab.*  WRITE:/*  itab-matnr,*  itab-maktx.*ENDLOOP.DATA: BEGIN OF itab,  matnr LIKE mara-matnr,  maktx LIKE makt-maktx,  END OF itab.DATA it_itab LIKE TABLE OF itab.SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE it_itab .LOOP AT it_itab INTO itab.  WRITE:/  itab-matnr,  itab-maktx.ENDLOOP.这是我写的1点特别简单的很基础的代码。简单的看出了,带有OCCURS的这个关键字的内表,有表存储还有表输出。就是说,它可以不用再次的写like table of 内表。这样做的目的,就是它有存储功能。如果没有occurs,就只有输出显示的功能,只是1个结构。有occurs,就是可以存储了。
指定内存。<n> 是指定行(ex:10)的初始号。当第一行写入内表后,就为指定行保留了内存。如果添加到内表中的行比 <n> 指定的要多 ,则自动扩展保留的内存。
这是老写法了,应该直接   "type standard table of ...." or "type table of ...."
  举例:
       

TYPES: BEGIN OF gtt_matnr,

              matnr  TYPE mara-matnr,

              maktx TYPE makt-maktx,

             END OF gtt_matnr.

 

DATA: gt_matnr TYPE TABLE OF gtt_matnr with header line.

1 0
原创粉丝点击