Текущее время: Ср, авг 13 2025, 14:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Запуск инфопакета через BAPI_IPAK_START
СообщениеДобавлено: Пн, дек 01 2008, 14:48 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, май 26 2005, 11:36
Сообщения: 651
Откуда: Киев-Москва
Коллеги.
Необходимо делать достаточно большой расчет в ФМ экстракции. То, что на тестировании работало хорошо, на продуктиве стало валиться в дамп из-за нехватки памяти из-за большого объема "боевых" данных.
Сделал код который бьет исходный пул данных на относительно небольшие части. Соответственно меняю инфопакет (BAPI_IPAK_CHANGE) и пытаюсь его запустить через BAPI_IPAK_START. Анализирую таблицу возврата с ошибками. Если есть ошибки - попытка повторного запуска с теми же параметрами.
Проблема в том, что не смотря на такую обработку таблицы возврата функции, получается ситуация, что некоторые инфопакеты стартуют несколько раз с одними и теми же параметрами. Возвращаемые ошибки при запуске: "Инфо-пакет Zххх запланирован или уже выполняется; дальнейш. запуск невозм." и "Задание BI_ххх (еще) не запущено". Если же повторный запуск не проводить, то большинство пакетов не стартует и данные загружаются не все.
Как по-другому запускать инфопакет и обрабатывать возврат? Может пытаться запустить всё, а потом мониторить, что по факту запустилось? Число запускаемых процессов гораздо больше, чем диалоговых процессов на сервере приложений.

_________________
Рисую потоки данных.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, дек 02 2008, 13:56 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, май 26 2005, 11:36
Сообщения: 651
Откуда: Киев-Москва
В общем убрал распараллеливание. Запускаю инфопакет и жду пока статус станет не-желтым (модуль BAPI_ISREQUEST_GETSTATUS). Итого экстракция занимает всего один фоновый процесс и ведет на системе себя очень корректно.
Подглядел здесь http://www.sapnet.ru/viewtopic.php?t=1952

_________________
Рисую потоки данных.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 04 2008, 22:51 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пт, окт 21 2005, 09:24
Сообщения: 832
Откуда: от верблюда...тоже:)
Пол: Мужской
Zharik написал(а):
В общем убрал распараллеливание. Запускаю инфопакет и жду пока статус станет не-желтым (модуль BAPI_ISREQUEST_GETSTATUS). Итого экстракция занимает всего один фоновый процесс и ведет на системе себя очень корректно.
Подглядел здесь http://www.sapnet.ru/viewtopic.php?t=1952

а если выставить галку в пакете - "фоновый процесс длится, пока даные не будут загружены в цель" (как-то так она называется). смысл такой что он не вернет управление запустившей программе, пока не загрузит все в цель. гы...пока писал подумал а если ошибки и запрос в желтом статусе будет болтаться:)))

_________________
а подпись...а подписи не будет :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 05 2008, 15:09 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, май 26 2005, 11:36
Сообщения: 651
Откуда: Киев-Москва
Прикинул по последней проблеме. Начальная загрузка - до сотни пакетов. В один поток работают нормально, но, в общем получается ну очень медленно.
Сейчас в голове идея сделать константу на системе - число фоновых процессов, которые допустимо занимать и запускать именно столько. И мониторить последовательно их статусы, заменяя в списке позеленевший пакет новым.
Возможно проблемы бы не было, если б из исходной системы данные приходили в нужных разрезах. Но здесь достаточно сложный расчет на основании разрозненных данных из исходной системы в попытке получить нормальную картину истории и всё это делается в момент экстракции.
Ладно. Сорри за разглагольствывания :D

_________________
Рисую потоки данных.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запуск инфопакета через BAPI_IPAK_START
СообщениеДобавлено: Сб, дек 06 2008, 18:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, июн 24 2005, 15:18
Сообщения: 1216
Откуда: Diagon Alley
Zharik написал(а):
Коллеги.
Необходимо делать достаточно большой расчет в ФМ экстракции. То, что на тестировании работало хорошо, на продуктиве стало валиться в дамп из-за нехватки памяти из-за большого объема "боевых" данных.


Я чего-то не понял.
Экстрактор как сделан ? Данные разбиваются на пакеты или приходят одним большим "куском" ?

Иными словами в экстракторе есть что-то наподобие

Code:
    FETCH NEXT CURSOR S_CURSOR
               APPENDING CORRESPONDING FIELDS
               OF TABLE E_T_DATA
               PACKAGE SIZE S_S_IF-MAXSIZE.

_________________
"Если ты в молодости не испытал трудности, их стоит купить за большие деньги". (с) Даймо


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, дек 07 2008, 23:32 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пт, окт 21 2005, 09:24
Сообщения: 832
Откуда: от верблюда...тоже:)
Пол: Мужской
Zharik написал(а):
Прикинул по последней проблеме. Начальная загрузка - до сотни пакетов. В один поток работают нормально, но, в общем получается ну очень медленно.
Сейчас в голове идея сделать константу на системе - число фоновых процессов, которые допустимо занимать и запускать именно столько. И мониторить последовательно их статусы, заменяя в списке позеленевший пакет новым.
Возможно проблемы бы не было, если б из исходной системы данные приходили в нужных разрезах. Но здесь достаточно сложный расчет на основании разрозненных данных из исходной системы в попытке получить нормальную картину истории и всё это делается в момент экстракции.
Ладно. Сорри за разглагольствывания :D

а почему не выполнить этот сложный расчет в исходной системе и не вернуть результат своим экстрактором. Или система неSAP?

_________________
а подпись...а подписи не будет :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 08 2008, 20:12 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 08 2008, 19:17
Сообщения: 92
Откуда: Москва
Пол: Мужской
Попробуй результаты расчета сохранять в промежуточных таблицах с timestampом и затем грузить в BW. Если грамотно сделать даже дельта получиться.

_________________
В смысле осмысления бессмысленности, смысл тоже имеет определенную осмысленность.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Вт, дек 09 2008, 18:56 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, май 26 2005, 11:36
Сообщения: 651
Откуда: Киев-Москва
Исходная система - как раз САП.
В результате анализа исходных требований изменил порядок расчета аналитики, убрав лишние итерации, сделал кеширование перед большими расчетами (чтобы не выбирать аналитику дважды). Итого по скорости разогналось в 20 раз и теперь отрабатывает полностью за ночь. В общем, то, что доктор прописал.
В общем ещё раз убедился, что хотелки клиента, которые транслированы в некое подобие ТЗ надо творчески переосмысливать. Иначе система не сдвинется с места.

2 VitalkaFS варианты с дельтой по времени используются где только можно. Но когда на выходе экстракции бывает пару миллионов записей, то хочется избежать лишней операции обращения БД (записи в таблицу и извлечения данных, удаления результата предыдущего запроса) и сразу отдать данные в BW. Итого получается быстрее, но если всё корректно работает.

Так что проблема закрыта. Спасибо всем, кто принял участие в топике!

_________________
Рисую потоки данных.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB