SELECT FROM @itab 导致语法错误。为什么?
SELECT FROM @itab causes syntax error. Why?
我尝试像 here in SAP docs 解释的那样使用 SELECT FROM @itab
。
我从未使用过此功能,但觉得这很棒。您可以查询仅存在于解释器 RAM 中的内部数据结构,就像它在数据库中是真实的 table 一样。我印象深刻。
这是 ABAP 代码:
data: lt_get_auth_values TYPE STANDARD TABLE OF US335.
CALL FUNCTION 'GET_AUTH_VALUES'
EXPORTING
OBJECT1 = 'Z:FOO'
USER = sy-uname
TABLES
VALUES = lt_get_auth_values.
SELECT highval from @lt_get_auth_values as mytab WHERE field = 'WERKS'
INTO TABLE @DATA(static_perm_filter_fields).
我无法激活该功能,因为根据我的系统,“from @lt_get_auth_values”是一个语法错误。
这行有什么问题?
SAP版本:740(不好意思,我一开始以为是752)
SELECT ... FROM @itab appeared in 7.52 所以它应该可以工作。
在我的 7.52 系统上它可以工作,但你必须指明一个 table 别名。 ABAP 文档中有一个示例(参见上面的第一个 link)。
我尝试像 here in SAP docs 解释的那样使用 SELECT FROM @itab
。
我从未使用过此功能,但觉得这很棒。您可以查询仅存在于解释器 RAM 中的内部数据结构,就像它在数据库中是真实的 table 一样。我印象深刻。
这是 ABAP 代码:
data: lt_get_auth_values TYPE STANDARD TABLE OF US335.
CALL FUNCTION 'GET_AUTH_VALUES'
EXPORTING
OBJECT1 = 'Z:FOO'
USER = sy-uname
TABLES
VALUES = lt_get_auth_values.
SELECT highval from @lt_get_auth_values as mytab WHERE field = 'WERKS'
INTO TABLE @DATA(static_perm_filter_fields).
我无法激活该功能,因为根据我的系统,“from @lt_get_auth_values”是一个语法错误。
这行有什么问题?
SAP版本:740(不好意思,我一开始以为是752)
SELECT ... FROM @itab appeared in 7.52 所以它应该可以工作。
在我的 7.52 系统上它可以工作,但你必须指明一个 table 别名。 ABAP 文档中有一个示例(参见上面的第一个 link)。