使用ORDER BY PRIMARY KEY选择

2020-08-23 07:18发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,我最近开始研究HANA数据库,因为我意识到与其他数据库相比,代码在HANA中的行为方式有所不同。 谈到我遇到的问题,我创建了一个用于显示每日交易的报告。 我使用表BSEG BKPF,lfa1,kna1来显示通过FB01发布的文档的详细信息,例如供应商帐户,客户帐户,金额等。从BSEG获取数据时,我正在传递文档编号(BELNR)。 会计年度及年度 已经从BKPF获取的代码。 我使用的查询是:

SELECT bukrs
belnr
gjahr
blart
bldat
budat
xblnr
cpudt从bkpf插入表it_bkpf s_date所在的budat

AND bukrs = s_bukrs AND blart in s_type AND gjahr = s_gjahr。

在BSEG表中手动执行时,相同的查询按预期显示记录,但是在代码中返回sy-subrc EQ 4。 在与同事协商时,他询问这是否为S/4 HANA,并建议在此查询中使用ORDER BY PRIMARY KEY子句,它确实起作用。 我虽然还是不懂,怎么样。 因此,任何解决方案将不胜感激。

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,我最近开始研究HANA数据库,因为我意识到与其他数据库相比,代码在HANA中的行为方式有所不同。 谈到我遇到的问题,我创建了一个用于显示每日交易的报告。 我使用表BSEG BKPF,lfa1,kna1来显示通过FB01发布的文档的详细信息,例如供应商帐户,客户帐户,金额等。从BSEG获取数据时,我正在传递文档编号(BELNR)。 会计年度及年度 已经从BKPF获取的代码。 我使用的查询是:

SELECT bukrs
belnr
gjahr
blart
bldat
budat
xblnr
cpudt从bkpf插入表it_bkpf s_date所在的budat

AND bukrs = s_bukrs AND blart in s_type AND gjahr = s_gjahr。

在BSEG表中手动执行时,相同的查询按预期显示记录,但是在代码中返回sy-subrc EQ 4。 在与同事协商时,他询问这是否为S/4 HANA,并建议在此查询中使用ORDER BY PRIMARY KEY子句,它确实起作用。 我虽然还是不懂,怎么样。 因此,任何解决方案将不胜感激。

谢谢。

付费偷看设置
发送
4条回答
Haoba3210
1楼-- · 2020-08-23 08:16

首先检查两个查询是否确实与SQL跟踪相同(trans。ST05)。

添加的ORDER BY PRIMARY KEY不会修改SY-SUBRC EQ 4,它将更改顺序。 。

如果您开始使用Hana DB,对所有SELECT语句进行排序是一条黄金法则,过去我们已经使用Oracle DB对结果进行了排序,而对于Hana则不是这样。

>
何必丶何苦呢
2楼-- · 2020-08-23 08:17

有什么问题吗?

注意:SY-SUBRC与ORDER BY毫无关系。

灬番茄
3楼-- · 2020-08-23 08:19

只需检查一下,因为您没有 t发布选择屏幕参数。 如果 s_bukrs 和 s_gjahr 是选择选项而不是=,则更新代码并尝试"与s_bukrs和blart IN s_type和gjahr和s_gjahr匹配"。

我从没注意到,但是我经常看到关于我们这个坏习惯的同样评论。

一周热门 更多>