Workflow. Отладка фоновых задач. Транзакция SWW_BREAKPOINT
Workflow. Отладка фоновых задач. Транзакция SWW_BREAKPOINT
Вступление
Уважаемые консультанты, разработчики, и все все все, кто так или иначе был замешан в отладке фоновых задач потоков операций. Попытайтесь, пожалуйста, вспомнить, сколько предварительных операций вам требовалось проделать, чтобы проследить ход выполнения небольшого кусочка кода фоновой задачи вашего потока операций?
См. заметку Workflow. Отладка фоновых задач
См. заметку Workflow. Отладка фоновых задач. Вредный совет
Вспомнили? Предлагаю теперь это забыть. Уточню, что забыть нужно про эти самые предварительные операции.
Что произошло?
SAP оказывается любит нас всех добавил-таки функцию отладки фоновых задач потоков операций, что называется, "для людей". Это замечательное мероприятие было засвидетельствовано в соответствующем документе, имя которого
См. SAP Note 2197117 - Debugging of background work items
См. pdf-версию SAP Note 2197117 - Debugging of background work items
Теперь не нужно заниматься развратом, а достаточно запустить транзакцию SWW_BREAKPOINT, выполнив ряд условностей. О них пара слов ниже.
Пример 1.
Рассмотрим пример запуска отладки фоновой задачи потока операций под управлением класса
См. заметку Workflow. Использование функциональных методов в потоках операций
На следующем видеофрагменте представлена последовательность действий по созданию потока операций для демонстрации
Запускаем отладку
Установите внешнюю точку прерываний в том месте метода класса, где требуется начать отладку
Запустите транзакцию SWW_BREAKPOINT. На селекционном экране укажите идентификатор потока операций и класс (наименование метода в поле EVENT указывать не обязательно). Нажмите на кнопку
N.B. Обратите свое внимание внимание на то, что если для вашего потока определено инициирующее событие класса/бизнес-объекта, в транзакции SWW_BREAKPOINT необходимо указать наименование события класса/бизнес-объекта, ну и установить внешние точки прерывания в нужных методах.
Запускаем поток
Идеально
Пример 2.
В качестве другого примера, предлагаю рассмотреть запуск отладки для задачи, управляемой методом бизнес-объекта
В качестве тестируемого потока операций предлагаю использовать следующий
По аналогии с уже рассмотренным примером, ставим внешнюю точку в методе бизнес-объекта
Указываем соответствующие параметры в транзакции SWW_BREAKPOINT (наименование метода в поле EVENT указывать не обязательно)
Запускаем поток
Это было достойно.