当你有 "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
...

你有这么多的原因很多。

  1. 字符串类型不能作为数据库中的主键(透明)table.
  2. 在结构的其中一个字段中使用字符串类型时,将无法对此类结构类型的变量进行一些隐式操作,例如通过对其他固定长度结构的赋值。
  3. 通过在结构类型中使用字符串类型,您可以使其不再是平面结构。
  4. 一些数据迁移接口,如直接输入 要求 加载结构具有定义的固定长度。

我想还有很多,但这是我短时间内想到的。