ABAP结构体学习

一、定义结构体类型

利用下面语法可以定义由多个字段组成的结构体类型

TYPES BEGIN OF struc_type
		...
		{TYPES dtype...} | {INCLUDE {TYPE|STRUCTURE}...},
		...
TYPES END OF struc_type.		

二、声明结构体类型

声明复合型结构体类型,并利用此类型定义结构体变量的方法

*声明结构体类型
TYPES:BEGIN OF T_PEOPLE,
        NAME    TYPE C LENGTH 20,
        COUNTRY TYPE C LENGTH 15,
        CITY    TYPE C LENGTH 10,
      END OF T_PEOPLE.

*定义结构体变量
DATA GS_PEOPLE   TYPE T_PEOPLE.
GS_PEOPLE-NAME = 'NAME'.
GS_PEOPLE-COUNTRY = 'COUNTRY'.
GS_PEOPLE-CITY = 'Beijing'.

三、嵌套结构体类型

利用INCLUDE STRUCTRER语句,可以把DATA语句定义的结构体或者ABAP数据字典存在的结构体包含到嵌套结构体中。

*声明结构体类型
TYPES:BEGIN OF T_PEOPLE,
        NAME    TYPE C LENGTH 20,
        COUNTRY TYPE C LENGTH 15,
        CITY    TYPE C LENGTH 10,
      END OF T_PEOPLE.

*定义结构体变量
DATA GS_PEOPLE   TYPE T_PEOPLE.
GS_PEOPLE-NAME = 'NAME'.
GS_PEOPLE-COUNTRY = 'COUNTRY'.
GS_PEOPLE-CITY = 'Beijing'.

*定义嵌套结构体变量
DATA:BEGIN OF GS_PEOPLE1.
    INCLUDE STRUCTURE GS_PEOPLE AS PEO.
DATA:PHONE TYPE C LENGTH 10,
     END OF GS_PEOPLE1.

GS_PEOPLE1-PEO-NAME = '123'.
WRITE   GS_PEOPLE1-PEO-NAME.

四、包含结构体类型

如果在INCLUDE STRUCTURE中不使用 as 语句,那么则是直接包含结构体,包含后使用各个项目时,要直接用第一级别的结构体名定义字段名。

*定义包含结构体变量
DATA:BEGIN OF GS_PEOPLE2.
    INCLUDE STRUCTURE GS_PEOPLE .
DATA:PHONE TYPE C LENGTH 10,
     END OF GS_PEOPLE2.
GS_PEOPLE2-NAME = '456'.
WRITE   GS_PEOPLE2-NAME.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值