Почему «FETCH NEXT CURSOR» не выбирает данные? - PullRequest
0 голосов
/ 09 октября 2018

У меня есть следующий код:

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 выполнение отчета).В этом случае данные найдены.

Параметры с экрана выбора: enter image description here

Данные трассировки после использования только параметра B: (Данные не найдены) enter image description here

Оператор SELECT, который я создал из данных трассировки: (данные найдены) enter image description here

Я использовал точные значения предложения WHEREв обоих случаях.

Важно упомянуть: после OPEN CURSOR команды dbcur получает значение, но при FECH NEXT CURSOR команде ct_data_p остается пустым.

Возможныепричины, по которым это может произойти, и что мне следует попробовать?

Я прочитал, что если открыть слишком много курсоров, появится сообщение об ошибке, что здесь не так.

...