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

news2025/1/19 11:18:37

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。


💅文章概要:本文主要对SAP ABAP中预定义数据类型进行一个详细地介绍,在此前文章中我们已经对预定义数据类型有了一个最基本的了解,本文在此基础上会进行更加详细深入细致地讲解,主要包括预定义数据类型的分类


🤟每日一言:保护好你的梦想,等到它开花结果的那天,它会让你俯视所有曾经看低你的人。

目录

预定义数据类型

预定义数据类型分类

数字型

(一) 整数型I

(二) 小数型P

(三) 浮点型F

字符串型

(一) 文本型C

(二) 数字文本型N

(三) 日期型D

(四) 时间型T

固定长类型

不定长类型


预定义数据类型

           预定义的数据类型包括两种,一种是在系统中已经预定义好的基本数据类型,在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)值的范围是-2^31(-2147483648)~2^31(-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~10^308
           (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

           (1)用于显示C类型数字,以字符串形式显示整数

DATA: gv_n TYPE n LENGTH 5 VALUE 12345.
WRITE:/ gv_n.

用于显示C类型数字,以字符串形式显示整数


           (2)定义长度超过变量值时,补充前导0输出

DATA: gv_n TYPE n LENGTH 6 VALUE 12345.
WRITE:/ gv_n.

定义长度超过变量值时,补充前导0输出


           (3)使用N类型时需指定长度,否则默认为一位长度

DATA: gv_n TYPE n VALUE 12345.
WRITE:/ gv_n.

使用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种固定长度的基本预定义数据类型,罗列如下:

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

不定长类型默认长度有效长度默认值解释说明
STRING0ANYSPACE字符串类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/93232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译robotics_transformer

编译tensor2robot GitHub - google-research/tensor2robot: Distributed machine learning infrastructure for large-scale robotics research 2.编译proto文件为python文件 robotrobot:~/ref$ mkdir protoc_3.3 robotrobot:~/ref$ cd protoc_3.3/ robotrobot:~/ref/protoc…

三、HTTP 接口自动化测试

HTTP 接口自动化测试3.1 HttpLibrary.HTTP 库的使用安装导入3.1.1 Create Http Context3.2 RequestsLibrary 库的使用安装导入3.2.1 Create Session 和 Get Request1. Create Session2. Get Request3.2.2 Post Request3.2.3 RequestsLibrary 库的其他关键字3.3 RESTinstance 库…

RK3568平台开发系列讲解(摄像头篇)使用 Camera 的步骤

🚀返回专栏总目录 文章目录 一、使用 Camera 的步骤二、使用 SurfaceView 预览显示 Camera 数据沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将介绍如何使用Camera。 一、使用 Camera 的步骤 说下 Camera 的操作步骤,后面给出实例,请结合代码理解分析: 获…

[附源码]Python计算机毕业设计高校体侧管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

Jetpack Compose中的Modifier

Modifier的基本使用 Modifier修饰符是Jetpack Compose中用来修饰组件的,提供常用的属性,写布局时几乎所有Composable组件的大部分属性都可以用Modifier 来修饰。官方在开发Compose UI时,最初尝试过将所有属性全部以函数参数的形式提供&#…

[附源码]Node.js计算机毕业设计高校学生宿舍管理信息系统Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

10.Django大型电商项目之商品详情页——如何从数据库中获取图片地址显示图片在前端中

1.商品详情页 1.1 先搭建好基础框架 首先&#xff0c;我们应该修改跳转的点击路由在index.html中 <div class"goods-model"><div class"goods-content">{% for goods in goods_page %}<div class"good"><a href"/g…

计算机毕业设计django基于python爬虫系统

项目介绍 随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的爬虫系统的平台,这样可以有效地解决数据获取系统混乱的局面。 本文首先介绍了爬虫系统的发展背景与发展现状,然后遵…

谷歌浏览器是最容易受到攻击的

©网络研究院 不幸的是&#xff0c;那些看起来越多&#xff0c;他们发现的越多&#xff0c;这个规则总是适用的&#xff0c;除了来自体育场的无节制的欢呼声。 Windows 比 Linux 更容易受到攻击&#xff0c;因为 Chrome 比 Edge 更容易受到攻击。这也是因为它们是最受欢迎…

【大数据技术Hadoop+Spark】MapReduce之单词计数和倒排索引实战(附源码和数据集 超详细)

源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、统计单词出现次数 单词计数是最简单也是最能体现MapReduce思想的程序之一&#xff0c;可以称为MapReduce版“Hello World。其主要功能是统计一系列文本文件中每个单词出现的次数 程序解析 首先MapReduce将文件拆分成spli…

你的代码会说话吗?(下)

篇首语 代码不讲真话的直接后果是所有人被误导了&#xff0c;然后做了一件错误的事情&#xff0c;不自知地将错就错&#xff0c;让错误越陷越深&#xff0c;最后浪费宝贵的时间。可不讲真话&#xff0c;编写代码的人又不是故意的&#xff0c;也万万不可上纲上线&#xff0c;袁…

力扣(LeetCode)1785. 构成特定和需要添加的最少元素(C++)

贪心 统计所有元素的加和 sumsumsum &#xff0c;计算 sumsumsum 到 goalgoalgoal 的距离&#xff0c;尽可能用 limitlimitlimit 的步长去走这段距离(贪心)&#xff0c;最后一步可能是 111 ~ limitlimitlimit 。 CCC 的除法是向 000 取整&#xff0c;为了统计最后一步&#xf…

深入理解网络编程精华

hi 大家好&#xff0c;我是大师兄&#xff0c;让我们一起来学习一下网络编程&#xff0c;对网络编程的核心知识进行梳理&#xff0c;希望大家早日掌握这些核心知识&#xff0c;打造自己坚实的基础。详细点击查看-> 极客星球。以上是深入理解网络编程部分ppt。感兴趣的同学可…

phoenix使用注意事项

使用phoenix的版本是5.0.0-HBase-2.0&#xff0c;DBeaver的版本是21.3(7.1.5版本也试过可以) 用DBeaver连接出现的问题处理 1.需要把已安装hbase服务器/opt/hbase/lib目录下的jar包全部下载来 1.1 常规配置 1.2 DBeaver编辑驱动把原来的库给删除掉&#xff0c;加入下载下来的…

MacOS Monterey 12.6.2 (21G320) OC 0.8.7 / Cl 5150 / PE 三分区原版黑苹果镜像

1‌2月14日苹果推送了 Ventura 13.1更新&#xff0c;解决了从图形驱动程序到 WebKit 到内核的一些问题&#xff0c;以及 Safari、天气、照片等方面的 Bug。对于无法更新到 Ventura 的用户可以安装 macOS Monterey 12.6.2 或 macOS Big Sur 11.7.2&#xff0c;以获得针对某些漏洞…

【AI with ML】第 7 章 :用于自然语言处理的递归神经网络

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

Java+MySQL共享单车管理系统的设计与实现

随着时代的发展&#xff0c;我国的国民经济一直在稳步的提升&#xff0c;共享单车的是用来一直在不断的攀升&#xff0c;为了能够更加方便快捷的管理共享单车&#xff0c;需要开发一套利用计算机进行管理的JSP共享单车管理系统。 本项目利用软件工程原理&#xff0c;采用面向对…

先聊聊「内存分配」,再聊聊Go的「逃逸分析」。

前言 大家好&#xff0c;我是阳哥。 今天和大家聊聊Go语言的「内存分配」和「逃逸分析」。 这期内容不仅有文档&#xff0c;而且有视频&#xff1a; # Go语言的内存分配和逃逸分析-理论篇 # Go语言的内存分配和逃逸分析-实践总结篇 要搞清楚GO的逃逸分析一定要先搞清楚内…

数据处理指令(二)—— 数据运算指令(加减乘)+ 逻辑运算指令(与或)+ 位清零(BIC)

无论是数据运算还是逻辑运算&#xff0c;需要满足如下格式&#xff1a; <操作码> <目标寄存器> <第一操作寄存器> <第二操作数> 操作码&#xff1a; 表示执行哪种操作&#xff08;加减乘&#xff09;目标寄存器&#xff1a; 用…

搭建zabbix并分离

目录 &#x1f951;理论部分 &#x1f951;实验部分 &#x1f336;️安装zabbix &#x1f336;️部署zabbix &#x1f336;️配置zabbix &#x1f955;1. 修改语言 &#x1f955;2. 监控linux端 &#x1f336;️分离zabbix 理论部分 1. 监控知识概述 &#xff08;1&#xff0…