当前位置: 首页 > news >正文

SAP ABAP中的数据类型 Data Types

简单来说分两种:

  1. 数据字典里定义的
  2. 在ABAP程序里定义的

文章目录

    • 1. ABAP数据字典里的
      • 1.1 数字型的
      • 1.2 字符型
      • 1.3 字节型
      • 1.4 特殊类型
    • 2. 预定义的ABAP数据类型
      • 2.1 预定义数字型
      • 2.2 预定义字符型
      • 2.3 预定义字节型

1. ABAP数据字典里的

1.1 数字型的

用在数学计算里的,表达式里的,表序号里的。

Interger整数型
INT1 : 1字节整数,0-255 (2的8次方-1)
INT2 : 2字节整数,-32768-32767(2的15次方-1,有一位是符号位)
INT4 : 4字节整数,-2147483648-2147483647(2的31次方-1)

SAP内部使用的INT1和INT2分别对应b和s。但是这两种预定义的不能被外部开发用上。
DEC小数型:Packed number
一般在BW里面能看到Curr的类型就是in BCD format,是Binary Coded Decimal。二进制编码小数
在这里插入图片描述
二进制编码高效展示小数,p类型就是会定义总长度和小数位数。Packed类型是CURR,QUAN和DF34_DEC,DF16_DEC的内部展示类型。我们定义一般写成:
Data: amount type p length 8 decimals 2.

Floating 浮点型
小数浮点型,相对于定点数而言,浮点数利用指数使小数点的位置可以根据需要而上下浮动,从而可以灵活地表达更大范围的实数。
这个在计算机组成原理里有。定点数小数点固定。不需要额外存储空间来存储小数点。只有符号位在最前面需要占一位bit。
但是定点数存储大范围的数值就不好搞了,我得把所有数都存下来,这就不如用科学计数法来的省空间了。所以浮点型借鉴十进制的科学计数法。计算机中的浮点数计算方式:
K=(-1)^ SM2^N ,其中,S代表符号位,M代表尾数,N代表阶码

主要就是为了让有限的计算机存储空间来存放大范围的数值。

小数浮点数:
DF16_DEC
DF16_RAW
DF34_DEC
DF34_RAW

ABAP 二进制浮点类型FLTP长度定为16位,基于EEE754的标准,这个标准就是说在不同平台相同的浮点数的表示结果得一样。

小数浮点型和FLTP的区别在于,FLTP是个二进制类型,对应ABAP类型f.由于有些小数不能完全转换为二进制,所以这个不是100%精确的。所以一般不在需要高精度计算的场景比如财务或者税务报表里使用,几乎所有的FLTP都能用DEC 类型。所以说用P就够了。

1.2 字符型

字符串或者字符数据
character
1~30000个字符数据,表格里最大放1333位,这也是BW里infoobject的最大text长度。而且不能用在表键。
string
SSTRING short string,1-1333长度
STRING-256-无限长(实际受可寻址的范围限制,最大2GB,内表也是最大2GB)

1.3 字节型

用来存储开发任务里的字节链。

RAW–长度为1-32000位的字节字符串。对于表字段,最大值为255。

LRAW–长度为256-32000位的长字节字符串

RAWSRING–长度为256无限长的BLOB字符串

RAW和LRAW类型具有对应的ABAP类型x,而RAWSRING类型对应于xstring类型。LRAW将来不用了。

1.4 特殊类型

日期/时间类型

DATS YYYYMMDD --对应d类型。从数据库读或者写的时候不是这个格式来的,在Dynpros里显示为这个格式。
TIMES HHMMSS,也是在Dynpros里显示的。对应t类型。
ACCP过账期间的字符表示:YYYYMM

特殊字符类型
NUMC 字符,最长255位,但是只用来存储数字。对应n
CLNT char3
LANG char1

货币/数量字段
CURR–用于存储货币的类型,技术上表示为长度为1-31的packed number。

CUKY–货币字段的货币键,按字符类型显示。最大长度为5位。

QUAN–用于以特定单位存储数量的类型,技术上表示为长度为1-31 packed number。

UNIT–数量字段的单位键,由字符类型表示。最大长度为3位置。

货币和数量字段是用于按功能属性存储数据的特殊字段。所有货币和数量字段必须与对应的关键字段(CUKY和UNIT)相关联,否则表格将无法通过验证。所有CUKY字段只能包含TCURC表中的值,而所有UNIT字段只能包含T006表中的值。

2. 预定义的ABAP数据类型

2.1 预定义数字型

b -INT1
s - INT2
标准SAP程序使用

i- INT4 在ABAP程序使用
p- 最大长度16字节
decfloat16–用于存储字典类型DF16_DEC和DF16_RAW的十进制浮点数。最大长度为8字节。

decfloat34–用于存储字典类型DF34_DEC和DF34_RAW的十进制浮点数。最大长度为16字节。

f–二进制浮点数类型,类似于FLTP DDIC类型。高精度计算不能使用。

2.2 预定义字符型

c–一般字符类型,长度为1到262143个字符。

string–用于存储数据字典中的字符串和短字符串(string和SSSTRING)的类型,以及广泛的字符串操作。

n–数据字典中NUMC类型的模拟

d–用于存储数据字典中的DATS值的日期类型,即yyyymmdd。长度为8个字符。应用日期验证规则:“yyyy”(年)应在0001到9999之间,“mm”(月)应在01到12之间,“dd”(日)应在1到31之间。

t–用于存储数据字典中的TIMS值的时间类型,即hhmmss。长度为6个字符。应用时间验证规则:“hh”(小时)应在00到23之间,“mm”(分钟)应在0到59之间,“ss”(秒)应在00到59之间。

使用类似字符的预定义类型时,应始终考虑Unicode系统。UTF16代码页有两个字节长的字符。动态对象的最大大小也适用于DDIC字符类型。CL_ABAP_ELEMDESCR类可用于检查类型n和c的最大长度。

2.3 预定义字节型

预定义的ABAP类型用于存储和操作ABAP程序中的字节链,以及与数据字典类型RAW、LRAW和RAWSRING的交互。

x–长度为1至524287字节的字节链。模拟RAW DDIC类型。

xstring–可变长度的字节链。RAWSRING DDIC类型的模拟。

与以前的可变长度类型一样,xstring的最大长度不是无限的。它取决于当前系统上的内存配置,可以通过CL_ABAP_ELEMDESCR类常量TYPE_X_MAX_LENGTH进行检查。

相关文章:

SAP ABAP中的数据类型 Data Types

简单来说分两种: 数据字典里定义的在ABAP程序里定义的 文章目录1. ABAP数据字典里的1.1 数字型的1.2 字符型1.3 字节型1.4 特殊类型2. 预定义的ABAP数据类型2.1 预定义数字型2.2 预定义字符型2.3 预定义字节型1. ABAP数据字典里的 1.1 数字型的 用在数学计算里的…...

HashMap~

HashMap: HashMap是面试中经常被问到的一个内容,以下两个经常被问到的问题, Question1:底层数据结构,1.7和1.8有何不同? 答:1.7数组+链表,1.8数组+(链表|红…...

EasyNLP集成K-Global Pointer算法,支持中文信息抽取

作者:周纪咏、汪诚愚、严俊冰、黄俊 导读 信息抽取的三大任务是命名实体识别、关系抽取、事件抽取。命名实体识别是指识别文本中具有特定意义的实体,包括人名、地名、机构名、专有名词等;关系抽取是指识别文本中实体之间的关系;…...

mysql lesson3

DQL查找语句续集.............................. 分组函数(也叫多行处理函数) 1: select sum(sal) from emp;select min(sal)from emp;select max(sal)from emp;select avg(sal)from emp;select count(ename)from emp;2:分组函…...

python源码保护

文章目录代码混淆打包exe编译为字节码源码加密项目发布部署时,为防止python源码泄漏,可以通过几种方式进行处理代码混淆 修改函数、变量名 打包exe 通过pyinstaller 将项目打包为exe可执行程序,不过容易被反编译。 编译为字节码 py_comp…...

第51讲:SQL优化之COUNT查询的优化

文章目录 1.COUNT查询优化的概念2.COUNT函数的用法1.COUNT查询优化的概念 在很多的业务场景下可能需要统计一张表中的总数据量,当表的数据量很大时,使用COUNT统计表数据量时,也是非常耗时的。 MyISAM引擎会把一个表的总行记录在磁盘中,当执行count(*)的时候会直接从磁盘中…...

ArrayBlockingQueue

同步队列超出长度时,不同的返回形式可以分为以下四种。 会抛异常不会抛异常,有返回值死等,直到可以插入值或者取到值设置等待超时时间添加方法add()offfer()put()offer(E e,long timeout, TimeUnit unit)删除方法remove()poll()take()poll(l…...

DeepLabV3+:对预测处理的详解

相信大家对于这一部分才是最感兴趣的,能够实实在在的看到效果。这里我们就只需要两个.py文件(deeplab.py、predict_img.py)。 创建DeeplabV3类 deeplab.py的作用是为了创建一个DeeplabV3类,提供一个检测图片的方法,而…...

【Git】与“三年经验”就差个分支操作的距离

前言 Java之父于胜军说过,曾经一位“三年开发经验”的程序员粉丝朋友,刚入职因为不会解决分支问题而被开除,这是不是在警示我们什么呢? 针对一些Git的不常用操作,我们通过例子来演示一遍 1.版本回退 1.1已提交但未p…...

【经验】win10设置自启动

方法一:自启动文件夹 按下winr快捷键,弹出运行窗口,输入:shell:startup,弹出自启动文件夹窗口,将要开机自启的程序或快捷方式复制到此窗口中即可。 自启动文件夹路径:C:\Users\【用户名】\Ap…...

Linux SPI-NAND 驱动开发指南

文章目录Linux SPI-NAND 驱动开发指南1 概述1.1 编写目的1.2 适用范围1.3 相关人员3 流程设计3.1 体系结构3.2 源码结构3.3 关键数据定义3.3.1 flash 设备信息数据结构3.3.2 flash chip 数据结构3.3.3 aw_spinand_chip_request3.3.4 ubi_ec_hdr3.3.5 ubi_vid_hdr3.4 关键接口说…...

【THREE.JS学习(3)】使用THREEJS加载GeoJSON地图数据

本文接着系列文章&#xff08;2&#xff09;进行介绍&#xff0c;以VUE2为开发框架&#xff0c;该文涉及代码存放在HelloWorld.vue中。相较于上一篇文章对div命名class等&#xff0c;该文简洁许多。<template> <div></div> </template>接着引入核心库i…...

在windows搭建Redis集群并整合入Springboot项目

搭建集群配置规划Redis集群编写bat来启动每个redis服务安装Ruby安装Redis的Ruby驱动出现错误镜像过期SSL证书过期安装集群脚本redis-trib启动每个节点并执行集群构建脚本测试搭建是否成功配置springboot项目中配置规划Redis集群 我们搭建三个节点的集群&#xff0c;每个节点有…...

C++【内存管理】

文章目录C内存管理一、C/C内存分布1.1.C/C内存区域划分图解&#xff1a;1.2.根据代码进行内存区域分析二、C内存管理方式2.1.new/delete操作内置类型2.2.new和delete操作自定义类型三、operator new与operator delete函数四、new和delete的实现原理4.1.内置类型4.2.自定义类型4…...

Spring Cloud Nacos源码讲解(六)- Nacos客户端服务发现

Nacos客户端服务发现源码分析 总体流程 首先我们先通过一个图来直观的看一下&#xff0c;Nacos客户端的服务发现&#xff0c;其实就是封装参数、调用服务接口、获得返回实例列表。 ​ 但是如果我们要是细化这个流程&#xff0c;会发现不仅包括了通过NamingService获取服务列表…...

华为OD机试题,用 Java 解【计算最大乘积】问题

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…...

蓝牙运动耳机哪个好,比较好的运动蓝牙耳机

很多想选择蓝牙运动耳机的朋友都不知道应该如何选择&#xff0c;运动首先需要注意的就是耳机的防水能力以及耳机佩戴舒适度&#xff0c;在运动当中会排出大量的汗水&#xff0c;耳机防水等级做到越高&#xff0c;可以更好地保护耳机不受汗水浸湿&#xff0c;下面就分享五款适合…...

苹果设计可变色Apple Watch表带,智能穿戴玩法多

苹果最新技术专利显示&#xff0c;苹果正在为 Apple Watch 设计一款可变色的表带&#xff0c;可以根据佩戴者所穿着的服装、所在的环境等自动改变颜色。据介绍&#xff0c;这款表带里的灯丝具有电致变色功能&#xff0c;可以通过施加不同的电压&#xff0c;来实现显示多种颜色或…...

Elasticsearch集群Yellow亚健康状态修复

Elasticsearch集群Yellow亚健康状态修复问题背景排查流程解决办法问题背景 Elasticsearch集群健康状态为Yellow&#xff0c;涉及到多个索引。 排查流程 在浏览器打开Kibana Console进行问题排查&#xff0c;console地址为&#xff1a; http://{Kibana_IP}:5601/app/dev_too…...

第52讲:SQL优化之UPDATE更新操作的优化

文章目录 1.UPDATE更新语句的优化2.UPDATE更新语句优化案例1.UPDATE更新语句的优化 我们在使用UPDATE更新语句更改表中数据时,可能会导致表中产生行级锁或者是表级锁。 UPDATE语句的优化就是为了避免表中出现表级锁,从而影响并发的性能。 当UPDATE语句更新表数据时,WHERE…...

网络钓鱼攻击特征识别与多维度防御技术研究

摘要 网络钓鱼是当前最普遍、危害最突出的网络安全威胁类型&#xff0c;攻击者依托伪造邮件、短信、社交信息与虚假网站&#xff0c;结合社会工程学手段诱导用户泄露敏感数据或执行恶意操作&#xff0c;对个人信息安全与机构运行稳定构成持续威胁。本文以网络钓鱼攻击机理、典型…...

新手友好:无需配置环境,在快马平台编写第一行open claw控制代码

今天想和大家分享一个特别适合新手入门的Open Claw控制小项目。作为一个刚接触机器人控制的小白&#xff0c;我发现在InsCode(快马)平台上可以轻松实现机械爪的基础控制&#xff0c;完全不需要配置复杂的环境&#xff0c;特别适合零基础学习。 Open Claw是什么&#xff1f; Ope…...

解锁Mac网络新姿势:HoRNDIS驱动让Android USB共享一键直达

解锁Mac网络新姿势&#xff1a;HoRNDIS驱动让Android USB共享一键直达 【免费下载链接】HoRNDIS Android USB tethering driver for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/ho/HoRNDIS 还在为Mac无法直接使用Android手机的网络而烦恼吗&#xff1f;HoRNDIS…...

Ostrakon-VL-8B效果对比:传统CV方法与多模态大模型在菜品识别上的差异

Ostrakon-VL-8B效果对比&#xff1a;传统CV方法与多模态大模型在菜品识别上的差异 1. 引言 想象一下&#xff0c;你走进一家餐厅&#xff0c;想用手机拍张照片就知道桌上每道菜叫什么名字。或者&#xff0c;后厨需要快速清点几十种不同菜品&#xff0c;确保上菜准确无误。这就…...

FigmaCN:颠覆式中文界面工具,让设计效率提升50%的革新性方案

FigmaCN&#xff1a;颠覆式中文界面工具&#xff0c;让设计效率提升50%的革新性方案 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 开发者日常工作中是否遇到过这样的困境&#xff1a;…...

工业机器人离线编程与仿真——RobotStudio基础学习3.27

工业机器人离线编程与仿真——RobotStudio基础学习 一、工业机器人离线编程认知 1.1 工业机器人常用编程方法 工业机器人主流编程方法分为示教编程和离线编程两类&#xff0c;二者核心差异体现在编程环境、对生产的影响等方面&#xff0c;具体对比见下表&#xff1a; 示教编…...

避坑指南:UE5 VaRest插件处理JSON数组和嵌套对象的几个常见错误

UE5 VaRest插件处理JSON数组和嵌套对象的避坑指南 在UE5开发中&#xff0c;VaRest插件因其便捷的HTTP请求和JSON处理能力而广受欢迎。然而&#xff0c;当面对复杂的JSON数据结构时&#xff0c;许多开发者会遇到各种"坑"。本文将深入剖析VaRest在处理JSON数组和嵌套对…...

7个硬核级调校技巧:Citra模拟器全方位优化指南

7个硬核级调校技巧&#xff1a;Citra模拟器全方位优化指南 【免费下载链接】citra A Nintendo 3DS Emulator 项目地址: https://gitcode.com/gh_mirrors/cit/citra Citra作为开源的任天堂3DS模拟器&#xff0c;凭借其跨平台特性和持续优化&#xff0c;已成为玩家在PC上体…...

如何用Notepad--打造跨平台开发环境:国产编辑器的逆袭之路

如何用Notepad--打造跨平台开发环境&#xff1a;国产编辑器的逆袭之路 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器&#xff0c;目标是做中国人自己的编辑器&#xff0c;来自中国。 项目地址: https://gitcode.com/GitHub_Trending/no/notepad-- …...

3步解锁BiliBiliCCSubtitle:让内容创作者的字幕处理效率提升80%

3步解锁BiliBiliCCSubtitle&#xff1a;让内容创作者的字幕处理效率提升80% 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 一、价值定位&#xff1a;为什么传统字…...