SAP ABAP中的数据类型 Data Types

这篇具有很好参考价值的文章主要介绍了SAP ABAP中的数据类型 Data Types。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简单来说分两种:

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

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。二进制编码小数
abap raw,ABAP,数据仓库
二进制编码高效展示小数,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进行检查。文章来源地址https://www.toymoban.com/news/detail-772530.html

到了这里,关于SAP ABAP中的数据类型 Data Types的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SAP/ABAP(二)

    一、循环结构 二、条件判断 三、异常处理(cx-root) 四、结构体,工作区 五、内表

    2024年02月17日
    浏览(46)
  • 【SAP ABAP】SAP Webservice & RESTful 接口服务发布教程

    关于 WebService 概念,这篇文章讲解的非常全面,可以移步阅读《SAP Web service》。 本想通过 RFC 来发布 ODATA 服务,奈何当前 SAP ECC 版本过低不支持,只好采用其他方式来发布服务,于是就尝试了下面这两种方法。 SE37,创建以下测试用 RFC 测试执行 RFC,得到的数据结果如下图:

    2024年02月02日
    浏览(45)
  • SAP ABAP技术文章合集_微信公众号:ABAP猿

    序号 文章标题 01 ABAP OOALV-基本显示 02 ABAP OOALV-排序、过滤 03 ABAP OOALV-合计、小计 04 ABAP OOALV-选择模式、触发事件 05 ABAP OOALV-隐藏列、修改列标题、添加图标列、调整列位置 06 ABAP OOALV-固定列、鼠标悬停文本 07 ABAP OOALV-颜色(列、行、单元格) 08 ABAP OOALV-样式(列、行、单元格

    2024年02月03日
    浏览(50)
  • SAP ABAP 用户状态锁定案例

    一、前言 项目需求是根据当天及前两天的离职员工信息(假设这是一个定时器任务每天下午5点执行程序,计算前两天的员工工号是为了将5点之后办理离职的员工工号找出来),将这些员工在用户表 USR02 中的锁定状态设置为 “64”,以保证离职员工无法继续使用系统账号。

    2024年02月15日
    浏览(52)
  • SAP ABAP 基础语法超详细

    1.表声明 当你声明了一个数据表的同时,系统也同时自动生成了一个和数据表同名的结构,结构的变量集等于数据表里面的字段。 2.定义变量 v1 是变量名。 (l) 是变量的长度。 t 是数据类型。 d 是小数位。 ‘xxx’ 是缺省值。 如:data num(10) type p decimals 3 value ‘1.12’. 数据

    2024年02月15日
    浏览(63)
  • SAP,ABAP:ALV变式复制

    应用场景:程序优化,需要新开一个程序优化,优化完成后原程序ALV变式无法带到新的程序, ALV变式是很好用的功能 REPORT zbsc. 事务代码:ZBSC-ALV变式复制 程序名称:ZBSC-ALV变式复制 程序目的: ZBSC-ALV变式复制 开发人员: *(修改日志)----------------------------------------------------

    2024年02月09日
    浏览(45)
  • SAP_ABAP_JAVA 系统调用SAP系统 RFC , 实战案例之——供应商主数据(员工信息)同步| Java jco | BP| BAPI |RFC_CVI_EI_INBOUND_MAIN

    SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客 文章浏览阅读423次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提参考ALV/REPORT|SMARTFROM|SCREEN|OLE|BAPI|BDC|PI|IDOC|RFC|API|WEBSERVICE|Enhancement|UserExits|Badi|Debug https://blog.cs

    2024年02月03日
    浏览(40)
  • SAP ABAP ChatGPT 初体验 我会失业吗?

    简介: ChatGPT 最近很火,听说我可能要失业!就在今天我历经千辛万苦,终于把 ChatGPT 注册好了。话不多说,我先问两个 ABAP 开发问题压压惊。 : SAP ABAP ChatGPT OpenAI 失业 下面是我在 ChatGPT 的聊天截图, 我对这个回答满意度 90% ,此时我内心还不慌,虽然内容很完整逻

    2023年04月15日
    浏览(43)
  • SAP ABAP增强 BADI的增强全解析

            BADI的全称是Business Add-in,它的主要技术是基于ABAP的对象来实现增强。SAP中BADI的维护事务代码是SE18和SE19,SE18主要是创建及维护BADI对象,而SE19用于维护BADI的实例,即如何来实现BADI对象的功能。         SAP的BADI因系统版本的差别可能会有不同,R/3中的BADI被称为Cl

    2023年04月23日
    浏览(39)
  • sap abap,forms,smartforms 导出pdf

    4种方法: 1.安装pdf程序,Foxit Reader,先敲回车 自动带出,如下图: 直接打印就会弹出保存pdf文档路径,点保存。这种方式是最简单的,可 forms 和 smartforms 。 2. forms 和 smartforms 打印到spool 中,首先要设置个人参数文件  输出设备 ,默认输出设备LP01    。 T-CODE: SP02 或如下图

    2024年02月12日
    浏览(87)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包