前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABAP结构体学习

ABAP结构体学习

作者头像
秋白
发布2021-11-09 18:27:58
2760
发布2021-11-09 18:27:58
举报
文章被收录于专栏:java小白java小白

一、定义结构体类型

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

代码语言:javascript
复制
TYPES BEGIN OF struc_type
		...
		{TYPES dtype...} | {INCLUDE {TYPE|STRUCTURE}...},
		...
TYPES END OF struc_type.		

二、声明结构体类型

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

代码语言:javascript
复制
*声明结构体类型
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数据字典存在的结构体包含到嵌套结构体中。

代码语言:javascript
复制
*声明结构体类型
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 语句,那么则是直接包含结构体,包含后使用各个项目时,要直接用第一级别的结构体名定义字段名。

代码语言:javascript
复制
*定义包含结构体变量
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.
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、定义结构体类型
  • 二、声明结构体类型
  • 三、嵌套结构体类型
  • 四、包含结构体类型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档