用ANY或DATA键入字段符号

时间:2018-07-03 20:21:27

标签: sap abap typing

我目前正在学习ABAP,想知道以下定义字段符号的方式有何区别?

方法1

FIELD-SYMBOLS <fs> TYPE data.

方法2

FIELD-SYMBOLS <fs> TYPE any.

我知道两者都是通用类型,并且数据类型将在运行时分配。我不明白的是两者有什么不同(或者根本不同)。

2 个答案:

答案 0 :(得分:2)

是,TYPE ANY和TYPE DATA完全相同。摘自ABAP documentation, Generic ABAP types

  

通用类型 any 可以像此处列出的所有通用类型一样,除了   数据和对象,只能在TYPE之后直接指定,并且   与通用类型data 的效果相同。在TYPE REF TO之后,   仅数据(用于完全通用的数据引用变量)和对象(用于   可以指定完全通用的对象引用变量)。指定   REF TO any将定义一个完全通用的参考变量,涵盖   数据引用和对象引用。目前无法实现。

答案 1 :(得分:0)

当数据类型为ANY时,将使用ANY类型的字段符号 分配给它的是未知的。而类型分配是在 运行时。这有助于变量将数据保存在其中,否则转储或 发生数据丢失。

如果为其分配了特定类型,则仅该类型的数据 可以为其分配类型,即它只能保存该类型的数据。