Текущее время: Чт, мар 28 2024, 12:14

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




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

Зарегистрирован:
Пт, янв 30 2015, 11: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 + 3 часа


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

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


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

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