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

Часовой пояс: 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 часа


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

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


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

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