Удаление ASR процесса и соответствующего ему потока операций

Удаление ASR процесса и соответствующего ему потока операций.

Пояснение к вопросу

Допустим, вы недавно выполнили запуск нового ASR процесса в продуктивной системе. Старт прошел успешно, как самого процесса, так и его потока операций. Но вот внезапно раздается звонок от бизнес-пользователя, который утверждает, что в потоке операций определен не тот обработчик, "который нужен", и этот самый обработчик не должен увидеть содержимое процесса, который был сформирован. В общем и целом, ситуация попадает под описание "паника-паника!"

Решений в такой ситуации может быть не так много. Одно из них - это удаление запущенного ASR процесса и соответствующего ему потока операций. Это наверняка решит проблему бизнес-пользователя, в то время как вы будете разбираться, что же послужило причиной нахождения "не того" обработчика задачи потока операций. Ниже немного текста про то, как корректно выполнить удаление ASR процесса и его потока операций.

Решение вопроса

В системе SAP есть транзакция, посредством которой можно выполнить удаление процесса и соответствующего ему потока операций. Наименование этой транзакции - HRASRPROCESS_UTILITY.

См. заметку Как просмотреть содержимое заявки, сформированной с использованием SAP Processes and Forms?

Запустите транзакцию HRASRPROCESS_UTILITY, на селекционном экране определите параметры для поиска процесса, который необходимо удалить.

Рисунок 1.

Запустите отчет, нажатием на кнопку . Выделите процесс для удаления и нажмите на кнопку 

Рисунок 2.

Подтвердите удаление, выбрав "Yes" в всплывающем окне

Рисунок 3.

Процесс, и соответствующий ему поток операций, будут успешно удалены.

Рисунок 4.

PS

Отдельно хочу обратить ваше внимание на место в коде, в котором выполняется удаление потока операций, по соответствующему GUID ASR процесса. Например, у вас есть запущенный процесс и соответствующий ему поток операций

Рисунок 5.

На следующем видеофрагменте я выполню удаление процесса, используя режим отладки, чтобы обратить ваше внимание на место в коде, в котором производится это самое удаление.

Где это может пригодиться? Например, при создании пользовательских программ, в которых, в зависимости от условий, нужно выполнить поиск ASR процесса и его потока операций для последующих манипуляций с ними же (удаление, отмена etc.) Не более того. Спасибо за внимание.

Read more