gpt4 book ai didi

select - ABAP 7.40 SELECT .. ENDSELECT UP TO n ROWS 语法?

转载 作者:行者123 更新时间:2023-12-04 02:15:26 25 4
gpt4 key购买 nike

更新:该题撤回,语法正确。显然,SAP 通过语法定义 ABAP,然后通过纯文本的附加规则对其进行修改。我错过了第二部分。


我正在查看 ABAP 关键字文档 7.40,SELECT -> SELECT 添加。对于 UP TO n ROWS,它给出了示例

DATA: wa_scustom TYPE scustom.

SELECT *
FROM scustom
WHERE custtype = 'B'
ORDER BY discount DESCENDING
INTO @wa_scustom
UP TO 3 ROWS.
ENDSELECT.

我在 SAP 7.40 系统中验证了该代码并得到了错误

Row 7: "INTO" is not valid here. '.' is expected

另一方面,接受以下代码,尽管文档中给出的 SELECT 语法未涵盖它:UP TO n ROWS 应该在 FROM 之后。

SELECT COUNT(*) UP TO 1 ROWS
FROM MARC
WHERE matnr eq 100.

因为我们正在编写一个自动生成 ABAP 代码的工具,所以最好知道什么是合法的,什么是不合法的。有“权威”文件吗?一般来说,是否值得尝试联系 SAP 的人员进行更正? (你看,我对 SAP 世界有点陌生)如果是,那会是谁?

最佳答案

我现在无法检查,但我怀疑您在“WHERE ...”和“ORDER BY ...”部分之后放置了“INTO ...”和“UP TO ...”部分. Documentation states SELECT 的语法是:

SELECT result 
INTO target
FROM source
[WHERE condition]
[GROUP BY fields]
[HAVING cond]
[ORDER BY fields].

with remark “FROM 子句 ... 也可以放在 INTO 子句之前。”没有备注可以在SELECT/INTO/FROM之间插入WHERE/GROUP BY/HAVING/ORDER BY。

那么,试试看:

SELECT *
FROM scustom
INTO @wa_scustom
UP TO 3 ROWS
WHERE custtype = 'B'
ORDER BY discount DESCENDING.
ENDSELECT.

关于select - ABAP 7.40 SELECT .. ENDSELECT UP TO n ROWS 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com