У меня есть следующий код:
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)
и создал свой собственный SELECT
с этими значениями (из параметр B выполнение отчета).В этом случае данные найдены.
Параметры с экрана выбора:
Данные трассировки после использования только параметра B: (Данные не найдены)
Оператор SELECT
, который я создал из данных трассировки: (данные найдены)
Я использовал точные значения предложения WHERE
в обоих случаях.
Важно упомянуть: после OPEN CURSOR
команды dbcur
получает значение, но при FECH NEXT CURSOR
команде ct_data_p
остается пустым.
Возможныепричины, по которым это может произойти, и что мне следует попробовать?
Я прочитал, что если открыть слишком много курсоров, появится сообщение об ошибке, что здесь не так.