Политика Siebel выполняется дважды, когда она должна выполняться только один раз - PullRequest
1 голос
/ 27 февраля 2011

Моя проблема заключается в том, что политика выполняется дважды, а не один раз.

Политика запускается, когда поле возможности [состояние] изменяется на «закрыто».Политика выполняет рабочий процесс, но когда я изменяю это поле, политика запускается дважды, выполняя рабочий процесс два раза (что создает действие для этой возможности) с интервалом задержки 2-15 секунд.

Я искал вПосмотрите, работает ли другая политика в этом поле, и я подтвердил, что политика выполняется дважды (точно такая же политика).Я попытался сделать запрос и точку принятия решения в рабочем процессе, чтобы «проверить», если создано одно действие, и оно работает, но только если политика выполняется с задержкой> 9 секунд.Если он работает меньше, рабочий процесс запускается дважды.

Как я могу решить эту проблему?

Ответы [ 2 ]

1 голос
/ 11 марта 2011

Политики рабочего процесса используются для управления триггерами базы данных.Триггер создает запись в таблице s_escl_req, поэтому посмотрим, что здесь происходит.Затем:

  • Убедитесь, что у вас есть только один агент монитора рабочего процесса
  • Запустить Сгенерировать триггеры и повторите попытку.

Если вы хотите отладить более подробнопросмотрите файл SIEBEL_ROOT \ siebsrvr \ trigger.sql, чтобы убедиться, что ваша таблица и поле появляются дважды.Если это так, возможно, вы захотите прекратить действие некоторых политик.

PS: правильный способ решить эту проблему - поиск на metalink ...

0 голосов
/ 10 мая 2011

Вот что я бы сделал:

  1. Проверьте триггеры базы данных в таблице Opportunity (я думаю, S_OPTY) с помощью утилиты базы данных и посмотрите, есть ли там два триггера случайно; Идентификатор строки в Политике рабочего процесса должен быть там. Если это так, сбросьте и восстановите триггеры, как указано в предыдущем ответе.

  2. Если нет, посмотрите, что происходит как в S_ESCL_REQ (где отправляются немедленные триггеры), так и в S_ESCL_STATE (где отправляются отложенные триггеры), и ищите записи, где BT_ROW_ID соответствует ROW_ID записи S_OPTY. Это поможет с дальнейшим расследованием. Отправить обратно!

...