пакетники в workflow - это та еще песня
)
обычный пакетник (call transaction .. using) в фоновом режиме не сработает -
WF-BATCH как пользователь обычно не диалоговый, да и для таких пакетников требуется контекст рабочей станции.
можно в таких случая создавать сеансы пакетного ввода (SM35) и выполнять их:
1) создать сеанс - ФМ BDC_OPEN_GROUP, BDC_INSERT, BDC_CLOSE_GROUP
2) блокировать (если надо) - ФМ ENQUEUE_BDC_QID
3) создать задачу для сеанса - ФМ JOB_OPEN (jobgroup = 'BATCH-INPUT')
4) выполнить задачу -
submit rsbdcbtc_new
user user
via job jobname number jobcount
with queue_id = qid
with mappe = jobname
with modus = 'N'
with logall = 'A'
and return.
5) закрыть задачу - ФМ JOB_CLOSE
6) снять блокировку - ФМ DEQUEUE_BDC_QID
такая схема работала в 4.6С,
в 4.7 не проверял, но не нахожу rsbdcbtc_new (есть просто rsbdcbtc)
все это выполняется асинхронно по отношению к потоку (шаг потока не ждет, пока завершится пакетник).
если надо ждать (анализировать ошибки в пакетнике, выставлять поток в ERROR, ждать перезапуска через SWPR), то для этого тоже есть решения
можно это все оформить в виде подпотока, который выполняет любой пакетник