4.2 SE38数据对象

4.2 SE38数据对象

数据对象是内存变量,被指定为某一特定的数据类型。数据对象可以是文本,变量或常量,主要指变量,变量在程序运行过程中值会发生变化。

4.2.1 用TYPE定义变量

变量定义包含: 名称,长度,类型,赋值,小数位

语法结构: DATA<名称>  [LENGTH<长度>]  TYPE<类型>  [VALUE<赋值>]  [DECIMAL<小数位>]

如果声明单个数据对象,DATA后面需要添加冒号

如果声明多个数据对象,DATA后面需要添加冒号

备注:绿色必填 黄色可选

DATA+TYPE语法结构如下:

DATA:

name(10)

TYPE c,

“学生姓名

age(2)

TYPE i   VALUE  1,

“学生年龄

score(3)

TYPEDECIMAL 2.

“学生分数

4.2.2 用LIKE定义变量

TYPE和LIKE的区别:

LIKE用在已有值的数据类型,如系统变量,而TYPE则用在自定义数据类型上。

变量定义包含: 名称,长度,对象,赋值,小数位

语法结构: DATA<名称>  [LENGTH<长度>]  LIKE<对象>  [VALUE<赋值>]  [DECIMAL<小数位>]

如果声明单个数据对象,DATA后面需要添加冒号

如果声明多个数据对象,DATA后面需要添加冒号

备注:绿色必填 黄色可选

DATA+LIKE语法结构如下:

DATA:

tcode

LIKE sy-tcode,

“系统变量-事务码

date

LIKE sy-datum,

“系统变量-日期

time

LIKE sy-uzeit.

“系统变量-时间

4.2.3 用CONSTANTS定义常量

常量值一旦被定义,将会长期保存在内存中,其值无法改变

变量定义包含: 名称,长度,数据类型,赋值

语法结构: CONSTANTS<名称>  [LENGTH<长度>]  TYPE<数据类型>  [VALUE<赋值>] 

备注:绿色必填 黄色可选

CONSTANTS语法结构如下:

CONSTANTS

pai

TYPE p

DECIMALS 7

VALUE ‘3.1415926’.

“π常量值

4.2.4 常用的系统变量

系统变量定义在结构SYST里,可以直接使用。

常见的系统变量如下:

SY-SUBRC : 系统执行某指令后,表示执行成功与否的变量,0表示成功

SY-UNAME: 当前使用者登入SAP的USERNAME

SY-DATUM: 当前系统日期

SY-UZEIT: 当前系统时间

SY-TCODE: 当前执行程序的Transaction code

SY-INDEX : 当前LOOP循环过的次数

SY-TABIX: 当前处理的是internal table 的第几笔

SY-MANDT: CLIENT (客户端编号) NUMBER

SY-VLINE: 画竖线

SY-ULINE: 画横线

4.2.5 定义结构体

结构体是指有结构的变量,程序中用DATA定义局部变量。

DATA:

BEGIN OF studentinfo1,

“学生信息1-开始

id(10)

TYPE c,

“学生编号1

name(10)

TYPE c,

“学生姓名1

gender(2)

TYPE c,

“学生性别1

age(2)

TYPE c,

“学生年龄1

class(10)

TYPE c,

“学生班级1

telephone(11)

TYPE c,

“学生电话1

END OF studentinfo1.

“学生信息1-结束

DATA:

student_class1

LIKE student info.

“LIKE???

4.2.6 结构体赋值

可以直接给结构体进行赋值,可以通过如下途径进行赋值:

方法1相同的结构体之间可以使用等号(=)来实现数据的赋值。

方法2相同的结构体之间可以使用MOVE …TO…来实现数据的赋值。

方法3相同的或不相同的结构体之间都可以使用MOVE-CORRESPONDING来实现数据的赋值。

4.2.7 结构体继承

结构体继承是参考已存在的结构体创建一个属性相同的新结构体,可在新结构体中增加字段。

语句:INCLUDE STRUCTURE

2021年9月8日 写于芜湖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值