Текущее время: Чт, сен 21 2017, 07:09

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Поток операции ошибочный! загадка!
СообщениеДобавлено: Пт, янв 30 2015, 13:42 
Начинающий
Начинающий

Зарегистрирован:
Пт, янв 30 2015, 12:08
Сообщения: 1
Добрый день!

Вобщем мне дали на сопровождение Workflow. И я слежу за журналом. Просматриваю ошибочные.
И вот одна ошибка которая стала появляться не дает покоя. Разработка не моя, поэтому меня это вводит в ступор, сама суть.

Вот суть:
1) Запуск ПО (WS9*) настроен на событие PURCHASEORDERCHANGE объекта BUS2002.
2) Далее нет никаких условии, циклов, и первым стоит Операция на основе стандартной задачи (далее TS9*)
В операции поток данных настроен (BINDING) - все как положено, передаем параметр, и возвращаем список обработчиков (&EX_AGENTS&)
Типы совпадают!
3) Основа TS9*: Это фоновый вызов метода из Z-класса, тобишь все самописное.
Входной и выходной параметры метода класса как раз теже самые что и в контейнере (причем все необъязательные).
Код метода класса довольно таки прост: Из входящего параметра (который является структурой),
мы получаем необходимые поля и по этим значениям, ЕСЛИ они не пустые, считываем из Z-таблицы по этим полученным данным
обработчиков (US). В коде не идет считывание из контейнера ничего.
!!! И в конце метода стоит RAISE, если вдруг ничего не нашли, т. е. нет обработчиков!!!

НО!!! В самой ТЗ9* не настроена передача параметров (BINDING) - ни IMPORT ни EXPORT, все пустое.
Т. е. по идее в метод ничего не передаем и ничего не получаем.

Версия ПО - всего ОДНА! Задачи и ПО одинаковые - и в разработке, и в тесте, и в продуктиве!
Больно простая ПО, т. к. собственно после получения следующим этапом идет всего-лишь одна диалоговая операция,
где обработчиком будут именно полученные в предыдущей операции.


Так вот незадача: например в день если вдруг будут запущено 5 потоков операции, то 4 ПРОХОДЯТ без проблем.
А одна валится в ошибку!

Ошибка как раз та самая RAISE.

В логах, журналах смотрю контейнеры - все передаются без проблем, значения есть.
Причем как в ошибочных так и в нормальных.

Интересный момент: по логу сам смотрю контейнеры тех 4 ПО которые прошли без проблем,
прохожу по алгоритму метода и нахожу в той самой Z-таблице нужные записи.
а в той которая ошибочна, как раз таки действительно такой записи по ключу в Z-таблице нет.

КАК в метод может передаваться параметр, если он не настроен в потоке данных самой задачи ???
Если бы все потоки были бы ошибочными, я бы не думая просто сделал бы BINDING. Но ведь в основном он как-то передал.

Загадка которая мне не дает покоя.

Кто-нибудь с таким сталкивался? Может еще где-то может как-то передаваться, в момент запуска фоновой задачи?
Куда мне надо смотреть, в какую сторону :-)


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

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


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

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


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

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