ABAP定义一个结构,然后再根据这个结构来定义一个内表
DATA:BEGINOFtyp_man,name(20)TYPEc,heightTYPEpDECIMALS2,weightTYPEpDECIMALS2,ENDOFtyp_...
DATA: BEGIN OF typ_man,
name(20) TYPE c,
height TYPE p DECIMALS 2,
weight TYPE p DECIMALS 2,
END OF typ_man.
DATA: gt_tb LIKE TABLE OF typ_man. 我想问的是第一个DATA换成TYPES为什么会出错?第二个DATA里面有个LIKE,为什么这个LIKE不能用TYPE?能不能详细解释一下, 展开
name(20) TYPE c,
height TYPE p DECIMALS 2,
weight TYPE p DECIMALS 2,
END OF typ_man.
DATA: gt_tb LIKE TABLE OF typ_man. 我想问的是第一个DATA换成TYPES为什么会出错?第二个DATA里面有个LIKE,为什么这个LIKE不能用TYPE?能不能详细解释一下, 展开
1个回答
展开全部
这地方有两个概念,数据类型与数据对象
数据类型有简单的基本类型,比如你用到的 I N C P等,也有根据这些基本类型自己定义的结构化数据类型,比如自己用types定义的,系统SE11创建件的结构
定义数据对象使用关键字data,定义数据类型使用关键字types
定义数据对象的时候两种常用的方式,一个是参考数据类型,一个是参考数据对象
参考数据类型的方式是使用type关键字,比如:data lv_str(10) type c.
参考数据对象的方式是使用like关键字,比如:data lv_str1 like lv_str.
你使用data关键字定义的typ_man,实际上是一个结构化的数据对象
参考数据对象定义gt_tb的时候,应该使用like,而不是type
你看这是我在自己代码里copy的一段
TYPES: BEGIN OF ty_itab,
sel TYPE c,
mjahr TYPE mjahr,
mblnr TYPE mblnr,
zeile TYPE mblpo,
bwart TYPE bwart,
werks TYPE werks_d,
matnr TYPE matnr,
menge TYPE menge_d,
color(4) TYPE c, "行颜色
cell_color TYPE slis_t_specialcol_alv, "单元格颜色
exception(1), "异常
icon TYPE icon_d, "Icon
symbol TYPE icon_d, "Symbol
END OF ty_itab.
DATA: gt_itab TYPE STANDARD TABLE OF ty_itab ,
wa_itab like line of gt_itab.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询