我仍然感到困惑的是,SAP关键字文档中给出的示例在相应ABAP版本的系统中不被接受。
我试图在ABAP 7.40系统上运行SELECT datasource~* ...
的{{3}},但收到错误
""这里不允许,因为它包含无效字符或者是关键字[...]
删除,
时,错误为
没有名称为" *"的组件。 " *"
example中的示例是
TYPES BEGIN OF structure.
TYPES carrname TYPE scarr-carrname.
INCLUDE TYPE spfli AS spfli.
TYPES url TYPE scarr-url.
TYPES END OF structure.
DATA itab TYPE STANDARD TABLE OF structure WITH EMPTY KEY.
SELECT scarr~carrname, spfli~*, scarr~url
FROM scarr INNER JOIN spfli ON scarr~carrid = spfli~carrid
INTO TABLE @itab.
cl_demo_output=>display( itab ).
什么是正确的例子?和/或:我的系统应该接受哪个ABAP版本(以及如何检查)?
答案 0 :(得分:2)
您已提及的关键字文档指出
当使用data_source~ *时,语法检查在strict mode中执行,它比常规语句更严格地处理语句 语法检查。
严格模式的文档页面标题为
版本7.40,SP08中的严格模式
所以我认为你至少需要SAP_BASIS 740 SP08。
答案 1 :(得分:1)
我刚刚复制了该示例代码,它就像我的7.40 SP11系统上的魅力一样。您应该检查Netweaver具有的SP级别。它可以通过以下方式完成:
你应该看到这样的事情:
SAP_ABA
组件是您的ABAP服务器,SP-Level
列代表您的AS的补丁级别。
必须在文档的ABAP Release-Specific changes部分中看到必要的补丁级别,在这里我们可以看到此语法可用since 7.40, SP08。 没有可搜索的特定于发布的更改索引,因此您应手动搜索它。