数据类型与数据对象
在abap语句中,使用变量之前,必须针对变量进行声明.声明过程中,会涉及到一下概念:
1.数据类型
1.1.1.数据类型描述了数据对象的技术属性(类型和长度),用户定义数据对象
1.1.2.本身不能被直接引用或赋值
1.1.3.数据元素(data element ):用户定义一个的字段类型的变量
1.1.4.结构体(structre) : 用户定义一个内存中的结构体变量
1.1.5.内表类型(table type): 用于定义一个内存中的内表
1.2 数据类型的使用场合
1.2.1.定义屏幕字段
1.2.2.定义内存中的数据对象
1.2.3.定义子程序(subroutine)的参数
1.2.4.定义面向对象中类方法的参数
1.2.5.定义function module中的参数
1.3 数据类型分类
1.3.1.全局类型data element : structure,table type
1.3.2.标准类型
1.3.3.局部类型:data type,structure type,tabletype
1.3.4.类型创建基本语法:
语法:
TYPE obj2 [TYPE type1 | LIKE obj1]
例子:
TYPE gty_char TYPE C LENGTH 10 . "定义char类型长度为10 的类型
1.4.变量
声明方式1: 参照数据类型
例:
DATA GV_DATA TYPE DATA_TYPE.
数据类型的分类:
- 全局类型(se11) -data element , Str ,tty
- 标准类型(C,N,D,T,F,I,P,STRING…)
- 本地类型 (程序里面的types)
声明方式2: 参数照数据对象
例:
DATA GV_DATA2 LIKE GV_DATA1.
1.5.结构
本地结构体类型声明
例:
TYPES BEGIN OF STR_TYPE
TYPES F1 ....
TYPES F2 ....
.............
TYPES END OF STR_TYPE.
DATA GS_STR TYPE STR_TYPE.
1.6.内表
表类型声明:
TYPES TABLE_TYPE TYPR TABLE OF LINE_TUPE
内表:
DATA GT_ITAB TYPE TABLE_TYPE.
DATA GT_ITAB2 TYPE TABLE OF STR_TYPE .
*后缀:
WITH HEADER LIKE "带表头行
INITIAL SIZE N "初始化大小
OCCURS "初始化大小
2.数据对象
2.1.数据对象(文本,变量,常量)
2.2.data关键字用来声明的变量或者实体结构举有实际的内存空间.
3.系统标准参数
系统定义的数据对象无需声明,可以在程序中直接使用(syst)结构中
- SY-SUBRC: 返回代码值( 0 代表操作成功)
- SY-UNAME:当前用户名
- SY-TCODE 当前的事务代码
- SY-DATUM 当前日期
- SY-UZEIT 当前时间
- SY-REPID 当前程序名