数据词典与ABAP类型映射
这些不能够直接在ABAP程序中使用,但可以使用对它们进行包装后的Data element来间接使用,在程序中使用数据字典类型时,将转化为相应的ABAP内置类型。
Type | 允许最大长度m | Meaning | ABAP Type |
ACCP | 6 | Accounting period | n(6) |
CHAR | 1-255 | Character string | c(m) |
CLNT | 3 | Client | c(3) |
CUKY | 5 | Currency key | c(5) |
CURR | 1-31 | Currency field | p((m+1)/2) |
DATS | 8 | Date | d |
DEC | 1-31 | Calculation/amount field | p((m+1)/2) |
FLTP | 16 | Floating point number | f(8) |
INT1 | 3 | 1 byte integer | b |
INT2 | 5 | 2 byte integer | s |
INT4 | 10 | 4 byte integer | i |
LANG | 1 | Language | c(1) |
LCHR | 256-... | Long character string长字符串 | c(m) |
LRAW | 256-... | Long byte string长位字符串 | x(m) |
NUMC | 1-255 | numerischer Text | n(m) |
PREC | 2 | Accuracy of a quantity field精确度 | s |
QUAN | 1-31 | Quantity field | p((m+1)/2) |
RAW | 1-255 | Byte sequence | x(m) |
RAWSTRING | 256-... | Byte sequence | xstring |
SSTRING | 1-255 | Character string | string |
STRING | 256-... | Character string | string |
TIMS | 6 | Time | t |
UNIT | 2-3 | Unit key | c(m) |
这里的“允许最大长度m”表示的是字面上允许的字符位数,而不是指底层所占内存字节数,如
int1的取值为0~255,所以是3位(不包括符号位)
int2的取值为-32768~32767,所以是5位
int4的取值为-2147483648 ~ 2147483647,所以是10位
- LCHR and LRAW类型允许的最大值为INT2最大值
- RAWSTRING and STRING具有可变长度,最大值可以指定,但没有上限
- SSTRING长度是可变的,其最大值必须指定且上限为255。与CHAR类型相比其优势是它与ABAP typestring进行映射。
映射详解说明:
下面是SAP系统中的表生成的MS SQL数据库表: