本文主要对SAP ABAP中预定义数据类型进行一个详细地介绍,在此前文章中我们已经对预定义数据类型有了一个最基本的了解,本文在此基础上会进行更加详细深入细致地讲解,主要包括预定义数据类型的分类,该篇文章是预定义基本数据类型详解的下篇
书接上回文章:SAP ABAP——数据类型(六)【预定义基本数据类型详解】【上篇】
我们接着讲解预SAP ABAP预定义基本数据类型
预定义数据类型分类
字符串型
(一) 文本型C
(1)用于定义文字、数字、特殊文字
DATA: gv_c_1 TYPE c LENGTH 5 VALUE '你好', gv_c_2(5) TYPE c VALUE 12345, gv_c_3 TYPE char25 VALUE '$%^&*'. WRITE:/ gv_c_1, / gv_c_2, / gv_c_3.
(2)使用C类型时需指定长度,否则默认为一位长度
DATA: gv_c_1 TYPE c VALUE 12345."不指定长度,默认为一位长度 WRITE:/ gv_c_1.
(3)使用C类型指定长度语法拥有多种,下面几个例子的表达均不同但是效果一样:
DATA: gv_c_1 TYPE c LENGTH 5 VALUE 12345, gv_c_2(5) TYPE c VALUE 12345, gv_c_3 TYPE char5 VALUE 12345. WRITE:/ gv_c_1, / gv_c_2, / gv_c_3.
(4)当使用C类型定义数字时,若定义长度超过数字长度,则自动在数字前面补齐空字符串
DATA: gv_c_1 TYPE c LENGTH 5 VALUE 12345, gv_c_2 TYPE c LENGTH 20 VALUE 12345. WRITE:/ gv_c_1, / gv_c_2.
(二) 数字文本型N
(1)用于显示C类型数字,以字符串形式显示整数
DATA: gv_n TYPE n LENGTH 5 VALUE 12345. WRITE:/ gv_n.
(2)定义长度超过变量值时,补充前导0输出
DATA: gv_n TYPE n LENGTH 6 VALUE 12345. WRITE:/ gv_n.
(3)使用N类型时需指定长度,否则默认为一位长度
DATA: gv_n TYPE n VALUE 12345. WRITE:/ gv_n.
(三) 日期型D
(1)用于显示日期类型(关于sy-datum和sy-datlo的区别将在后续文章中进行讲解)
DATA: gv_d_1 TYPE d , gv_d_2 TYPE d . gv_d_1 = sy-datum. gv_d_2 = sy-datlo. WRITE:/ gv_d_1, / gv_d_2.
(四) 时间型T
(1)用于显示时间类型(时间类型以秒s作为单位)
DATA: gv_t TYPE t. gv_t = sy-uzeit. WRITE:/ gv_t.
固定长类型
ABAP提供了8种固定长度的基本预定义数据类型,罗列如下:
固定长类型 | 默认长度 | 有效长度 | 默认值 | 解释说明 |
I | 4 | 4 | 0 | 整型 |
F | 8 | 8 | 0 | 浮点型 |
P | 8 | 1~16 | 0 | 压缩数类型(将两个十进制数字压缩到一个字节) |
C | 1 | 1~65535 | '...' | 文本型 |
D | 8 | 8 | '00000000' | 日期型(YYYYMMDD) |
N | 1 | 1~65535 | '0...0' | 数字字符串类型(0~9之间的字符组成的数字字符串) |
T | 6 | 6 | '000000' | 时间类型(格式:HHMMSS) |
x | 1 | 1~65535 | X'0......0' | 十六进制字段 |
不定长类型
不定长类型 | 默认长度 | 有效长度 | 默认值 | 解释说明 |
STRING | 0 | ANY | SPACE | 字符串类型 |