Я делаю массивный выбор из базы данных с целью сохранения его на сервере приложений или в локальном каталоге.Поскольку в БД есть множество записей, я сначала попробовал этот способ:
SELECT * FROM db PACKAGE SIZE iv_package
INTO CORRESPONDING FIELDS OF TABLE rt_data
WHERE cond IN so_cond
AND cond1 IN so_cond1.
SAVE(rt_data).
ENDSELECT.
Это привело к дампу со следующим сообщением:
Ошибки времени выполнения: DBIF_RSQL_INVALID_CURSOR
Исключение: CX_SY_OPEN_SQL_DB
Я также попытался сделать альтернативный путь:
OPEN CURSOR WITH HOLD s_cursor FOR
SELECT * FROM db
WHERE cond IN so_cond
AND cond1 IN so_cond1.
DO.
FETCH NEXT CURSOR s_cursor INTO TABLE rt_data PACKAGE SIZE iv_package.
SAVE(rt_data).
ENDDO.
Это также привело к дампу с тем же сообщением.
Что лучшеподход к этому сценарию?