FavoriteLoading
1

ABAP内置数据类型小结

SAP系统中内置了很多数据类型,在SE11数据字典中创建域(domain)或者数据元素(data element)时会用到这些内置数据元素,如下:

这些内置的数据类型对应ABAP程序中的数据类型关系如下:

内置数据类型 ABAP类型 运行长度 说明
ACCP N(6) 6 会计结算周期
CHAR C(n) 1~255 字符
CLNT C(3) 3 集团,数据区域代码
CUKY C(5) 5 货币代码
CURR(n,m) P((n+1)/2)DECIMAL m 1~17 货币金额
DATS D(8) 8 日期
DEC n,m P((n+1)/2)DECIMAL m n(1~31)m(1~17) 数值计算
FLTP F(8) 18 浮点数
INT1 X(1)(类型b) 3 单字节整型数
INT2 X(2)(类型s) 5 双字节整型数
INT4 X(4)(类型i) 10 四字节整型数
LANG C(1) 内部1位外部2位 语言代码
LCHR C(n) 256~最大值 长字符
LRAW X(n) 256~最大值 长位字符
NUMC n N(n) 1~255 数值文字
PREC X(2) 16 精确度
QUAN n,m P((n+1)/2)DECIMAL m 1~17 数量
RAW n X(n) 1~255 位字符串
TIMS T(6) 6 时间
VARC n C(n) 255~最大值 长字符(仅V3.0前可用)
STRING STRING 1~最大值 字符串
RAWSTRING XSTRING 1~最大值 位字符串
UNIT C(n) 2~3 单位

这里的“运行长度”表示的是字面上允许的字符位数,而不是指底层所占内存字节数,如

int1的取值为0~255,所以是3位(不包括符号位)

int2的取值为-32768~32767,所以是5位

int4的取值为-2147483648 ~ 2147483647,所以是10位

  • LCHR and LRAW类型允许的最大值为INT2 最大值
  • RAWSTRING and STRING 具有可变长度,最大值可以指定,但没有上限
  • SSTRING 长度是可变的,其最大值必须指定且上限为255。与CHAR类型相比其优势是它与ABAP type string进行映射。

以上。