"определять необходимость завершения своим кодом..." - для примера можно взять метод APPROVE здесь (
http://help.sap.com/saphelp_erp60_sp/he ... ontent.htm )
Кроме того, наверняка этот метод есть у вас в системе - это часть стандартного примера.
В этом методе есть вызов ФМ SWX_FORMABS_APPROVE, в котором пользователю предлагается утвердить\отклонить заявку на отсутствие. Кроме утвердить\отклонить пользователь еще может отказаться от ввода - в таком случае ЭПО останется у него. Технически в этом случае ФМ вернет исключение ABORTED. Далее в коде метода идет обработка исключений и видно, что в случае ABORTED будет вызван макрос EXIT_CANCELLED. Вот это и оставит ЭПО в инбоксе у пользователя (со статусом В работе).
"у вас реально сложные требования.." - напишу отдельно