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


预定义数据类型

预定义的数据类型包括两种,一种是在系统中已经预定义好的基本数据类型,在T-CODE:SE38 ABAP编辑器中定义数据对象时可以直接使用的,其中大致有如下最常用的8种:

数据类型默认长度有效长度默认值解释说明
I440整型
F880浮点型
P81~160压缩数类型(将两个十进制数字压缩到一个字节)
C11~65535‘…’文本型
D88‘00000000’日期型(YYYYMMDD)
N11~65535‘0…0’数字字符串类型(0~9之间的字符组成的数字字符串)
T66‘000000’时间类型(格式:HHMMSS)
x11~65535X’0…0’十六进制字段
STRING0ANYSPACE字符串类型

此外在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浮点数
INT11字节整数,0到255
INT22字节整数,-32768到32767
INT44字节整数,-2147483648到2147483467
INT88字节整数
LANG语言代码
LCHR长字节串
LRAW长字节字符串
NUMC数字文本
PREC过时数据类型
QUAN采用BCD格式的数量字段
RAW字节序列
RAWSTRING字节字符串(BLOB)
SSTRING字符串
STRING字符串(CLOB)
TIMS格式为HHMMSS的时间
UNIT数量字段的单元码
VARC过时数据类型

预定义数据类型分类

  • 数字型

(一) 整数型I

(1)值的范围是-231(-2147483648)~231(-2147483647)

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

超出范围

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

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

四舍五入


(二) 小数型P

(1)允许有小数位

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

p类型允许有小数位

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

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

不使用DECIMALS关键字与类型I效果一致

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

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

小数位超过14位系统会报错


(三) 浮点型F

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

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

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

上述图片中的值在数学中则是:2.5000000000000000×10^(+4)
说明:使用下面表格解释上述显示值各部分的含义

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

(2)值的范围是10-307~10308
           (3)F类型转换成二进制时会发生进位误差
           (4)F类型不能显示高精度数据

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

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


  • 字符串型

(一) 文本型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

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

img-75U27nJb-1714422116307)]
[外链图片转存中…(img-F8jsE1PY-1714422116308)]
[外链图片转存中…(img-ldCrTl74-1714422116308)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值