当你有 "string" 类型时,为什么 ABAP 中有这么多 "char" 类型?
Why are there so many "char" types in ABAP when you have "string" type?
在 ABAP 字典中,您可以找到几乎所有长度的 "CHAR" 类型的数据元素,所以问题来了:当您有一个字符串元素时,它们有什么功能 买得起所有的长度?
我说的是具有特定长度但具有相同域类型的那些。
这里我展示一些:
CHAR0001
CHAR0008
CHAR0010
CHAR0016
CHAR0032
CHAR004
CHAR005
CHAR006
CHAR0064
CHAR007
CHAR01
CHAR011
CHAR012
CHAR0128
CHAR02
CHAR022
CHAR0241
CHAR025
CHAR0256
CHAR03
CHAR04
CHAR05
CHAR060
CHAR07
CHAR08
CHAR101
CHAR102
CHAR1024
...
你有这么多的原因很多。
- 字符串类型不能作为数据库中的主键(透明)table.
- 在结构的其中一个字段中使用字符串类型时,将无法对此类结构类型的变量进行一些隐式操作,例如通过对其他固定长度结构的赋值。
- 通过在结构类型中使用字符串类型,您可以使其不再是平面结构。
- 一些数据迁移接口,如直接输入 要求 加载结构具有定义的固定长度。
我想还有很多,但这是我短时间内想到的。
在 ABAP 字典中,您可以找到几乎所有长度的 "CHAR" 类型的数据元素,所以问题来了:当您有一个字符串元素时,它们有什么功能 买得起所有的长度?
我说的是具有特定长度但具有相同域类型的那些。
这里我展示一些:
CHAR0001
CHAR0008
CHAR0010
CHAR0016
CHAR0032
CHAR004
CHAR005
CHAR006
CHAR0064
CHAR007
CHAR01
CHAR011
CHAR012
CHAR0128
CHAR02
CHAR022
CHAR0241
CHAR025
CHAR0256
CHAR03
CHAR04
CHAR05
CHAR060
CHAR07
CHAR08
CHAR101
CHAR102
CHAR1024
...
你有这么多的原因很多。
- 字符串类型不能作为数据库中的主键(透明)table.
- 在结构的其中一个字段中使用字符串类型时,将无法对此类结构类型的变量进行一些隐式操作,例如通过对其他固定长度结构的赋值。
- 通过在结构类型中使用字符串类型,您可以使其不再是平面结构。
- 一些数据迁移接口,如直接输入 要求 加载结构具有定义的固定长度。
我想还有很多,但这是我短时间内想到的。