一、abap中基本数据类型
类型 | 默认值 | 最大长度(字符数) | 默认长度 | 描述 |
---|---|---|---|---|
C | Space | 1~262143个字符 | 1 字符 | 字符,如 'china' |
N | '00...0' | 1~262143个字符 | 1 字符 | 0到9之间字符组成的数字字符串 |
D | '00000000' | 8 个字符 | 日期格式必须为 YYYYMMDD | |
T | '000000' | 6 个字符 | 格式为 24-hour的 HHMMSS | |
I | 0 | 4 bytes | 整数 | |
F | 0 | 8 bytes | 浮点数,小数位最大可以到17位 | |
P | 0 | 1 to 16 bytes | 8 bytes | 两个数字位压缩后才占一个字节,由于0-9的数字只需要4Bit位,所以一个字节实质上允许存储二位数字,这就是P数据类型为压缩数据类型的由来。并借用半个字节来存储小数点位置、正号、负号相关信息 |
X | '00' | 1~524,287 bytes | 1 byte | 十六进制字符 0-9, A-F具体的范围为:00~FF 类型X是十六进制类型,可表示内存字节实际内容,使用两个十六制字符表示一个字节中所存储的内容。但直接打印输出时,输出的还是赋值时字面意义上的值,而不是Unicode解码后的字符 注:如果未在 DATA 语句中指定参数<length>,则创建长度为 1,如果值是字母,则一定要大写 |
1、类型N与I的区别
1)N型有前导0,I无前导0;
。
2、P类型(压缩型)数据
P类型是一种压缩的定点数,其数据对象占据内存字节数和数值范围取定义时指定的整个数据大小和小数点后位数,如果不指定小数位,则将视为I类型。其有效数字位大小可以是从1~31位数字(小数点与正负号占用一个位置,半个字节),小数点后最多允许14个数字。
代码语言:javascript复制DATA:P(16) TYPE P DECIMALS 14 VALUE '12345678901234567.12345678901234'.
DATA:P(m) TYPE P DECIMALS n .
整数位位数: m * 2 - n - 1; 小数位位数 : n。其中正负号和小数点占一位。
3、长度可变的内置类型(String、XString)
1)string类型
在ABAP程序中,string类型是长度无限的字符型字段,可以和CHAR ,D,T ,I,N 直接转换,但是有些字符串的操作语句可以使用CHAR 类型,不允许使用string 类型,比如:SHIFT,在系统内部,长度可变的内置类型(String、XString)是通过引用实际动态的数据对象的固定内存地址来进行操作,因而这两种内置类型和引用类型一样,属于纵深类型。
2)xstring类型
由十六进制字符 0-9, A-F组成字符串。直接打印输出时,输出的还是赋值时字面意义上的值,而不是Unicode解码后的字符串。注:如果值是字母,则一定要大写,否则赋值会失败。