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

时间:2018-11-23 11:02:40

标签: sap abap

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

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

新的RFC调用应该接下1000行,但是从1000行开始直到2000年。是否有一些优雅的方法来处理这种情况?

不能使用游标,因为将连续两次调用相同的RFC游标值。

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

谢谢您的建议!

1 个答案:

答案 0 :(得分:2)

使用偏移量

在带有OFFSET的SELECT中:

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

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

根据online help,您必须在SELECT中使用ORDER BY。