Текущее время: Вс, июл 20 2025, 14:22

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Проблемы при использовании метода maintain_bapi класса cmd_ei_api
СообщениеДобавлено: Пн, апр 22 2013, 10:38 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, ноя 07 2011, 11:46
Сообщения: 83
Добрый день, коллеги!
Проблема возникла в продуктиве на большом объёме данных. Я обновляю sales area клиентов пакетами по 5тыс. записей. Вызываю для этого метод maintain_bapi, который обновляет клиентов требуемой пачкой. Внутри этого метода стоит очистка буфера:
* Register method customer initialization
CALL FUNCTION 'BUFFER_SUBSCRIBE_FOR_REFRESH'
EXPORTING
name_of_deletefunc = 'CMD_BUFFER_REFRESH'.

* Register method vendor initialization
CALL FUNCTION 'BUFFER_SUBSCRIBE_FOR_REFRESH'
EXPORTING
name_of_deletefunc = 'VMD_BUFFER_REFRESH'.

После того, как отработает этот метод, происходит разлочивание клиентов:
LOOP AT lt_kunnr INTO ls_kunnr.
cmd_ei_api=>unlock(
EXPORTING
iv_kunnr = ls_kunnr-kunnr
IMPORTING
es_error = ls_message_cor ).
*Add messages to log
PERFORM add_msg_after_unlock USING ls_message_cor.
ENDLOOP.
ENDIF.

ВСЕ СТРУКТУРЫ, ТАБЛИЦЫ ЧИСТЯТСЯ, НИЧЕГО ЛЕВОГО НЕ ПОПАДАЕТ. Проблема в том, что консультант пишет, что от пакета к пакету время обработки увеличивается. Если сначала это было 5-10 мин, то после 1-2 или даже 3 часа.
Помогите советом!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы при использовании метода maintain_bapi класса cmd_ei_api
СообщениеДобавлено: Пн, апр 22 2013, 11:24 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Уточните, пожалуйста, время обработки каждой последующей пачки увеличивается в течение одного сеанса работы программы? Или после перезапуска тоже время остается долгим? И еще, как вы определяете, что все переменные чистятся?
Если первый вариант - предлагаю запускать каждую пачку в отдельной сессии - всё-таки в стандартном коде косяков и утечек памяти хватает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы при использовании метода maintain_bapi класса cmd_ei_api
СообщениеДобавлено: Пн, апр 22 2013, 12:23 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, ноя 07 2011, 11:46
Сообщения: 83
Насколько я понимаю, консультант запускает программу в одной сессии. Про чистку переменных - программа не раз тестировалась в разработке(конечно же, на значительно меньших данных), потом в тесте.
Про пачку клиентов в одной сессии - это хорошо, но так поступать вряд ли будут.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы при использовании метода maintain_bapi класса cmd_ei_api
СообщениеДобавлено: Пн, апр 22 2013, 12:36 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, янв 25 2012, 01:54
Сообщения: 59
а очистка буфера точно работает правильно?
транзакциями пробовали буфер чистить и запускать?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы при использовании метода maintain_bapi класса cmd_ei_api
СообщениеДобавлено: Пн, апр 22 2013, 12:51 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Hanna_89 написал(а):
Про пачку клиентов в одной сессии - это хорошо, но так поступать вряд ли будут.
Почему? На всякий случай уточню: я имею ввиду не ручной запуск каждой пачки, а модификацию программы, чтобы каждая пачка запускалась в отдельной сессии.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблемы при использовании метода maintain_bapi класса cmd_ei_api
СообщениеДобавлено: Пн, апр 22 2013, 13:57 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, ноя 07 2011, 11:46
Сообщения: 83
Fifth написал(а):
а очистка буфера точно работает правильно?
транзакциями пробовали буфер чистить и запускать?


Насчёт буфера уверенности нет. Специально транзакции не вызывались...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблемы при использовании метода maintain_bapi класса cmd_ei_api
СообщениеДобавлено: Пн, апр 22 2013, 14:00 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, ноя 07 2011, 11:46
Сообщения: 83
weise написал(а):
Hanna_89 написал(а):
Про пачку клиентов в одной сессии - это хорошо, но так поступать вряд ли будут.
Почему? На всякий случай уточню: я имею ввиду не ручной запуск каждой пачки, а модификацию программы, чтобы каждая пачка запускалась в отдельной сессии.


Программа запускается в фоне, не знаю, стоит ли так разбивать...


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

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


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

Сейчас этот форум просматривают: Ahrefs [Bot]


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

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