Цитата:
В отладчике все хорошо, все записи есть.
Если все хорошо в отладчике, тогда и при экстракции должно быть всё хорошо.
Предлагаю способ чтобы отладиться в исходной системе в ситуации если экстракция была инициирована запуском инфопакета в BW системе:
Вставляете в текста ФМ фрагмент кода:
Code:
***********************
DATA: X TYPE I.
X = 1.
WHILE X = 1.
X = 1.
ENDWHILE.
***********************
lv_from = i_maxsize * s_counter_datapakid + 1.
lv_to = i_maxsize * ( s_counter_datapakid + 1 ).
LOOP AT ztab ASSIGNING <ztab> FROM lv_from TO lv_to.
APPEND <ztab> TO e_t_data.
ENDLOOP.
IF sy-subrc <> 0.
RAISE no_more_data.
ENDIF.
s_counter_datapakid = s_counter_datapakid + 1.
Этим самым моделируем ситуацию бесконечного цикла. Запускаете инфопакет в BW системе. Затем регистрируетесь в исходной системе заходите в транзакцию SM50, находите процесс, который соответствует вашей экстракции (его будет несложно отличить от других), выделяете строчку, далее меню Администрирование - программа - отладка. Вы попадете как раз в бесконечный цикл, далее меняет значение X на любое другое и выходите из бесконечного цикла. Здесь смотрите содержимое внутренней таблицы, значения переменных, размеры пакета и тд., делаете выводы, устраняете проблему. Метод действует 100%.
P.S. В исходной системе должны быть полномочия на отладку процессов и на изменение значения переменных в отладчике.