数据类型
- 1.概要
- 2.数据类型的种类
- (1)ABAP基本数据类型
- (2)局部数据类型
- (3)全局数据类型
- 3.DATA语句
- (1)TYPE type
- (2)LIKE num
- (3)VALUE int
- (4)LENGTH n
- (5)DECIMALS n
- 4.ABAP命名规范
- (1)定义全局变量
- (2)局部变量
- (3)检查命名规则
- 5.ABAP编辑器
- 6.ABAP基本数据类型
- (1)数字类型
- (2)数字运算符
- (3)字符串类型
- (4)不定长ABAP基本数据类型
- 7.Hexadecimal类型
- 8.局部数据类型
- 9.ABAP数据字典数据类型
- (1)表和视图
- (2)数据类型:数据元素、结构体、表类型。
- (3)类型组(Type Groups)
- (4)ABAP数据字典类型
- 10.赋值
- (1)给变量赋值
- (2)利用Offset进行赋值
- (3)结构体之间的计算操作
- 11.定义其他变量
- (1)常量
- (2)静态变量
- (3)TABLES
1.概要
数据类型(Data Type):定义变量的类型,用TYPES声明;
数据变量(Data Variable):又称数据对象,参照数据类型定义的、可以存储值的变量,在程序中是通过变量名操作该对象,用Data声明。
2.数据类型的种类
ABAP程序包含三种数据类型:
(1)ABAP基本数据类型
系统内部定义的数据类型,分类有
C、D、F、I、N、F、T、X、STRING、XSTRING。
(2)局部数据类型
只在程序块中起效,用ABAP基本数据类型定义局部数据类型,或者定义包含多个基本数据类型的结构体类型变量。
(3)全局数据类型
在所有程序中起效,用TYPE语句参考数据字典中的类型定义变量。
3.DATA语句
规则:用于定义数据变量,变量名包括”_”,最长可定义30位。
(1)TYPE type
(2)LIKE num
(3)VALUE int
(4)LENGTH n
(5)DECIMALS n
4.ABAP命名规范
规范:变量名的前两位代表范围和类型,区分符号”_”和最后单词将省略变量的具体功能。
(1)定义全局变量
定义全局变量以G开头,具体定义方法如下:
但变量名不宜过长,可以用”_”后第一个字母区分变量类型。
在ABAP语言中的PARAMETERS和SELECT-OPTIONS变量分别用”P”与”S”作为前缀使用。
(2)局部变量
(3)检查命名规则
检查ABAP程序是否符合命名规则的工具,事务码是SCI。
在检查变量-名称区域单击按钮,可以切换全局/局部变量检查:
在ABAP程序编辑器中进行代码检查:
第一步:选择程序->检查->代码分析器;
第二步:点击新建按钮;
第三步:默认调用基本检查变量,自动命名为DEFAULT;
第四步:选择编程规则->命名规则的属性按钮;
第五步:可以设置程序中使用变量的命名规则;
5.ABAP编辑器
ABAP编辑模式有下列三种功能:
(1)新版ABAP编辑模式:Front-End Editor;
(2)旧版ABAP编辑模式:Front-End Editor( Plant text mode );
(3)Back-End Editor( Line-based mode )。
可以在实用程序->设置中进行设置ABAP编辑类型:
6.ABAP基本数据类型
一共有八种基本数据类型,如下图所示:
(1)数字类型
I:整型,范围
F:浮点型,精度比较低
P:打包数量,需指定DECIMALS识别小数位,精度比较高
C:字符型,需指定长度
D:类似字符的日期型
N:数字文本字段,需指定长度,用字符串代表数字
T:类似字符的时间型
X:十六进制字段,需指定长度
创建程序时不选择固定点算法,使用Package numbers(类型P、CURR、QUAN)类型时,小数点会被忽略。
(2)数字运算符
基本数据类型:
数字运算用函数:
Floating-Point函数:
(3)字符串类型
字符串类型分为一下4种:
C:用于定义文字、数字和特殊文字
指定类型C的长度可以直接使用”()”或者关键字LENGTH
N:用于显示类型数字,以字符串形式显示整数
D:日期类型
T:事件类型
(4)不定长ABAP基本数据类型
分类:C类型和String类型。
不同:String类型当程序执行时生成动态内存。
经常使用的字符串命令:
单引号”’”与grave”`”的区别:
7.Hexadecimal类型
Hexadecimal(十六进制)类型是指将1B由2个码位显示的类型。
8.局部数据类型
在程序内部声明的数据类型是局部数据类型,用关键字TYPES声明。
可以用下面语句定义结构体类型:
利用INCLUDE TYPE语句可以定义嵌套结构体类型。
利用INCLUED STRUCTURE语句,可以把结构体包含到嵌套结构体中。
9.ABAP数据字典数据类型
在数据字典中的数据类型为全局数据类型,分为3种形式。
(1)表和视图
(2)数据类型:数据元素、结构体、表类型。
(3)类型组(Type Groups)
类型组(Type Group)是以INCLUDE技术为基础的,结合多种类型进行声明时使用类型组,可以在所有程序中使用。
(4)ABAP数据字典类型
在ABAP数据字典中将经常使用的数据类型事先定义的实例,如下:
10.赋值
(1)给变量赋值
MOVE TO语句与=语句相同,可进行类型转换。
MOVE-CORRESPONDING语句的俩字段名可以不相同,还经常用于不同结构体之间同名的字段赋值。
WRITE TO语句:
(2)利用Offset进行赋值
规则如下:
(3)结构体之间的计算操作
结构体之间的赋值用MOVE-CORRESPONDING语句,
11.定义其他变量
(1)常量
常量有一般常量和结构体常量两种。
(2)静态变量
在子程序块( FORM,FUNCTION )中要持续保存局部变量值时定义为静态变量( STATICS )。
(3)TABLES
使用TABLES语句定义ABAP数据字典中的数据表、视图、结构体,会生成与ABAP数据字典具有相同结构的数据对象。也就是生成一个表工作区,在程序中与结构体的用法相同。