长沙企业网站开发,西安建设公司网站,朋友给我做网站,优设网ps教程简单来说分两种#xff1a;
数据字典里定义的在ABAP程序里定义的 文章目录1. ABAP数据字典里的1.1 数字型的1.2 字符型1.3 字节型1.4 特殊类型2. 预定义的ABAP数据类型2.1 预定义数字型2.2 预定义字符型2.3 预定义字节型1. ABAP数据字典里的
1.1 数字型的
用在数学计算里的…简单来说分两种
数据字典里定义的在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-21474836472的31次方-1
SAP内部使用的INT1和INT2分别对应b和s。但是这两种预定义的不能被外部开发用上。 DEC小数型Packed number 一般在BW里面能看到Curr的类型就是in BCD format是Binary Coded Decimal。二进制编码小数 二进制编码高效展示小数p类型就是会定义总长度和小数位数。Packed类型是CURRQUAN和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进行检查。