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