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

对内表的定义,我只说下有没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.

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值