我有以下代码:
OPEN CURSOR WITH HOLD dbcur FOR
SELECT (it_attr)
FROM (it_from)
FOR ALL ENTRIES IN lt_filter_key
WHERE (it_where).
...
FETCH NEXT CURSOR dbcur INTO CORRESPONDING FIELDS OF TABLE ct_data_p PACKAGE SIZE iv_packsize.
当我使用参数A 测试时,将显示正确的数据。 当我使用参数 B 进行相同的测试时,没有数据显示。 (不正确)
我已调试报告,复制了(it_attr)
,(it_from)
,lt_filter_key
和(it_where)
的值,并使用这些值(来自参数B 报告执行)。
在这种情况下,将找到数据。
在两种情况下,我都使用了精确的SELECT
子句值。
重要的是:在WHERE
命令之后,OPEN CURSOR
收到一个值,但是在dbcur
命令中,FECH NEXT CURSOR
仍然为空。
发生这种情况的可能原因是什么,我应该尝试什么?
我已阅读到,如果打开了太多的游标,则会出现一条错误消息,这里不是这种情况。