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进行映射。
以上。
发表评论