SAP ABAP——数据类型(六)【预定义基本数据类型详解】【上篇】

简介: 本文主要对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字典数据类型,它们是用于专门维护数据元素所使用的,列举如下:

9091d26f09361909bad6fc22f5ae74b.png

数据类型 简短描述
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)

DATA: gv_i type i VALUE -2147483649."默认值超出整型范围系统会报错

72d7d195ec37553af48b9305e797933.png

          (2)只支持整数类型

          (3)非整数类型的数据会进行四舍五入的计算

DATA: gv_i TYPE i VALUE '2.5'.
WRITE:gv_i.

424aaf455272c0db9c9d73acbf95211.png


(二) 小数型P

          (1)允许有小数位

DATA: gv_p TYPE p VALUE '2.5' DECIMALS 2.
WRITE:gv_p.

790a2dbfe2ddc090f5e9c6df878a222.png

          (2)若不使用DECIMALS关键字指定小数位则与类型I效果一致

DATA: gv_p TYPE p VALUE '2.5' .
WRITE:gv_p.

264c1ebc73b29e0ea481c8f13b3b598.png

          (3)可用长度为1~16,小数位最大长度为14位

DATA: gv_p TYPE p VALUE '2.5' DECIMALS 15."小数位超过14位系统会报错
WRITE:gv_p.

71ead55499c24f0e334495d598ad642.png


(三) 浮点型F

          (1)F类型的显示值的方式为科学计数法

DATA: gv_f TYPE f VALUE '25000'.
WRITE:gv_f.

49d00c2c5609f0bdee49df16305e568.png

上述图片中的值在数学中则是:2.5000000000000000×10^(+4)

说明:使用下面表格解释上述显示值各部分的含义

尾数 精度值 指数符号 正负符号 指数大小
2.5 后面的0 E + 04

          (2)值的范围是10^-307~10^308

          (3)F类型转换成二进制时会发生进位误差

          (4)F类型不能显示高精度数据

DATA: gv_p TYPE f VALUE '2.5635635'."从结果可以看出f类型在输出高精度数据时会无限趋近但不能等于该值
WRITE:gv_p.

60020f64657dd19414a453ac4773e8b.png


目录
相关文章
SAP ABAP 程序调用设置成后台作业模式
ABAP 程序调用设置成后台作业模式
504 0
|
SQL
SAP ABAP-OPENSQL-数值函数简介
S4中针对OPENSQL新提供一些函数
139 0
|
SQL
SAP ABAP-OPENSQL-字符串函数介绍
S4中SQL新语法字符串函数
204 0
|
SQL
SAP ABAP-OPENSQL-日期/时间戳函数
S4提供针对OPENSQL一些新的SQL函数调用,本文展示相关函数的使用
630 0
SAP ABAP-删除工序示例代码
ABAP-删除工序示例代码
169 0
SAP ABAP 检查事务码权限
检查用户是否有自开发事务码的权限
153 0
|
BI
SAP ABAP在线预览文档对象的开发实现
应用场景:有些定制化开发(报表/功能增强等)完成之后,客户需要将其操作手册或者相关文档放在某个报表的初始画面,供实际操作者在线查阅,当然这个功能也同样类似于模板的下载,这里就以在线预览(直接打开)为例进行说明。
224 0
SAP MM/FI_运费处理方式
常见的采购运费处理方式
SAP MM 途损处理方式
通常客户采购业务需求提到货物运输有损耗,需要针对此业务给出合理方案输出,下面笔者针对此类业务分析下各种实现方案的可行性!
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?