Текущее время: Ср, апр 24 2024, 00:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Пт, фев 19 2010, 10:54 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 04 2010, 14:59
Сообщения: 18
Всем привет!
Для создания связей для операций в заказах ТОРО использую функцию BAPI_NETWORK_MAINTAIN.
Если я создаю несколько зависимостей для заказа и сервер загружен, то связи не создаются,
выдаётся ошибка, что заказ занят.
Я поставил задержку на 1 секунду, тогда всё работает.
Но это временный выход, т.к. связей может быть много, например, если связей 600, то это 10 минут.
Есть какой нибудь разумный способ?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Пт, фев 19 2010, 11:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Code:
SET UPDATE TASK LOCAL

перед каждым вызовом BAPI
и естественно COMMIT после каждого BAPI
в моем понимании должно помочь


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Пт, фев 19 2010, 11:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
Можно использовать механизм блокировок - объект ESORDER

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Ср, мар 03 2010, 16:06 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 04 2010, 14:59
Сообщения: 18
Ничего не помогает.
Работает только с задержкой в секунду.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Ср, мар 03 2010, 20:41 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Жалко, что не помог мой способ. Мне недавно он вроде помог (правда на тесте может быть непонятно, продуктива пока нет).

Однако очень не советую задавать конкретный интервал ожидания, пытаясь "дождаться" завершения отложенного обновления и разблокировки. Советую сделать что-то вроде цикла ожидания, его можно делать как раз с интервалом в секунду (например), где проверять какое-то условие (например объект блокировки). А также можно ... выполнять BAPI в цикле до тех пор, пока оттуда не перестанет приходить определенная ошибка (говорящая о еще не снятой блокировке). Так будет стабильнее. Иначе в реальной эксплуатации секунды может не хватить, и даже 10-ти секунд...

PS
Неужели предложенный мной способ не работает (с SET UPDATE TASK LOCAL)?! Интересно было бы услышать, что думают другие об этом. Были на форуме ветки, где говорилось, что он все же работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Чт, мар 04 2010, 11:07 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 04 2010, 14:59
Сообщения: 18
И что ведь странно, что функция BAPI не возвращает какую-либо ошибку, просто операция не создаётся или не удаляется.
Поэтому, конечно, после каждого вызова функции надо проверять результат чтением.
В тестовой системе у меня тоже всё работало корректно без задержек и коммитов.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Чт, мар 04 2010, 11:33 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Я извиняюсь за глупый вопрос/уточнение.
Когда я написал про SET UPDATE TASK LOCAL и COMMIT, я не написал, что COMMIT естественно с WAIT!

Типа такого.
Code:
SET UPDATE TASK LOCAL.

CALL FUNCTION 'BAPI_...'
...

COMMIT WORK AND WAIT.

" Здесь теоретически мы уверены, что все блокировки сняты, все обновления прошли ??


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Чт, мар 04 2010, 15:24 
Гость
brndk писал:
Цитата:
И что ведь странно, что функция BAPI не возвращает какую-либо ошибку, просто операция не создаётся или не удаляется.
Поэтому, конечно, после каждого вызова функции надо проверять результат чтением.
В тестовой системе у меня тоже всё работало корректно без задержек и коммитов.
И что ведь странно, что функция BAPI не возвращает какую-либо ошибку, просто операция не создаётся или не удаляется.
Поэтому, конечно, после каждого вызова функции надо проверять результат чтением.
В тестовой системе у меня тоже всё работало корректно без задержек и коммитов.


Было тоже что-то похожее. Когда создавали заказ на поставку.
Помогла задержка:

Code:
* завершение работы по созданию заказа на поставку
    COMMIT WORK AND WAIT.
    IF sy-subrc NE 0.
      CALL FUNCTION 'BALW_BAPIRETURN_GET2'
        EXPORTING
          type   = 'E'
          cl     = 'S&'
          number = '150'
        IMPORTING
          return = gt_return.
    ENDIF.

*    WAIT UP TO 3 SECONDS.
    DATA: lpr_ebeln TYPE ekko-ebeln.

    DO 180  TIMES.
      SELECT SINGLE ebeln FROM ekko INTO lpr_ebeln WHERE ebeln = gs_bapiekkoc-po_number.
      IF sy-subrc = 0.
        EXIT.
      ENDIF.
      CALL FUNCTION 'RZL_SLEEP'
        EXPORTING
          seconds = 1.
    ENDDO.
    ll_ebeln = gs_bapiekkoc-po_number.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Чт, мар 04 2010, 15:36 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 04 2010, 14:59
Сообщения: 18
raaleksandr написал:
Я извиняюсь за глупый вопрос/уточнение.
Когда я написал про SET UPDATE TASK LOCAL и COMMIT, я не написал, что COMMIT естественно с WAIT!

Типа такого.
Code:
SET UPDATE TASK LOCAL.

CALL FUNCTION 'BAPI_...'
...

COMMIT WORK AND WAIT.

" Здесь теоретически мы уверены, что все блокировки сняты, все обновления прошли ??


Всё именно так и было, но не работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Пн, авг 24 2020, 11:32 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 24 2020, 11:09
Сообщения: 9
Всем добрый день.

Извиняюсь за форумную некрофилию, просто не вижу смысла создавать новую тему.
Вообщем то проблема практически(но не совсем) как "в шапке" - при отработке ФМ BAPI_NETWORK_MAINTAIN не возвращает никаких ошибок, но и значения у изменяемого объекта не изменяются.
Запускается ФМ посредством вызова по SOAP(но и при локальной проверке "внутрисапно", ведёт себя аналогично).
Место вызова выглядит вот так:
Code:
................
  SET UPDATE TASK LOCAL.

  CALL FUNCTION 'BAPI_NETWORK_MAINTAIN'
    IMPORTING
      return                    = return
    TABLES
      i_method_project          = i_method_project
      i_network                 = i_network
      i_activity                = i_activity
      i_activity_update         = i_activity_update
      e_message_table           = e_message_table
      i_activity_element        = i_activity_element
      i_activity_element_update = i_activity_element_update.

  READ TABLE e_message_table INDEX 1.
  IF e_message_table IS INITIAL.
    es_return-type = 'I'.
    IF i_parent_operation IS INITIAL.
      es_return-message = 'Операция успешно обновлена.'.
    ELSE.
      es_return-message = 'Подоперация успешно обновлена.'.
    ENDIF.
    COMMIT WORK AND WAIT.
............

не помогает.

НО, тем не менее, для некоторых случаев ФМ отрабатывает; в частности, даёт поменять название - i_activity-description
При этом также не выводится никаких сообщений. Подскажите пожалуйста, как такое победить?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Пн, авг 24 2020, 11:33 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 24 2020, 11:09
Сообщения: 9
Всем добрый день.

Извиняюсь за форумную некрофилию, просто не вижу смысла создавать новую тему.
Вообщем то проблема практически(но не совсем) как "в шапке" - при отработке ФМ BAPI_NETWORK_MAINTAIN не возвращает никаких ошибок, но и значения у изменяемого объекта не изменяются.
Запускается ФМ посредством вызова по SOAP(но и при локальной проверке "внутрисапно", ведёт себя аналогично).
Место вызова выглядит вот так:
Code:
................
  SET UPDATE TASK LOCAL.

  CALL FUNCTION 'BAPI_NETWORK_MAINTAIN'
    IMPORTING
      return                    = return
    TABLES
      i_method_project          = i_method_project
      i_network                 = i_network
      i_activity                = i_activity
      i_activity_update         = i_activity_update
      e_message_table           = e_message_table
      i_activity_element        = i_activity_element
      i_activity_element_update = i_activity_element_update.

  READ TABLE e_message_table INDEX 1.
  IF e_message_table IS INITIAL.
    es_return-type = 'I'.
    IF i_parent_operation IS INITIAL.
      es_return-message = 'Операция успешно обновлена.'.
    ELSE.
      es_return-message = 'Подоперация успешно обновлена.'.
    ENDIF.
    COMMIT WORK AND WAIT.
............

не помогает.

НО, тем не менее, для некоторых случаев ФМ отрабатывает; в частности, даёт поменять название - i_activity-description
При этом также не выводится никаких сообщений. Подскажите пожалуйста, как такое победить?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_NETWORK_MAINTAIN создание связей в заказах ТОРО
СообщениеДобавлено: Ср, авг 26 2020, 13:57 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 24 2020, 11:09
Сообщения: 9
Всем спасибо, вопрос неактуален.


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

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


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

Сейчас этот форум просматривают: Google Feedfetcher


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

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