【问题标题】:Working example with SELECT datasource~* syntax使用 SELECT 数据源~* 语法的工作示例
【发布时间】:2016-01-18 13:42:28
【问题描述】:

SAP 关键字文档中给出的示例在相应 ABAP 版本的系统中不被接受,这让我仍然感到困惑。

我正在尝试在 ABAP 7.40 系统上运行为 SELECT datasource~* ... 提供的 example,但出现错误

"," 此处不允许使用,因为它包含无效字符或者它是关键字 [...]

删除,时,错误是

不存在名为“*”的组件。 “*”。

keyword documentation中的例子是

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 版本(以及如何检查)?

【问题讨论】:

  • 该代码对我有用,没有问题。您使用的是哪个 SAP_BASIS 版本和补丁级别/SP 级别?
  • EHP7 用于 SAP ERP 6.0。这是你要求的吗?
  • 没有。系统 > 状态,详细信息按钮,与组件 SAP_BASIS 是您需要的信息。

标签: abap


【解决方案1】:

您已经提到的关键字文档指出

当使用data_source~*时,语法检查在strict mode中进行,比常规更严格地处理语句 语法检查。

严格模式下的文档页面标题为

7.40 版 SP08 中的严格模式

所以我假设您至少需要 SAP_BASIS 740 SP08。

【讨论】:

    【解决方案2】:

    我刚刚复制了那个示例代码,它在我的 7.40 SP11 系统上就像一个魅力。您应该检查您的 Netweaver 的 SP 级别。可以通过以下方式完成:

    1. 从主菜单转到系统 -> 状态
    2. SAP 系统数据 中的组件 按钮以查看系统的组件版本。

    您应该会看到如下内容:

    SAP_ABA 组件是您的 ABAP 服务器,SP-Level 列代表您的 AS 的补丁级别。

    可以在文档的ABAP Release-Specific changes 部分看到必要的补丁级别,在这里我们可以观察到此语法可用since 7.40, SP08。 没有特定版本更改的可搜索索引,因此您应该手动搜索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多