ABAP的基本数据类型
发布网友
发布时间:2022-12-15 05:40
我来回答
共1个回答
热心网友
时间:2024-12-15 05:08
数据类型的作用:用来定义数据变量。
ABAP按照定义的方式
1.预定义数据类型:SAP中预定义的类型
关于预定义数据类型:
数字类型:
I(整数类型) 默认初始值是0(4Byte)
P(小数类型)默认初始值是0 在定义数据类型P时,需要指定小数位数。(8byte)(可变长度为1-16byte)
P类型1字节前两位由数字构成,后面几位是符号位。
如:DATA test TYPE P LENGTH 10 DECIMALS 3.
这里定义了一个p型变量test 长度是10,小数位数是3.
字符类型:
C(char/文本类型) 默认初始值为空(1byte)
D(日期类型) 格式为:YYYYMMDD 默认初始值是'00000000'.(8byte)sy-datum(存储当天日期的变量)
T(时间类型) 格式为: HHMMSS 默认初始值是‘000000’(6byte)sy-uzeit(存储现在时刻的变量)
字符串类型:STRING 默认长度为0,有效长度为任意长度,默认值为空字符串。
这表示定义STRING类型变量不需要指定长度
在定义预定义数据类型时,我们知道所有数据类型都具有初始值,那么使用VALUE选项就可以设置初始值
如果使用VALUE IS INITAL语句,则变量使用默认初始值。(省略此语句,结果相同)
这里就知道了预定义数据类型可以分为:1.预定义可变长度数据类型
2.预定义固定长度数据类型
在定义预定义数据类型的变量时,D,F,I不用指定长度,而C,N,X需要指定其长度,其中类型P
还需要指定小数位数。(DECIMALS).
2.全局数据类型(数据字典类型):SE11里定义的数据类型, 所有程序都可以使用的数据类型 。
全局数据类型顾名思义就是所有程序都可以使用的数据类型。
3.局部数据类型(用户自定义的数据类型):用户程序中 使用TYPES关键字来自定义的数据类型
如:TYPES ty_var_c10 TYPE c LENGTH 10. "这里就定义了一种长度为10的字符类型ty_var_c10
DATA,TYPES,和TYPE 的区别
DATA 是用来直接声明实际的变量,可以指定变量类型是 预定义类型或自定义类型
DATE c1 TYPE c LENGHT 10.
TYPES是用来定义局部数据类型的,定义的是类型而不是变量
TYPES ty_var_c10 TYPE c LENGTH 10.
这里的ty_var_c10 就时用户自定义的数据类型。
TYPE是用来指定类型的,当TYPE和DATA关键字一起使用时,则是用于定义变量的类型;
当TYPE和TYEPES关键字一起使用时,就是用于定义自定义类型。
LINK(用来定义数据变量的类型)
DATA: gv_num3 LINK gv_num1. 这里LINK的作用就是定义变量gv_num3且它的数据类型为gv_num1.
按结构区分的数据类型
基本数据类型:固定长度数据类型
可变长度数据类型
参考数据类型:数据参考类型
对象参考类型
复杂数据类型:结构类型
表类型