使用未分配的字段符号描述字段

DESCRIBE FIELD with an unassigned field symbol

这是给你的。

为什么以下代码不以短转储 GETWA_NOT_ASSIGNED 结尾,而是 return 键入 C 长度 2

FIELD-SYMBOLS: <fs_any> TYPE any.

DESCRIBE FIELD <fs_any>
  TYPE DATA(l_type)
  LENGTH DATA(l_length) IN BYTE MODE
  DECIMALS DATA(l_decimals).

我在 ABAP 文档中找不到任何关于此行为的信息。

编辑:

看起来短转储永远不会出现。我也尝试过

FIELD-SYMBOLS: <fs_any> TYPE i.

FIELD-SYMBOLS: <fs_any> TYPE but000.

所以 vwegert 的答案看起来是合理的,因为声明一个没有任何类型的变量 DATA: var. 默认它是 c 长度 1.

个人意见,也没有文档支持:由于 DATA foo. 将隐式创建一个变量 TYPE C LENGTH 1,这就是 DESCRIBE FIELD 在这种情况下所做的 return。您可能在 Unicode 系统上 - 在我的系统上,它 return 的长度为 1。我想说您已经触发了一些未记录的行为,甚至可能是一个错误。我强烈建议 不要 依赖这个 - 我想它可能会随时更改。