从RFC调用中的任意行号中选择数据库表



我使用RFC功能模块成功地处理了SAP表中的选择。我面临的问题是理解从任意行中选择数据的最佳实践。

示例:第一个RFC调用将从KNA1中获取1000条记录(我将登录到自定义透明表中,到目前为止总共考虑了多少条记录(。

新的RFC调用应该占用接下来的1000行,但从第1000行开始直到2000行。有什么优雅的方法来处理这种情况吗?

使用游标是不可能的,因为有两个相同RFC游标值的连续调用将被重置。

否则,我应该始终选择所有内容,并通过循环总数据来区分请求的数据,这将消耗大量时间。

谢谢你的建议!

使用OFFSET

在带偏移的SELECT中:

SELECT * FROM kna1 
UP TO 1000 ROWS 
OFFSET (lv_offset)
WHERE ...
ORDER BY ...

例如,如果lv_offset包含2000,它将按顺序返回2001-3000行。

根据在线帮助,您必须在SELECT中使用ORDER BY。

最新更新