Appearance
ABAP 基本数据类型
一、数值类型
1.1 整数类型
类型 | 关键字 | 长度 | 值范围 | 示例代码 |
---|---|---|---|---|
标准整型 | I | 4字节 | -2,147,483,648 到 2,147,483,647 | DATA lv_int TYPE i VALUE 100. |
短整型 | INT2 | 2字节 | -32,768 到 32,767 | DATA lv_short TYPE int2 VALUE -500. |
无符号整型 | INT1 | 1字节 | 0 到 255 | DATA lv_flag TYPE int1 VALUE 255. |
长整型 | INT8 | 8字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | DATA lv_big TYPE int8 VALUE 123456789012345. |
1.2 浮点类型
类型 | 关键字 | 长度 | 精度 | 示例代码 |
---|---|---|---|---|
二进制浮点 | F | 8字节 | ~15位有效数字 | DATA lv_float TYPE f VALUE '123.45'. |
十进制浮点 | DECFLOAT16 | 8字节 | 16位有效数字 | DATA lv_price TYPE decfloat16 VALUE '1234.56'. |
高精度浮点 | DECFLOAT34 | 16字节 | 34位有效数字 | DATA lv_exact TYPE decfloat34 VALUE '0.1234567890123456789012345678901234'. |
1.3 压缩数字类型
类型 | 关键字 | 长度 | 示例代码 |
---|---|---|---|
压缩十进制 | P | 1-16字节 | DATA lv_packed TYPE p LENGTH 8 DECIMALS 2 VALUE '1234.56'. |
二、字符类型
类型 | 关键字 | 最大长度 | 示例代码 |
---|---|---|---|
定长字符 | C | 262,143字符 | DATA lv_char TYPE c LENGTH 20 VALUE 'Hello'. |
变长字符 | STRING | 动态 | DATA lv_str TYPE string VALUE 'Dynamic Text'. |
数字文本 | N | 262,143字符 | DATA lv_id TYPE n LENGTH 5 VALUE '12345'. |
三、字节类型
类型 | 关键字 | 最大长度 | 示例代码 |
---|---|---|---|
定长字节 | X | 262,143字节 | DATA lv_hex TYPE x LENGTH 4 VALUE 'A1B2'. |
变长字节 | XSTRING | 动态 | DATA lv_xstr TYPE xstring VALUE 'A1B2C3D4'. |
四、日期与时间类型
类型 | 关键字 | 格式 | 示例代码 |
---|---|---|---|
日期 | D | YYYYMMDD | DATA lv_date TYPE d VALUE '20231001'. |
时间 | T | HHMMSS | DATA lv_time TYPE t VALUE '153000'. |
五、其他类型
类型 | 关键字 | 示例代码 |
---|---|---|
货币 | CURR | DATA lv_curr TYPE p LENGTH 10 DECIMALS 2 VALUE '5000.50'. |
数量 | QUAN | DATA lv_quan TYPE p LENGTH 8 DECIMALS 3 VALUE '100.500'. |
布尔类型 | ABAP_BOOL | DATA lv_flag TYPE abap_bool VALUE abap_true. |
六、注意事项
- 压缩类型(
P
):- 需在程序属性中启用
Fixed Point Arithmetic
,否则计算可能出错。
abapREPORT ZTEST_PROGRAM. PROGRAM ATTRIBUTES FIXED POINT ARITHMETIC = ON.
- 需在程序属性中启用