赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 1863|回复: 2

23,ABAP内表分类标准之二

[复制链接]
发表于 2015-6-29 13:08:53 | 显示全部楼层 |阅读模式
在帖子ABAP内表分类标准之一 中介绍了内表从类型上来分,可以分为三种;今天介绍ABAP内表从另外一个判断标准上进行分类比较,分类的标准是:是否带有表头,可以把内表分为两大类,带表头内表/不带表头内表。
一,不带表头内表
内表和工作区命名严格区分,只在结构上保持一致,命名不能重复。不带表头在使用起来时非常清晰,工作区与内表不会混淆。定义使用ABAP内表分类标准之一中的定义就是不带表头的内表。
二,带表头的内表
先看定义:1,DATA GT_TAB TYPE STARDAND TABLE OF MARA WITH HEADER LINE.
                 2,DATA:BEGIN OF GT_TAB1 OCCURS 0,
                                 MATNR TYPE MARA-MATNR,
                                END OF GT_TAB1.
上面定义的除了定义出内表外,还同时定义了工作区。从表面上看内表为GT_TAB,其实有个和内表同名同结构的工作区GT_TAB也被定义了;为了以示区分通常将GT_TAB[]当作内表名,GT_TAB当作工作区。如果后面对内表的操作可以严格按照这个命名规则,带表头的内表和不带表头的内表在操作上是没有分别的。不过事实上如果使用了代表头的内表,都会使用简写;如:APPEND GT_TAB TO GT_TAB[] --->APPEND GT_TAB.
在第二种定义方法中,OCCURS 0 其实没有实际意义,其中的0是对内表空间进行预大小设定,所以一般都是指定为0.

带表头的内表是ABAP语法发展过程中的一个中间产物,目前已经不再推荐使用了,特别实在ABAP OO里,大家需要格外注意。带表头的内表在ABAP语法的扩展性检查时,会被标记过时语法。




上一篇:22、ABAP语法之READ TABLE练习
下一篇:24,ABAP语法之内表批量操作
本楼点评(0) 收起
发表于 2015-6-30 09:49:52 | 显示全部楼层
本楼点评(0) 收起
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-4-28 02:46 , Processed in 0.207092 second(s), 35 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表