1. 数据类型的分类:
SAP ABAP开发里面的数据类型(data type)是指在程序中可以使用的数据的类型。
主要分为三类:
- ABAP 基本数据类型
同C\JAVA中的常用数据类型一样,是系统内部已定义的数据类型- 局部数据类型
在程序内部定义的局部数据类型,还可以定义包括多个数据类型的结构类型(structure)
定义语法:
TYPES dtype TYPE type.
TYPES dtype LIKE dobj.
TYPES: BEGIN OF t_struct,
col1 TYPE c,
col2 TYPE i,
col3 TYPE d,
END OF t_struct.- 全局数据类型
是所有程序都可以使用的额数据类型。
定义语法:
TYPES:types TYPE table.
TYPE-POOLS hktst... (声明TYPE GROUP,将多个TYPE组合为一组后使用)
2. 数据变量的分类:
数据变量(data variable)
这个也就是变量,可以存储数据,而数据类型(data type)是不能存储数据的。
- 参照基本数据类型定义的变量
DATA: gv_num TYPE i.- 参照局部数据类型定义的变量
这种变量只能在程序内部使用。
DATA: gs_struct TYPE t_struct,
gv_var LIKE gs_struct-col1.- 参照全局数据类型定义的变量
这里主要是指利用ABAP数据字典(ABAP DICTIONARY)定义变量的方法,这种数据类型可以在所有程序中使用。
DATA: gv_carrid TYPE s_carr_id,
gv_connid TYPE sflight-carried,
gv_matnr TYPE mara-matnr.
3. DATA语句
DATA语句是用于定义数据变量。变量名可以包括"_",最长可以定义30位。
- TYPE 和 LIKE
定义变量的数据类型,可以跟TYPE指定特定的type,也可以跟LIKE指定某一变量相同的类型。
例如:
DATA: gv_num TYPE i.
DATA: gv_num1 LIKE gv_num.
- VALUE
VALUE用于赋予变量的初始值。
DATA: gv_num TYPE i VALUE 123.- LENGTH
用于指定字段的长度,但是仅仅只适用于C\N\P\X类型。
DATA: gv_num TYPE n LENGTH 2.- DECIMALS
用于定义小数位数,从1-14位小数,只适用于数据类型P(压缩类型)
DATA: gv_num TYPE p DECIMALS 3.
小练习
定义一个数据类型、再根据数据类型定义一个数据变量,赋值后输出。