ABAP中的#符号是什么?

Aba*_*ito 3 abap reference type-conversion

我发现了一段如图所示的代码,在这种情况下我或多或少知道它会导致什么,但通常我不知道语法#( )。语法是什么#( )?在哪里可以找到更多相关信息?

DATA: lv_str TYPE string VALUE 'ABCD'. 
DATA: dref1 TYPE REF TO data. 
DATA: dref2 TYPE REF TO data. 


* Old Syntax 
GET REFERENCE OF LV_STR INTO dref1. 
* New Syntax 
dref2 = REF #( LV_STR ). 
BREAK-POINT.
Run Code Online (Sandbox Code Playgroud)

小智 6

# 是变量类型的占位符。您也可以将第 11 行写成这样:

dref2 = REF data( lv_str ).
Run Code Online (Sandbox Code Playgroud)

那会做同样的事情。如果您未指定,# 将自动采用左侧变量的类型。

在此之前我还没有见过 TYPE REF TO ,但它相当常见,因为 VALUE #( )

我没有找到任何有关该REF #( )版本的文档,但这里是 的官方 SAP 文档VALUE #( ),它也解释了 # 的作用。