我发现了一段如图所示的代码,在这种情况下我或多或少知道它会导致什么,但通常我不知道语法#( )。语法是什么#( )?在哪里可以找到更多相关信息?
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) 我正在使用该line_index函数,并且想搜索两个值,不仅是carrid,而且是connid。是否可以?如果真是这样,那么是以哪种方式?
因为现在,这是有效的:
lv_index = line_index( lt[ carrid = 'LH' ] ).
Run Code Online (Sandbox Code Playgroud)
[ connid = '2407' ]但是添加这样的代码后:
lv_index = line_index( lt[ carrid = 'LH' ][ connid = '2407' ] ).
Run Code Online (Sandbox Code Playgroud)
我收到语法错误:
LT[ ] 不是内表
当我们通常声明一个变量时,我们会指定它的类型。
如果我们不指定内联声明变量的类型,会发生什么情况?是根据收到的值来分配的吗?
例如:
Ex.1 这里我们通过传入的值来获取字符串类型?
DATA(lv_name) = 'Testing Value'.
Run Code Online (Sandbox Code Playgroud)
Ex.2 这里我们得到lt_maraTYPE TABLE OF mara?
SELECT * FROM mara
INTO TABLE @DATA(lt_mara) UP TO 10 ROWS.
Run Code Online (Sandbox Code Playgroud)
我对这个问题的理解正确吗?