SAP ABAP——数据类型(六)【预定义基本数据类型详解】
💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。
💅文章概要:本文主要对SAP ABAP中预定义数据类型进行一个详细地介绍,在此前文章中我们已经对预定义数据类型有了一个最基本的了解,本文在此基础上会进行更加详细深入细致地讲解,主要包括预定义数据类型的分类。
🤟每日一言:保护好你的梦想,等到它开花结果的那天,它会让你俯视所有曾经看低你的人。
预定义数据类型
预定义的数据类型包括两种,一种是在系统中已经预定义好的基本数据类型,在T-CODE:SE38 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 | 字符串类型 |
此外在T-CODE:SE11中定义数据元素时还有31种ABAP字典数据类型,它们是用于专门维护数据元素所使用的,列举如下:
数据类型 | 简短描述 |
---|---|
ACCP | 过账期间YYYYMM |
CHAR | 字符串 |
CLNT | 集团 |
CUKY | 货币字段的货币码 |
CURR | 采用BCD格式的货币字段 |
DF16_DEC | 以BCD格式保存的十进制浮点数 |
DF16_RAW | 以二进制数字形式保存的十进制浮点数 |
DF16_SCL | 具有比例的十进制浮点数(已弃用) |
DF34_DEC | 以BCD格式保存的十进制浮点数 |
DF34_RAW | 以二进制数字形式保存的十进制浮点数 |
DF34_SCL | 具有比例的十进制浮点数(已弃用) |
DATS | 使用格式YYYYMMDD的日期 |
DEC | 采用BCD格式的压缩数字 |
FLTP | 浮点数 |
INT1 | 1字节整数,0到255 |
INT2 | 2字节整数,-32768到32767 |
INT4 | 4字节整数,-2147483648到2147483467 |
INT8 | 8字节整数 |
LANG | 语言代码 |
LCHR | 长字节串 |
LRAW | 长字节字符串 |
NUMC | 数字文本 |
PREC | 过时数据类型 |
QUAN | 采用BCD格式的数量字段 |
RAW | 字节序列 |
RAWSTRING | 字节字符串(BLOB) |
SSTRING | 字符串 |
STRING | 字符串(CLOB) |
TIMS | 格式为HHMMSS的时间 |
UNIT | 数量字段的单元码 |
VARC | 过时数据类型 |
预定义数据类型分类
-
数字型
(一) 整数型I
(1)值的范围是-2^31(-2147483648)~2^31(-2147483647)
(2)只支持整数类型
(3)非整数类型的数据会进行四舍五入的计算
(二) 小数型P
(1)允许有小数位
(2)若不使用DECIMALS关键字指定小数位则与类型I效果一致
(3)可用长度为1~16,小数位最大长度为14位
(三) 浮点型F
(1)F类型的显示值的方式为科学计数法
上述图片中的值在数学中则是:2.5000000000000000×10^(+4)
说明:使用下面表格解释上述显示值各部分的含义
尾数 | 精度值 | 指数符号 | 正负符号 | 指数大小 | |
---|---|---|---|---|---|
2.5 | 后面的0 | E | + | 04 |
(2)值的范围是10^-307~10^308
(3)F类型转换成二进制时会发生进位误差
(4)F类型不能显示高精度数据
-
字符串型
(一) 文本型C
(1)用于定义文字、数字、特殊文字
(2)使用C类型时需指定长度,否则默认为一位长度
(3)使用C类型指定长度语法拥有多种,下面几个例子的表达均不同但是效果一样:
(4)当使用C类型定义数字时,若定义长度超过数字长度,则自动在数字前面补齐空字符串
(二) 数字文本型N
(1)用于显示C类型数字,以字符串形式显示整数
(3)使用N类型时需指定长度,否则默认为一位长度
(三) 日期型D
(1)用于显示日期类型(关于sy-datum和sy-datlo的区别将在后续文章中进行讲解)
(四) 时间型T
(1)用于显示时间类型(时间类型以秒s作为单位)
-
固定长类型
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 | 字符串类型 |
- 点赞
- 收藏
- 关注作者
评论(0)